BPMN Subprocess
BPMN Events
Every year on December 31 at 00:00, a special event signals the start of the new year. Events also have a strong influence on flows in companies. When the new year starts, accounting needs to be put in order, but even small events, like a phone ringing, often start a process at a company. A BPMN event is something that happens during a business process and starts, ends, delays, or interrupts the flow.
Three Types of BPMN Events
There are three types of events: start, intermediate, and end event. The three types of events are displayed in the next picture:
It is important to note that BPMN does not define color conventions in the specification. So you are free to use colors according to your own taste. The following image means exactly the same as the first:
An event is indicated with a circle, whereas the start event has a narrow edge, the intermediate a double edge, and the end event a bold edge.
BPPMN Start Event
The occurrence of a BPMN start event triggers a process and marks the beginning of a process flow. As soon as a process is triggered, the sequence flow originating from the start event is activated to start the flow.
A BPMN diagram may have multiple start events. In this case, only sequence flows that originate from the appropriate start event will be activated.
The BPMN diagram above provides a small example. If an order is received via email, it will be processed. Orders received over the phone will also initiate the process. If the order is received by phone and email, the order will be processed twice.
BPMN End Event
The end event in BPMN marks the end of a process. As soon as all steps in a BPMN diagram are completed and the end point of the model is reached, the process instance is terminated. In the example above, if the order is processed, the order is complete (end event).
An end event—just like the start event—can occur multiple times in a BPMN model. Often, BPMN practitioners use multiple end events, to differentiate between different process outcomes. For example, in the previous diagram the process ends with ‘order complete’. However, there is a huge difference between a successful and unsuccessful order.
In the BPMN example above, we differentiate between two different end states of the process: ‘order shipped’ and ‘order-failed’. Although the process ends at both end events, the outcome of the process is very different. Keep in mind that a BPMN end event must be unique: two end events may not have the same name in a BPMN diagram. By the way, the ‘+’ symbol marks a BPMN subprocess.
BPMN Intermediate Event
The intermediate event occurs between the start and the end event and influences the flow. If the intermediate event is in the sequence flow, the process generates the event at exactly this position or delays the flow until the described event occurs.
In the BPMN example above, if an order is received, the invoice is created. After the invoice is created, the intermediate timer event tells the process to wait for 3 weeks before the process flows to the next activity: check payment.
Using the intermediate event, you can thus incorporate time in your BPMN models.