15 Using SOA Composites with BPM Projects

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:

15.1 Introduction to SOA Composites

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.

15.1.1 Understanding the Relationship Between SOA Composites and SOA Components

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.

15.1.2 Working with SOA Components

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:

  • Service Adapters

  • Human Tasks

  • Business Rules

  • Mediators

  • BPEL Processes

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

Description of Figure 15-1 follows
Description of "Figure 15-1 BPMN process in an SOA Composite"

15.1.3 BPMN Process in SOA Composites

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.

15.1.4 How Do BPMN Errors Affect the SOA Composite Status

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.

15.2 Opening the SOA Composite in a BPM Project

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.

15.2.1 How to Open the SOA Composite in a 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:

  1. Select the Applications window.
  2. Double-click the composite file located in the SOA directory of your project.

    The composite file name matches the name of your project.

    The SOA Composite editor opens.

15.3 Opening BPMN Processes from the SOA Composite in a BPM Project

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.

15.3.1 How to Open a BPMN Process from the SOA Composite in a BMP 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:

  1. Open the SOA Composite editor.
  2. Double-click the BPMN process you want to open.

    The BPMN process editor appears. Any changes you make to a process appear on the SOA Composite.

15.4 Adding a BPMN Process from the SOA Composite Editor

You can add new BPMN processes directly from the SOA Composite editor

You do not have to switch to the Applications window.

15.4.1 How to Add a BPMN Process from the SOA Composite Editor

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:

  1. Open the SOA Composite editor.

  2. Select BPMN Process from the Components section in the Components window.

  3. Drag the selected component to the Components area in the SOA Composite editor.

    The BPMN 2.0 Process wizard appears.

15.4.2 What Happens When You Add a BPMN Process from the SOA Composite Editor

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.

15.5 Integrating with BPEL Processes Using the SOA Composite

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

Description of Figure 15-2 follows
Description of "Figure 15-2 BPMN Process as a Partner Link in a BPEL Process"

15.6 Adding a 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.

15.6.1 How to Add a BPMN Process as a Partner Link in a 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:

  1. Open the SOA Composite editor.
  2. Place the mouse pointer over the BPEL process component.

    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.

  3. Click the right arrow and drag.

    A green link appears and all the services exposed by the components in the composite, including those exposed by BPMN processes, turn green.

  4. Drop the link on the service of the BPMN process you want to add as a partner link.

15.6.2 What Happens When You Add a BPMN Process as a Partner Link in a BPEL Process

The BPMN process appears as a partner link in the BPEL process and you can invoke the BPMN process from the BPEL process.

15.7 Connecting to a BPMN Process Using Web Services

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.

15.8 Building a BPM Project

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.

15.8.1 How to Build a BPM Project

To build a BPM project:

  1. Open the BPM project.
  2. Select the Applications window.
  3. Right-click the file that corresponds to your project.
  4. Select Make Project.

    Oracle JDeveloper compiles the BPM Project. The Compiler Log window displays the results of the compilation.