
1. Gateways
In BPMN, gateways are symbols used to control the flow of execution within a process. They allow the process to branch, merge, or stop based on defined conditions and logic.
1.1 Exclusive Gateway
This gateway allows only one path to continue after evaluating conditions (similar to an OR gateway).
Examples:
Determine if an order is eligible for delivery.
Choose one of the available payment methods.

1.2. Parallel Gateway
This gateway allows all paths to continue simultaneously.
Examples:
Send an email notification to the customer and update information in the system.
Start quality check activities in parallel.

1.3. Inclusive Gateway
This gateway allows one or more paths to continue based on conditions.
Examples:
Perform additional processing steps depending on the type of error that occurred.
Send notifications to relevant departments based on their roles.

1.4. Complex Gateway
This gateway allows for controlling the execution flow using complex logical expressions.
Examples:
Choose the appropriate processing method based on a combination of multiple conditions.
Repeat a loop until a desired condition is met.

1.5. Event-based Gateway
This gateway allows the execution flow to continue when a specific event occurs.
Event-based gateways have multiple types based on the different events discussed in this post.
Examples:
Start the process when a request is received from the customer.
Wait for the payment event to be completed before proceeding to the next step.
Below is a gateway based on an Intermediate Multiple Event, waiting for one of three different events to occur and will "catch" the first event that is triggered:

2. Artifact
An artifact is a symbol in BPMN used to describe additional elements in a process that don't directly affect the execution flow. It provides supplementary information to help readers better understand the process and the purpose of its elements.
There are three main types of artifacts in BPMN: Data Object, Group, and Text Annotation
Artifact | Icon | Meaning | Example |
Data Object - origin | ![]() | Represents data used or created by the process. | "Customer information" in the registration process. |
Data Object Collection | ![]() | Represents a collection of data that will be used in the process (similar for the notations below). | |
Data Input | ![]() | Represents data input into the process from an external source. | "Order" is imported from the sales system. |
Data Input Collection | ![]() | Same as above, but for a collection of data instead of a single data item. | "Orders," "Customer profiles" are imported from another system. |
Data Output | ![]() | Represents data generated by the process and output to an external source. | "Invoice" is created after completing the payment process and sent to another system. |
Data Output Collection | ![]() | Same as above, but for a collection of data instead of a single data item. | "Invoices," "Receipts" are created after completing the payment and sent to another system. |
Data Store | ![]() | Represents data stored in a database or system. | "Customer database." |
Group | ![]() | Groups BPMN elements to organize and arrange the model. | Grouping sub-processes related to "Payment" into a group named "Payment." |
Text Annotation | ![]() | Adds comments and notes to the model. | Adding a note "Check the validity of customer information" to the "Check Customer Information" activity. |
Understanding gateways and artifacts is essential for creating clear and comprehensive BPMN diagrams. By mastering these notations, you can effectively model and communicate complex business processes.
コメント