A Parallel node represents a point in a business process at which a number of activities are executed in parallel.
By default, parallel nodes contain an AND join condition. In this case, the activities on all branches must complete before the flow of execution proceeds to the node following the parallel node. You can change the join condition to OR. In this case, when the activities on one branch complete, the execution of activities on all other branches terminates, and the flow of execution proceeds to the node following the parallel node.
This section describes how to create and define Parallel nodes. It includes the following topics:
Parallel branches of execution in a business process are logically parallel; physically the branches are executed serially by the business process engine. Business Processes benefit from this logical parallelism when communication with external systems can involve waiting for responses from those external systems. While one branch of execution is waiting for a response, another branch of execution in the parallel flow can progress.
Parallel branches are synchronized only at their termination points. A join condition is defined at the termination of multiple branches. It specifies how the termination of branches terminates the overall parallel activity.
Valid join conditions are AND and OR:
How does a Parallel node, which specifies an OR join condition, differ from an Event Choice node?
For a scenario in which an OR join condition is specified for a Parallel node, the business process executes activities on all branches in parallel. When the activities on one branch complete, the execution of activities on all other branches terminates, and the flow of execution proceeds to the node following the Parallel node. In other words, the activities on all parallel branches are initiated and proceed until the first one finishes, at which point the activities on all other branches are terminated.
In the case of an Event Choice node, the business process waits to receive multiple events. The first node on each branch within an Event Choice node handles the receipt of one event. The flow of execution proceeds along the branch containing the event that happens first. In other words, the activities on one, and only one branch in an Event Choice node are executed.
Create a Parallel Node in Your Business Process
Design Your Parallel Node
The Design view is updated to contain a Parallel node, as shown in Figure 7-1.
Designing a Parallel node includes the following tasks:
A Parallel node is, in effect, a group of nodes. You can set the properties and annotations for a group of nodes using the Properties pane and Annotations pane.
|Note:||If the Properties pane is not visible in the Design view, choose WindowShow ViewProperties from the BEA Workshop for WebLogic Platform menu.|
For each branch in your Parallel node:
|Note:||You can create nested Parallel nodes in your business process by dragging a Parallel node from the Node Palette on to one of the branches in a Parallel node already created in the Design view.|
Business Process Source Code
Adding Timeout Paths