Flow
The Flow container is displayed in Process Developer Classic layout style. If the BPMN style is in effect, there is no Flow container in the palette. The equivalent container is called Fork Join.
A Flow container executes all activities in parallel. This means you can define two or more activities, such as two Receive activities, to start at the same time. The activities start when the flow starts. The flow completes when all the activities in the container have completed.
For example, you can receive approval from both a seller and a buyer by adding the seller and buyer receive activities to a flow. Both receives must complete before the process executes another activity, such as invoking an order shipment service.
Flows can also contain links that allow you to introduce dependencies between activities to control the order in which they are executed. Refer to Using Links for more information.
The Flow is most useful for concurrent execution of activities.
Required Properties | Optional Properties |
---|
none | Name. See Selecting Activity Labels |
Join Condition. See Creating a Join Condition for an Incoming Link |
Suppress Join Failure. See Process Properties |
Comment. See Adding Comments to a Process |
Documentation. See Adding Documentation to a Process |
Setting Visual Properties and Using Your Own Library of Images |
Execution State. See Viewing the Execution State of an Activity or Link |
Extension Attributes and Extension Elements. See Declaring Extension Elements and Attributes. |
To build a flow:
- 1. Ensure that the layout style preference is set to Process Developer Classic.
- 2. From the Container palette, drag a Flow to the Process Editor canvas.
- 3. Drag an activity, such as Receive, inside the Flow.
- 4. Continue dragging the other activities into the Flow to execute concurrently.
- 5. Specify all the properties for each activity in the Flow.
The following illustration shows an example of a Flow activity.
XML Syntax
<flow atandard-attributes>
standard-elements
<links>?
<link name="ncname">+
</links>
activity+
</flow>
Example:
<flow name="MarketplaceFlow">
<receive name="SellerReceive" partnerLink="seller"
portType="tns:sellerPT" operation="submit"
variable="sellerInfo" createInstance="yes">
</receive>
<receive name="BuyerReceive" partnerLink="buyer"
portType="tns:buyerPT" operation="submit"
variable="buyerInfo" createInstance="yes">
</receive>
</flow>