2.37 Correlations Tab

Use to create a method for explicitly specifying correlated groups of operations within a service instance.

A business process instance typically holds many conversations with partners during its lifecycle. Conversations can use a transport mechanism that correlates the messages in a conversation with an identifier and automatically sends them to the correct instance. However, correlated conversations often involve more than two parties. They also use a lightweight transport mechanism with correlation tokens embedded in the application data being exchanged. Therefore, it is often necessary to provide additional methods for matching messages and conversations with the intended service instance. For example:

  • A buyer starts a correlated exchange with a seller by sending a purchase order with a number embedded in the document as the correlation token.

  • The seller uses the number in the acknowledgement.

  • The seller later sends an invoice that includes the same number (to correlate it with the purchase order) and an additional invoice number so that future payment-related messages must only carry the invoice number as the correlation token.

Therefore, the invoice message carries two separate correlation tokens and participates in two overlapping correlated exchanges.

Correlation sets address these complex situations by providing a method for explicitly specifying correlated groups of operations within a service instance. A set of correlation tokens is defined as a set of properties shared by all messages in the correlated group.

Correlation set names are used in invoke, receive, and reply activities, the OnMessage branch of pick and scope activities, and the OnMessage variant of event handlers. The Initiate attribute indicates whether the set is being initiated. When set to yes, the set is initiated with the values of the properties occurring in the message being sent or received. In an invoke activity, when the operation invoked is a synchronous request and response, a pattern attribute indicates whether the correlation applies to the outbound (request) message, the inbound (response) message, or both.

WS-Addressing correlations are supported by default with Oracle BPEL Process Manager. However, correlation sets offer several additional benefits:

  • Enable a BPEL process to initiate multiple tasks through the same partner link. The correlation ID is bound to the partner link. This means that the same partner link cannot be used to handle multiple concurrent, asynchronous processes.

  • When a partner link is a third-party Web service that is not an Oracle BPEL process, there is no guarantee that this partner supports WS-Addressing

For more information about correlations, see the Business Process Execution Language for Web Services Specification (for BPEL 1.1) or the Web Services Business Process Execution Language Version 2.0 Specification at http://www.oasis-open.org.

Element Description

Add icon

Click to create a correlation set.

Edit icon

Click to edit a selected correlation set. You can also edit the Initiate and Pattern attributes (for invoke activities) values in this tab by clicking the value to display a list. For Initiate, you can select yes or no. For Pattern in BPEL 1.1, you can select in for inbound (response), out for outbound (request), or out-in (for both response and request). For Pattern in BPEL 2.0, you can select response for inbound, request for outbound, or request-response (for both outbound and inbound).

Delete icon

Click to delete a selected correlation set.

Correlations

Displays the correlation set, whether the set is being initiated, the associated property, and the direction pattern (for BPEL 1,1, in (for inbound response), out (for outbound request), or out-in (for an outbound response and inbound request), and for BPEL 2.0, response (for inbound), request (for outbound), or request-response (for both outbound and inbound)).

Related Topics

'Using Correlation Sets and Message Aggregation' in Developing SOA Applications with Oracle SOA Suite