7.3. Component Architecture Design


The solution model contains of one state machine, seven BPEL processes, 13 Human tasks , two EJB applications to access the databases of the legacy IT systems, one Web Service import component to access the business intelligence system SAP|BusinessObjects and a RMI Java stub component to integrate with the underground Enterprise Content Management System of “Optimal Systems” (OS|ECM), this ECM system is responsible for CRM , invoicing process and Document Management of the enterprise, when it receives an asynchronous message from the our SOA process engine, it will start its own workflow in the ECM system to complete the invoicing task. That means in this SOA solution there is two main processes in two different systems interact with each other through SOAP, JMS and RMI. The SOA process in WebSphere Process Server will call the sub-process of “Optimal Systems” whenever it needs to issue an invoice. One thing should be considered here is that the prisSOA process in WebSphere Process Server contains seven other BPEL sub-processes within the WebSphere Process Server environment, one of these BPEL processes named “AccountingProcess_OS” will be responsible to interact with the workflow in “Optimal Systems”.


In Figure 7.3.1 below we can see, the Assembly Diagram of Websphere Integration Developer gives a high-level view of our business scenario; this is the main working place of the Service Component Architecture (SCA) in WebSphere Process Server. The SCA Assembly Model consists of a series of artifacts, which are defined by elements contained in XML files. The whole Assembly Diagram above describes a composite or composition of components and other compositions.


Figure 7.3.1. Service Component Architecture design solution for implementation of “Project Management”

business process scenario


The main composite or the integration module is the unit of deployment for SCA which holds services that can be accessed remotely through a WSDL interface of its main component “ProjectManagementMachine” . In turn, the composite uses other Services of external or embedded IT systems by its components. In SCA Assembly Model of Websphere Integration Developer we can use different types of components: BPEL component, Business Rule component, Human Task component, State Machine component and Java component. Through its import and export functionalities, Websphere Integration Developer composites can create further components for example to consume Web Services from other remote systems or acts as a Service provider to offer its services to the outside world. In this case it is the component “ProjectManagementMachineExport” to offer all services of the main component “ProjectManagementMachine” to other systems or users.


Figure 7.3.2 Component “ProjectManagementMachineExport” to offer all services of the main component “ProjectManagementMachine” to other systems



The assembly diagram indicates that our application consists of the following components:


Not only listing main components for the business scenario solution, this diagram also gives an overview of the interaction between these components. Interaction between components is defined by wire between a partner reference and an interface. The interfaces are specified with WSDL files, although it is also possible to use plain old Java interfaces. The end-result is that the whole application simply looks like a bunch of web-services that interact with each other in some (as yet undefined) way.




………..


………..


………..


………..


………..

………..

………..


………..




………..

………..




………..

………..



………..


………..