As explained in a previous lesson, gateways serve to split or join process flows. A split gateway is a point where a single inbound sequence flow diverges into two or more outbound branches:
A join gateway is where multiple inbound branches merge into a single outbound branch:
In the case of a parallel gateway, the AND-split gateway indicates where activities begin to be performed in parallel. the corresponding AND-join gateway waits until tokens from all incoming sequence flows have been received before synchronizing the tokens and allowing the process to continue.
Here’s an example of processing that utilizes parallel gateways:
- The process is instantiated when the traveler receives a boarding pass.
- Next, the traveler proceeds to the security checkpoint.
- Upon arriving at the checkpoint, the sequence flow splits at a parallel gateway. Unlike other gateways, parallel gateways aren’t typically labeled.
- One sequence flow calls for the traveler to submit her carry-on luggage to be screened.
- In parallel, the traveler herself must complete a screening process.
- The sequence flows are synchronized at another parallel gateway.
- Only after both parallel process flows are completed can the travel proceed to the departure gate.
- The process instance is finished when the traveler arrives at her gate.