+ All Categories
Home > Documents > [IEEE 2010 International Conference on Educational and Information Technology (ICEIT) - Chongqing,...

[IEEE 2010 International Conference on Educational and Information Technology (ICEIT) - Chongqing,...

Date post: 05-Jan-2017
Category:
Upload: vudan
View: 214 times
Download: 1 times
Share this document with a friend
5
2010 International Coerence on Educational and Information Technolo T 2010) Realization of EAI based on Service-oriented Architecture Jun Gui Institute of Computer and Communication Engineering Jiangsu University ZhenJiang, JiangSu, China, 212013 [email protected] Abstract-Aſter the analysis of the necessity of enterprise application integration(EAI) and the deficiency of traditional EAI solution, a enterprise application integration method based on SOA is proposed, with its advantages of loosely coupled, crossing-platform, high reusability and flexibility, the implement technology of SOA is introduced, the comparison between SCA and Web Service in service-oriented integration is presented. In addition, in accordance with some technical specifications about SOA, such as SCA(Service Component Architecture), SDO(Service Data Object) and BPEL(Business Process Execution Language), A Integration model is proposed based on SCA, the order processing module of logistics information system as an example is included to illustrate how to realize application integration in practice. Keywords- SOA; EAI; SeA; order processing module; I. INTRODUCTION Enterise Application Integration (EAI) is meant to integrate application soſtware together which are distributed in various departments and developed by different business needs, so as to form a system of data sharing, business process uni and collaboration work. also can integrate any heterogeneous system, application and data source to meet the need of data sharing and exchange between any systems such as ERP, E-Commerce, ERP, CRM, SCM, database and data warehouses. Traditional EAr mainly includes data integration, application interface integration, business logic integration etc. but there exists some disadvantages, such as low-lying data security and logic securi, lacking of flexibility and scalabili, blocking adjustment and optimization of business process etc [1]. To solve these problems, it requires a nction-oriented enterprise application integration scheme to achieve loose coupled among various systems to facilitate restructuring and optimization of system process. Service-oriented architecture (SOA) is the most advanced architecture in the area of enterprise application integration. SOA emphasizes flexibility, reuse and loose coupled, focusing on interface and its standard description. As these advantages, it is appropriate for SOA to solve these problems above. II. KEY TECHNOLOGIES A. SOA and its implement technologies SOA is a component model. It connects the different nctional units (called service) of application through well- defined interfaces and contracts. The interface is defined by a neual manner and it should be independent om service Hebiao Yang Institute of Computer and Communication Engineering Jiangsu University ZhenJiang, JiangSu, China, 212013 [email protected] implement hardware platform, operation system and program language. Thus, service constructed in a variety of systems could interact in a uniform and common way. This new SOA model is based on the idea that business nctionality is separated and published as services. Aſterwards, they are used to be composed into a process. Web service is a popular way of realizing service oriented architecture, focusing on the integration and enabling machine-to-machine communication. It provides a means for wrapping existing applications so developer can access them through standard languages and protocols. In general, web service uses XML for data description; Http for message transfer; Simple Object Access Protocol(SOAP) for message exchange; web service description language(WSDL) for service description; and universal description discovery, and integration(UDDI) protocol for discovering and publishing web services[2]. As the characteristics of loose- couple, cross-platform, open-standard of Web service. It is widely applied to enterprise application integration, in the Web service-based integration, all business nctions are presented in the form of services, these services are uniformly managed and invoked by exteal application, Exteal application can assemble these services to accomplish new business requirement and achieve the purpose of application integration. SCA(Service Component Architecture) provides a programming model for building applications and systems based on SOA. It is based on the idea that business nctions are composed of a series of services, which can be assembled together to create for a specific application. As implementation of assembling service component and invoking method of the service component can use various technologies, so it is easy to achieve the system integration[3]. SCA also as typical implementation based on SOA architecture breaks through the Web service-based integration. some new features mainly behave in following aspects: SCA defines the construction of single service, meanwhile proposes service assembly model, which allows multiple services to be assembled into a greater granularity service. SCA separates binding and implementation, it can support a varie of binding such as JMS and web service to make communication between service components no longer limited to the WSDL and SOAP. SCA provides security, services and reliable message transmission, the securi and stabili of 978-1-4244-8035-7110/$26.00 © 2010 IEEE V2-424
Transcript

2010 International Coriference on Educational and Information Technology (lCElT 2010)

Realization of EAI based on Service-oriented Architecture

Jun Gui

Institute of Computer and Communication Engineering Jiangsu University

ZhenJiang, JiangSu, China, 212013 [email protected]

Abstract-After the analysis of the necessity of enterprise application integration(EAI) and the deficiency of traditional EAI solution, a enterprise application integration method based on SOA is proposed, with its advantages of loosely coupled, crossing-platform, high reusability and flexibility, the implement technology of SOA is introduced, the comparison between SCA and Web Service in service-oriented integration is presented. In addition, in accordance with some technical specifications about SOA, such as SCA(Service Component Architecture), SDO(Service Data Object) and BPEL(Business Process Execution Language), A Integration model is proposed based on SCA, the order processing module of logistics information system as an example is included to illustrate how to realize application integration in practice.

Keywords- SOA; EAI; SeA; order processing module;

I. INTRODUCTION

Enterprise Application Integration (EAI) is meant to integrate application software together which are distributed in various departments and developed by different business needs, so as to form a system of data sharing, business process unity and collaboration work. It also can integrate any heterogeneous system, application and data source to meet the need of data sharing and exchange between any systems such as ERP, E-Commerce, ERP, CRM, SCM, database and data warehouses. Traditional EAr mainly includes data integration, application interface integration, business logic integration etc. but there exists some disadvantages, such as low-lying data security and logic security, lacking of flexibility and scalability, blocking adjustment and optimization of business process etc [1]. To solve these problems, it requires a function-oriented enterprise application integration scheme to achieve loose coupled among various systems to facilitate restructuring and optimization of system process. Service-oriented architecture (SOA) is the most advanced architecture in the area of enterprise application integration. SOA emphasizes flexibility, reuse and loose coupled, focusing on interface and its standard description. As these advantages, it is appropriate for SOA to solve these problems above.

II. KEY TECHNOLOGIES

A. SOA and its implement technologies

SOA is a component model. It connects the different functional units (called service) of application through well­defined interfaces and contracts. The interface is defined by a neutral manner and it should be independent from service

Hebiao Yang

Institute of Computer and Communication Engineering Jiangsu University

ZhenJiang, JiangSu, China, 212013 [email protected]

implement hardware platform, operation system and program language. Thus, service constructed in a variety of systems could interact in a uniform and common way. This new SOA model is based on the idea that business functionality is separated and published as services. Afterwards, they are used to be composed into a process.

Web service is a popular way of realizing service oriented architecture, focusing on the integration and enabling machine-to-machine communication. It provides a means for wrapping existing applications so developer can access them through standard languages and protocols. In general, web service uses XML for data description; Http for message transfer; Simple Object Access Protocol(SOAP) for message exchange; web service description language(WSDL) for service description; and universal description discovery, and integration(UDDI) protocol for discovering and publishing web services[2]. As the characteristics of loose­couple, cross-platform, open-standard of Web service. It is widely applied to enterprise application integration, in the Web service-based integration, all business functions are presented in the form of services, these services are uniformly managed and invoked by external application, External application can assemble these services to accomplish new business requirement and achieve the purpose of application integration.

SCA(Service Component Architecture) provides a programming model for building applications and systems based on SOA. It is based on the idea that business functions are composed of a series of services, which can be assembled together to create for a specific application. As implementation of assembling service component and invoking method of the service component can use various technologies, so it is easy to achieve the system integration[3]. SCA also as typical implementation based on SOA architecture breaks through the Web service-based integration. some new features mainly behave in following aspects:

• SCA defines the construction of single service, meanwhile proposes service assembly model, which allows multiple services to be assembled into a greater granularity service.

• SCA separates binding and implementation, it can support a variety of binding such as JMS and web service to make communication between service components no longer limited to the WSDL and SOAP.

• SCA provides security, services and reliable message transmission, the security and stability of

978-1-4244-8035-7110/$26.00 © 2010 IEEE V2-424

2010 International Coriference on Educational and Information Technology (ICEIT 2010)

transmission of messages between service components is guaranteed.

This implementation approach shows promise as a new way to realize application systems with better interoperability and flexibility while minimizing development and maintenance costs.

B. SCA reference architecture

According to the existing technology, a reference architecture based on SCA is proposed in Figure 1 which consists of seven layers, the detailed description of every layer is as follow[4].

Vl I'rcscntalion " Enterprise: I'onal :1 D o· J� " () Vl 0

Sen icc orchl"Slrnlion g' " ;;; "

WS-I1PEL " <::

3 -a 9' !1 �. " 3: • Vl .,

Se!'\iccComposilc !1 " ., seA < CIO

o· " " 3 0:> "

a; � "-." Ro '> en 3: 2 SeniccComponcn Vl � Spring 0:> 0

" 1 ::!.

" 1 0 'E ::l. " � " S�Slcm Resource

� Vl

Unif) Data Model

