In the Query field, press Ctrl+Space to define the following XPath expression:

8-26 Oracle Fusion Middleware Developers Guide for Oracle SOA Suite location=MyCorrelationSet.wsdl 8.5.2 What You May Need to Know About Setting Correlations for an IMA Using a fromParts Element With Multiple Parts Assume you have the following scenario: ■ A BPEL 2.0 process with a WSDL message type that has multiple parts that are identical in type. ■ A property alias has been defined based on the element type of the above part. For a process that has an inbound message activity IMA for example, a receive activity, onMessage branch of a scope or pick activity, or onEvent branch of a scope activity in BPEL 2.0 that uses the fromParts element with fromPart defined for each part, correlations cannot be defined because the runtime environment cannot determine the part to which to apply the property alias. For more information about mapping WSDL message parts with the toParts and fromParts elements, see Section 6.17, Mapping WSDL Message Parts in BPEL 2.0. 9 Using Parallel Flow in a BPEL Process 9-1 9 Using Parallel Flow in a BPEL Process This chapter describes how to use parallel flow in a BPEL process service component. Parallel flows enable a BPEL process service component to perform multiple tasks at the same time. Parallel flow is especially useful when you must perform several time-consuming and independent tasks. This chapter includes the following sections: ■ Section 9.1, Introduction to Parallel Flows in BPEL Processes ■ Section 9.2, Creating a Parallel Flow ■ Section 9.3, Customizing the Number of Parallel Branches For additional information on creating parallel flows in a SOA composite application, see the Fusion Order Demo application, which is described in Chapter 3, Introduction to the SOA Sample Application.

9.1 Introduction to Parallel Flows in BPEL Processes

A BPEL process service component must sometimes gather information from multiple asynchronous sources. Because each callback can take an undefined amount of time hours or days, it may take too long to call each service one at a time. By breaking the calls into a parallel flow, a BPEL process service component can invoke multiple web services at the same time, and receive the responses as they come in. This method is much more time efficient. Figure 9–1 shows the Retrieve_QuotesFromSuppliers flow activity of the Fusion Order Demo application. The Retrieve_QuotesFromSuppliers flow activity sends order information to two suppliers in parallel: an internal warehouse InternalWarehouseService and an external partner warehouse PartnerSupplierMediator. The two warehouses return their bids for the order to the flow activity. Here, two asynchronous callbacks execute in parallel. One callback does not have to wait for the other to complete first. Each response is stored in a different global variable.