This chapter describes how to use SOA Composites to design a BPMN process and integrate it with other SOA components. SOA Composites show the dependencies between a BPMN process and the other components of your BPM project.
This chapter includes the following sections:
SOA Composites group interrelated components, enabling the integration of different technologies into a single application. The composite provides a single deployment and management model, end-to-end data security, and unified metadata management to the components it contains.
BPM projects use the SOA technology. They are a SOA composite project that also includes BPMN component types and the configuration related to BPMN components such as calendars and organizational units. They use this composite to store information that describes the relationship between the different components in your BPM project and the services they expose.
BPMN processes are a component in the SOA Composite. You can view how a BPMN process relates to the rest of the components in the SOA Composite, using the SOA Composite editor.
The SOA Composite of a BPM project shows the following:
The available SOA components to use in your BPM project
The BPMN and BPEL processes in your BPM project
The relationship between the SOA components and the processes
If the SOA Composite contains components or external references that expose services, then these appear in the business catalog. See Using the Business Catalog, for more information about the business catalog.
When you add a component to the SOA Composite, it automatically appears in the business catalog so that you can use it in your BPM project.
Reusable processes do not appear in the SOA Composite. When you modify a business process and transform it into a reusable process, it disappears from the SOA Composite. For more information about reusable subprocesses, see Introduction to Invoking a Process Using Call Activities.
The SOA Composite is the unit that you use to deploy your BPM project. The components and dependencies that appear in the SOA Composite specify how to deploy a project. If you remove a process or a wire from the SOA Composite, then even if they still appear in the BPM Project they are ignored when you deploy the project.
When you run a BPM project the SOA engine creates a SOA composite instance. The SOA composite instance contains instances of the SOA components. However the references components are not created automatically. The instances linked to services are created when the service is invoked and consequently a composite is created. In the case of a human task with a wire to a BPMN process, the BPMN process instance is created when the BPMN process is triggered.
All the SOA components and external references that are exposed as services in the SOA Composite appear in the business catalog in your Business Project.
If you created your BPM project based on an existing SOA project, then all the components and external references exposed as services in your SOA project automatically appear in the business catalog.
If there are activities in your BPMN process that use a component in their implementation, then the SOA Composite shows a wire between the BPMN process and the component.
Wires represent a relationship between a service and a reference. When you save a BPMN process Oracle BPM Studio automatically updates the wires between the BPMN process and the components it uses. Services represent the interface a component exposes. References represent the service interfaces a component requires.
Some of the activities in your BPMN process require you to assign them an SOA component to implement them. For most of these components you can choose to add them from the Oracle BPM Studio user interface, or you can use the SOA Composite editor. From the SOA Composite editor you can add the following SOA components to your BPM Project:
Mediators and BPEL Processes are only available from the SOA Composite editor.
If the SOA component that you added to the SOA Composite exposes itself as a service, then the Component appears in the business catalog. You can use any of the components in the business catalog to implement the activities in your BPMN Process. For more information about how to implement BPMN activities, see the chapters in the following parts:
Figure 15-1 BPMN process in an SOA Composite
When you add a BPMN process it is automatically added to the SOA Composite. The BPM process appears as a component in the SOA Composite.
If the BPMN process contains a start event of type message, then the interface of the process appears as an exposed service.
The SOA Composite shows how your process depends on the different components your BPM Project uses. If an activity in your project uses a service exposed by an SOA component for its implementation, then the SOA component shows a line between the exposed service and the BPMN process. This line represents the wire that links the BPMN Process and the exposed service.
The status of the components in the SOA composite determine the status of the SOA composite. If an exception occurs in a BPMN process, then the status of the SOA composite is marked as faulted. Even is the BPMN process handles the exception and finishes running successfully, the status of the SOA composite is marked as faulted.
BPM projects are layered on top of a SOA project. The SOA project contains a SOA Composite. You must use the SOA Composite editor to add SOA components to your BPM project.
The SOA components you add to the SOA Composite automatically appear in the business catalog of your BPM project.
You can open the SOA Composite contained in your BPM project to add new SOA components or edit the existing ones.
To open the SOA Composite in a BPM project:
The composite file name matches the name of your project.
The SOA Composite editor opens.
BPM projects use the SOA technology, therefore they contain a SOA Composite. You can use the SOA Composite editor to view the dependencies of your BPM processes with other components in your BPM project.
You can also add new components to your BPM project.
You can open a BPMN process from the SOA Composite without having to switch to the Applications window.
To open a BPMN process from SOA Composite in a BPM Project:
The BPMN process editor appears. Any changes you make to a process appear on the SOA Composite.
You can add new BPMN processes directly from the SOA Composite editor
You do not have to switch to the Applications window.
If you identify the need of a BPMN process while analyzing the business application infrastructure, then you can directly add it without leaving the SOA Composite editor.
To add a BPMN process from the SOA Composite Editor:
Open the SOA Composite editor.
Select BPMN Process from the Components section in the Components window.
Drag the selected component to the Components area in the SOA Composite editor.
The BPMN 2.0 Process wizard appears.
The BPMN process appears as a component in the SOA Composite editor. The new process appears in the Processes folder in the Applications window.
To edit the BPMN process right-click it and select edit, or double click the BPMN process.
The SOA Composite editor shows the BPEL processes and the BPMN processes in your project. You can use the Composite editor to design the integration between a BPEL process and a BPMN process.
To use a BPMN process from a BPEL process you must add the BPMN process as a partner link in the BPEL process. To add the BPM process as a partner link in the BPEL process you must use the SOA Composite editor. After adding the BPMN process as a partner link, you can use the BPEL editor to link the BPMN process to the activities in the BPEL process.
To use a BPEL process from a BPMN process you must add the BPEL process to the SOA Composite. After you do this the BPEL process appears in the business catalog. You can use the BPEL processes in the business catalog to implement the activities in your BPMN process.
Figure 15-2 BPMN Process as a Partner Link in a BPEL Process
To use a BPMN process from a BPEL process you must add it as a partner link.
You can then use the BPEL editor to invoke the BPMN process from the activities in the BPEL process.
To use a BPMN process from a BPEL process, you must first add the BPMN process as a partner link in the BPEL process.
To add a BPMN process as a partner link in a BPEL process:
Orange arrows appear to the sides of the BPEL process component. The arrow on the left enables you to add a new service. The arrow on the right enables you to add a new reference.
A green link appears and all the services exposed by the components in the composite, including those exposed by BPMN processes, turn green.
If a BPMN process defines a process interface, then you can connect to that process using web services. All the BPMN processes that define a process interface appear in the SOA Composite.
For more information about defining a process interface, see Defining the Process Interface.
To connect to a BPMN process using a custom web service client you must log in to Oracle Enterprise Manager and vie the dashboard page for the composite. This page contains a link to the WSDL URL. The WSDL contains the service location information needed to connect to the BPMN process.
When you deploy a BPM project to the SOA runtime, it automatically builds your project. If the build fails then the deployment fails too.
You can build your BPM project from Oracle JDeveloper to view the errors in the build and fix them.
After you build the BPM project, the Compiler Log window displays the results.
If there are any errors, you can select the Compiler tab and click the errors to open the corresponding editor and correct them.