SDO

Figure I. A reference architecture based on SCA

• System Resources Layer: this layer is some application resources already existed in the system, mainly including ERP, CRM and Database information etc.

• Service Component Layer: this layer is composed of these components which are responsible for realizing the function and ensuring QOS of components. Service component provides encapsulation for individual atomic service, to support a verity of implementation techniques such as Java, Spring, BPEL, EJB etc. These Service Components can be highly reused, which can be building in existing application or newly developed components.

• Service Composite Layer: this layer includes various Service Composites which have been constructed by the different functional components. Using SCA, These Service Composites are mostly coarse grain services composed by a single or multiple fine-grain service components.

• Service Orchestration Layer: this layer is intend to provide business process constructed by a variety of packaged service, using WS-BPEL specification, some isolated services based on process logic are integrated, eventually the result of the execution of business processes will be back to Enterprise Portal.

• Presentation: this Layer provides interface service to user, it is achieved by a variety of portal technology.

• ESB Layer: this layer provides integrating environment for services, ESB provides service register, service route and protocol conversion etc.

• Infrastructure Layer: this layer provides some supportive functions to entire SOA, such as QOS, security management etc.

III. AN APPLICATION EXAMPLE

A. System structure and principle

The example is logistics information system, it includes related subsystems: sales system, procurement system, payment system, Inventory system etc. while it also interacts with third-party logistics distribution system, as there are many differences in the architecture and implementation way of these subsystems.So the exchange of information between the enterprise logistics systems becomes very difficult. To solve these problems, according to the advantages of the service-oriented architecture and the key technology about realization, the logistics information system integrate model based on SCA is designed and shown in Figure 2. The whole architecture is divided into seven parts.

