Control of workflow with gateways
Parallel sequence flows
In the following diagram, a parallel gateway branches the sequence flow to execute two activities concurrently.
If conditional expressions are defined on any of the sequence flows, the parallel gateway ignores them.
The parallel gateway can also be used to join multiple incoming paths. When used as a join gateway to streamline multiple sequence flows into one, the join gateway waits until all the threads complete before proceeding with the next step in the sequence.
Conditional sequence flows
In the following diagram, an exclusive gateway executes a single activity, based on a unique conditional expression. The conditional expression can evaluate the result of any activity executed before reaching the gateway.
Conditional sequence flows are evaluated in the order in which they were defined. One of the sequence flows must be defined without any condition, for use as the default sequence flow if the other conditions are not matched.
To maintain workflow readability, the following conventions are shown:
- The diamond indicates the sequence flows set with the property type of Conditional.
- The backslash indicates the sequence flow set with the property type of Default.
Exclusive gateway to join paths
An Exclusive gateway element models a decision in the process, and the conditions on exit paths.
When the process execution arrives at an Exclusive gateway element, the system evaluates the conditions that you define in the outgoing Sequence Flow element of all flows. The system evaluates the conditions in the order in which they are defined, and selects a flow to execute, depending on whether a condition evaluates to true or a condition is not defined.
An exclusive gateway allows sequence flows to continue even if all paths are not followed.