1. What is a Gateway

Gateways is a BPMN notation used to control how a process flows. Connected by sequence flows, a gateway acts as a decision point that decides which (outgoing) sequence flow to take based on the result of the evaluation of condition(s) specified.

2. Types of Gateways

All Gateways are represented with a diamond shape, with different icons within to distinguish the type of Gateway. In the BPMN Editor we divide Gateways elements into the following categories:

2.1. Exclusive Gateway

An exclusive gateway is a diversion point of a business process flow. For a given expression of the process, only one of the paths can be taken. To see how to use an exclusive gateway inside a workflow click here

Figure 1. Exclusive Gateway

2.2. Inclusive Gateway

An inclusive gateway is also a division point of the business process. Unlike the exclusive gateway, an inclusive gateway may trigger the execution of more than one out-going flows. To see how to use an inclusive gateway inside a workflow click here

Figure 2. Inclusive Gateway

2.3. Parallel Gateway

A parallel gateway is used to visualize the concurrent execution of activities and is used in pairs. When the process arrives at the parallel gateway node, all the outgoing flows exhibited from the gateway will be executed simultaneously. To see how to use a parallel gateway inside a workflow click here

Figure 3. Parallel Gateway

3. Expression language

The expressions defined at the edges are essential for the functionality of the gateways. These expressions contain constants or variables adopted from a previous task and the corresponding conditions that must be true in order to pass through the respective path.

By marking a path you can see all allowed conditions and example expressions under properties in the tab condition on the “i” symbol.

Figure 4. Expressions

Furthermore, values can be written to the datastore and then used as conditions in the expressions

Figure 5. Datastore Value

4. Summary

We are now familiar with the meaning and use of the three different gateways in BPMN modeling. Gateways can define all the types of Business Process Sequence Flow behavior:

  • Decisions/branching

  • merging, forking, joining