Client

co

I

User Interact

Service

BPEL Process Service

Figure 2. The integration model based on SCA

Information

Service

Heterogeneous

Data sources

RDBMS, XML

t SDO

User Interact Service provide user with user interface service, which pack service and all performance logic of accessing system client. The Struts and Ajax frameworks has been adopted to design and implement based on MVC architecture, MVC framework separates the dynamic Web application user interface components and business logic, the coupled is greatly reduced. Business application service mainly realizes specific business logic functions, business functions are packaged as coarse-grain service composite(service module, such as inventory, sales), service composite are composed of some fine-grain service components, meanwhile, it achieves and packages specific business logic for the upper to call by calling a number of basic services modules(Calendar, Notice, Purview). Information services include a variety of heterogeneous data sources, such as RDBMS, XML, etc. SDO specification is adopted to access and manipulate uniformly heterogeneous data sources through a variety of DAS (Data Access Service). Legacy system services such as ERP, CRM are packed in the form of Web Services, provide a standard interface for exterior using WSDL, exported as SCA service components for the other service modules to call through the service

V2-425

2010 International Coriference on Educational and 1riformation Technology (ICEIT 2010)

binding feature. Process services define circulation process, at the same time, orchestrate and locate services, which calls several components and can be called by other services, a process was defined and described in the form of SCA service components by WS-BPEL specifications, the BPEL engine is responsible for executing the corresponding process instance in accordance with the above process definition file, a complete process also includes management. Enterprise Service Bus ESB supports hot plug and play of a variety of services (MQ, JMS, Web Service, SCA) on the message bus, to achieve message routing, data format conversion between service providers and service consumers.

