To easily design and model process flows, we use the standard BPMN 2.0 graphical representation.

What is Business Process Model and Notation (BPMN)?

Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes in a business process model.

It is the most widely used standard for business process diagrams. It is intended to be used directly by the stakeholders who design, manage and realize business processes, but at the same time be precise enough to allow BPMN diagrams to be translated into software process components.

This is why we chose it for modeling the process flows.

BPMN 2.0 elements

A BPMN business process flow is represented as a set of process elements connected by sequences.

Let’s review the most common types of elements:

Events

Events describe something that happens during the course of a process. There are three main events types: start events, intermediate events, and end events. These three types are also defined as either catching events (they react to a trigger) or throwing events (they are triggered by the process).

Activities

An activity represents a unit of work to be performed by the business process. An activity can be atomic (a task) or can represent a group of more activities (a subprocess).

Gateways

Gateways are used to control how a process flows. They act as a decision point that picks which sequence flow should the process instance take. This is based on the result of the evaluation of condition(s) specified (in case of exclusive gateways) or they can be used to split a process into more branches (in case of parallel gateways).

Pools and lanes

Pools and lanes are used in order to group the process steps by process participants. To show that certain user roles are responsible for performing specific process steps you can divide the process using lanes.

BPMN basic concepts

Let’s get into a bit more details on the main types of BPMN process elements.

Events

Events are signals that something happens – this includes the start and end of a process as well as any interaction with the process’ environment.

There are 3 types of events:

  • start events
  • end events
  • intermediate events

Start and End events

Start & End events

Start Event IconEnd Event Icon
event that triggers the processevent that defines the state that terminates the process

Intermediate events

Message events

  • represents incoming or outgoing messages from external parties - information, email, bank transfer
  • Receive Message Event - incoming message occurring during the process flow, somewhere between start and end
  • Send Message Event - outgoing message
Send Message Event IconReceive Message Event Icon
outgoing messageincoming message

Activities

Task

  • it is an atomic activity within a process flow. You create a task when the activity cannot be broken down to a finer level of detail. A task can only belong to one lane.
User taskService task
a task that requires the human to perform an actiona task that uses a Web service, an automated application, or other kinds of service in completing the task.

Send Task

  • represents a task that sends a Message to another lane or pool. The Task is completed once the Message has been sent.

Receive Task

  • indicates that the process has to wait for a message to arrive in order to continue. The Task is completed once the message has received.

User Task

  • is a Task that is performed without the aid of any business process execution engine or any application. It is performed when the user performs a certain action in the application.

Service Task

  • is executed by a business process engine. The task defines a script that the FlowX Engine can interpret. When the task begin, the engine will execute the script. The Task will be completed when the script is completed. It also provides a mechanism for a process to run a business rule on the process data.

BPMN Subprocesses

In BPMN, a subprocess is a compound activity that represents a collection of other tasks and subprocesses. Generally, we create BPMN diagrams to communicate processes with others. To facilitate effective communications, we really do not want to make a business process diagram too complex. By using subprocesses, you can split a complex process into multiple levels, which allows you to focus on a particular area in a single process diagram.

Gateways

Gateways allow to control as well as merge and split the process flow.

Exclusive gateways

In business processes, you typically need to make choices — business decisions. The most common type of decision is choosing either/or. Exclusive Gateways limit the possible outcome of a decision to a single path, and circumstances choose which one to follow.

Parallel gateways

In many cases, you want to split up the flow within your business process. For example the sales and risk departments may examine a new mortgage application at the same time. This reduces the total cycle time for a case. To express parallel flow in BPMN, you use a parallel gateway.

Exclusive gateway (XOR)Parallel gateway (AND)
  • defines a decision point
  • no decision making
  • all outgoing branches are activated

Closing gateway

  • Closes gateways by connecting branches with no logic involved
  • The symbol used is determined by the initial gateway type.
  • Parallel gateways:
    • These gateways wait for all input tokens and merge them into a single token.
    • Are aware of all preceding token flows, know the paths selected, and expect tokens from these paths.

In depth docs

BPMN Quick guide

BPMN Best practices