IV. REALIZATION OF ORDER PROCESS MODULE

A. Services construction and assembly based on seA

Firstly, it is necessary for us to service modeling, according to SOMA(Service-oriented modeling and architecture) methodology. We should make service discovery, service protocols and service implementation in tum, which are carried out in three stages to fulfill service­oriented analysis and design. Through Service modeling, a series of service modules (Composite) are identified. A composite is an assembly of heterogeneous components, which implement particular business functionality. These components offer their functionalities through service­oriented interfaces and may require functions offered by other components, also through service-oriented interface. Order processing module as the core of logistics information system is exampled to illustrate as follow. Figure 3 shows an example of service assembly based on SCA.

Figure 3. Service assembly based on seA

In this example, the order processing service is offered for use by customers, most likely as a Web Service availability over a general protocol such as SOAP over HTTP. This may have a set of operations such as "createOrder", "checkAvailability", "getOrderStatus" and so on. The Order Processing service is implemented by the OrderProcessing Component. In tum, the OrderProcessing component makes use of services provided by other components, represented by the EventLog component,

payment Composite and the ShipmentComposite. The name of those components already indicate how they are implemented-EventLog is a simple implementation, for example a Java class, while PaymentComposite and ShipmentComposite are each a composite set of components which work together to provide the service used by the OrderProcessing component. The OrderProcessing component may, for example, connect to the PaymentService using EJB binding, if the PaymentComposite is implemented as a Java EE application using EJBs. Meanwhile the OrderProcessing component might connect to the ShipmentService using a JMS binding. The two components included by ShipmentComposite or PaymentComposite can communicate by the Wire between them [5] [6].

B. Service Integration based on ESB

ESB, as Information exchange intermediary between the original legacy system and the SCA service module provides message routing, security, transaction, message format conversion services, supports BPEL process management, all services are added to the service bus in the form of SCA module. Through importing the SCA module, meanwhile quoting artificial Services, rules services, state machine services etc to execute process choreographer. Let me give an example to illustration the implementation of ESB. This system provides two services which inquire basic information of customer. One inquires information in CRM, another in ERP. When inquire, we except to automatically route to the appropriate customer information service according to difference of input parameters of the requested customer information. First we create service bus in the form of mediation component. And then ERP&CRM system packed by the web service adapter are added to service bus. Thirdly, we create two outbound services such as CRMComponentimport and MoreChanceComponentimport which import external service through web service binding. Finally, the inbound service CustomerInfoESBExport should be created to receive external request. Figure 4 shows the service integration based on ESB, When the Mediation 1 component

.(i) ;! Moreclwoc�t ) Figure 4. Service integration based on ESB

receives message, it will do some format conversion, then dynamically transmits to different outbound services according to message content, finally calls external service providers through outbound service [7].

C. Metadata based on SDO specification

Generally, we use XSO file as modeling language in SDO specification which is actually a XML Schema. In the WPS, SOO instance is displayed in the form of BO (Business Object). In the Logistics Information System, many business objects, such as OrderInfo, PaymentInfo and CustomerInfo etc, should be created. Figure 5 shows the XSD model [8]. While payment information and customer

V2-426

2010 International Coriference on Educational and Information Technology (ICEIT 2010)

information are two complex types, but also correspond to

[EJ Order

@] OrderId [0 . . 1] string:

@] OrderStatus [0 . . 1] string

@] PaymentInfo [0. .1] Payment

I @l ProdoctName [0. .1] string

� CustomerInfo [0. .1] Customer �

the appropriate child elements.

[EJ Payment

@] IsCredi tCard [0 . . 1] boolean

@l AccountName [0 . . 1] string

lEI Customer

@] ID [0 . . 1] string

@l name [0 . . 1] string

Figure 5. Business data model

After the definition of order model, Order.xsd can be loaded into runtime through XSDHeIper service, and then create a factory instance, and then create the SDO instance, it can read or set the property of the instance by an individual get / set method. As an instance of order creation, a method is defined as follows:

Public static DataObject createDataObject 0 throws IOException{

XSDHelper.I\ST ANCE.define( ClassLoader.getSystemResourceAsStream("order.xsd"),null);

DataF actory factory�DataF actory.INST A\CE;

DataObject Orderlnstance�factory.create(''http://exampleOrder'',''Order");

Orderlnstance.getString("orderiProductName");

DataObject Customer � OrderInstance.createDataObject("Customer");

Customer.setString("name","LiLei");

return Orderlnstance;

D. Business process based on WS�BPEL

Business process includes end-to-end process and manual process which are often cross-system. In SOA environment with a group of services which represent various components of business process, BPEL specification provide a way to integrate these services into a complete business process, Which can provide business service through establishment of fine grain services of heterogeneous systems. The BPEL framework includes BPEL process modeling, process execution engine and process management etc, firstly, we should classifY and model for business process, then develop and manage process, edit BPEL process definition file, finally deployed it to the BEPL execution engine. Figure 6 shows a simplified snippet of BPEL codes in which some parameters have been omitted [9].

sales process of order process service is used as an example, sales management is responsible for order management of product and tracking of sales information. Meanwhile it interacts directly with inventory, product and payment and shipment subsystem. The definition of BPEL process should follow this step: firstly we should create partnerLinks, then declare variables and finally define process logic. BPEL processes provide and consume other services through partnerLinks. In this case, it is for the operation "placeOrder" on the orderProcessing partnerLink. Operations are described in terms of invocations of operations on various partnerLinks (principally the payment and shipment partnerLinks in this example), including responses received from those

links. The sequence here ends with a <reply .. .!> which sends a message back to the client.

<process name=!lOrderProcess"> <sequence>

<receive partnerLink=!lorderProcessing" portType="lns:orderProcessingPT" operation�"placeOrder" variable�"Order" createlnstance�"yes"!>

<flow> <links>

<link name="ship-to-invoice" /> <mnks> <sequence>

<assign> <copy>

<from>$Order.customerlnfo</from> <to>SshippingRequest.customerlnfo</to>

</copy> </assign> <invoke partnerLink�"shipment" portType�"lns:shipmentPT"

operation�"checklnventory" inputVariable�"Order" outputVariable�"availability"> <sources>

<source linkName�"ship·to·invoice" I> </sources>

</invoke> <Isequence> <sequence>

<invoke partnerLink�"payment" portType�"lns:paymentPT" operation�"orderPayment" inputVariable�"Order"> <targets>

<target link\ame�"ship·to·invoice" I> </targets>

<Iinvoke> <invoke partnerLink�"shipment" portType�"lns:shipmentPT"

operation�"shipOrder" inputVariable�"Order" outputVariable�"shippinglnfo"!> <receive partnerLink�"payment" portType�"lns:paymentCallbackPT"

operation="sendlnvoice" variable=IIInvoice" I> </sequence>

<Iflow> <reply partnerLink�"orderProcessing" portType�"lns:orderProcessingPT"

operation=lIplaceOrderli variable=IIInvoice"l> </sequence>

<Iprocess>

Figure 6. BPEL snippet

E. Combine SCA with BPEL in an Application

SeA shows the structure of a composite services application. BPEL processes determine the flow sequences for individual operations. It is clear from this that SeA and BPEL are complementary and can fit together very well in business solutions. BPEL can be used in two different ways in SeA; the composite level and component level. BPEL is incorporated into SeA as the implementation a component using the syntax implementation.bpel. Meanwhile, variables

V2-427

2010 International Coriference on Educational and Information Technology (ICEIT 2010)

in BPEL define process variable which is regarded as BO, the flowing data is in the form of BO in overall business scenarios, by passing BO, the SCA components can then exchange data with each other in a netural fashion.

To return to the OrderProcessing service described in the previous section, it is clear that a BPEL process implementation of the OrderProcessing component is likely to work very well, The Order Processing component is implementing operations by the controlled execution of sequences of operations provided by other components in the overall solution. Figure 7 shows a SCDL snippet shows BPEL was used to implement the OrderProcessing component of the composite application shown in the Figure3. In this case, the OrderProcessing component has an implementation which is a BPEL process with the name OrderProcess[ 10).

<component name="OrderProcessing">

<implementation.bpel process="exm:OrderProcess">

<service name="OrderProcessing"/>

<interface. wsdl interface=''http://example.com/customer#

wsdl.interface(OrderProcessing)"/>

<binding.ws uri=''http://localhost:8084/0rderProcessing " >

</service>

<reference name="Payment" target="PaymentComponent"/>

<reference name="Shipment" target="ShipmentComponent"/>

<reference name="EventLog" target="EventLogComponent"/>

</component>

Figure 7. SCDL snippet

ACKNOWLEDGMENT

This paper discusses the advantages of EAI based on SOA, illustrates the implement technology of SOA -SCA and Web service, SCA achieves loose coupled between service components and transmission protocol, according to

the superiority of SCA, we give a hierarchical structure model based on SCA, take the order processing module of logistics information system as an example to illustrate the role of SCA, SDO, ESB, BPEL in service assembly, service data, service integration, service orchestration etc. The Integration scheme of SCA, SDO, BPEL will have a significant effect on application integration.

REFERENCES

[1] Wu Deng, Xinhua Yang, Huimin Zhao. "Study on EAI Based on Web Service and SOA",ISECS 2008,p 95-98

[2] Kyeongrim Ahn*, Sangpil Park*, HeeSoo Kim*' "The Design of SOA-Based Business Collaboration System", NCM 2008, v 2, p 707-712

[3] OSOA, Service Component Architecture available At http://osoa. orgidisplayiMain/Service+Component+Architecture+Hom e 2007

[4] JianZhong Lan, Yi liu, Yueting Chai. "A Solution Model for Service Oriented Architecture",WCICA, p4l78-4l83,2008

[5] MikeEdwards. Relationship between SCA and BPEL http://www.osoa.orgidisplay/MainlRelationship+between+SCA +and+ BPEL 2007

[6] Anish Karmarkar, Mike Edwards. "Assembly of Business Systems Using Service Component Architecture",ICSOC 2006,LNCS 4294,pp.529-539

[7] Wang Hui, Feng Peipei. "Research of Strategic Route In Heterogeneous System Integration Based On ESB-SOA",ClSE 2009

[8] [8]Jose L.Ruiz*, Juan C. Duenas*", Felix Cuadrado**' "A Service Component Deployment Architecture for e-Banking", IEEE SOCNE 2008, P 1369-1374

[9] XiaoLiang Meng, FuLing Bian, Yichun Xie. "Research and Realization of Geospatial Information Service Orchestration Based on BPEL", ESIA T 2009, v 2, p 642-645

(10] Djamel Belaid, Hamid Mukhtar, Alain Qzanne "Dynamic Component Selection for SCA Application", IFIP AICT 305, pp.272-

286, 2009

V2-428


Recommended