BPMN Collaborations, Participants and Processes
BPMN Collaborations, Participants and Processes
In Business Process Model and Notation (BPMN), a Collaboration represents how two or more independent business entities (or roles) interact to achieve a shared business goal. It is a key concept in modeling scenarios where processes exchange information or services.
Collaboration
A BPMN Collaboration is the diagram type that depicts the interaction between different Participants. Each participant performs work through one or more Processes and communicates with others via Message Flows. In Flows for APEX, a collaboration model helps clarify who is doing what, and how information moves between them.
Participants
A Participant is an entity that takes part in the collaboration. It could represent:
- An organization or department
- A system or application
- An external stakeholder
Each participant is visually represented by a Pool in the BPMN diagram.
This diagram that we use to show Message Flow, shown again below, illustrates a collaboration between a customer, supplier, and shipper to order and deliver goods. The entire diagram shows the collaboration. The participants are the Customer, the Supplier and the Shipper. Each of the participants shows their process in the diagram.
Processes
A Process is the sequence of activities performed by a participant. It is contained within a Pool and defines the workflow logic for that participant. Processes can be:
- Executable (designed to be run in Flows for APEX) - in which case the process is defined with a process diagram and the process is marked as executable.
- Non-executable (purely descriptive or conceptual) - where the process could either be defined but marked as non-executable, or could be unknown to us and our only knowledge is the interface to it - what messages can be sent to it or received from it (a dark pool).
In the diagram above, each of the participants has an executable and visible process defined.
For information on configuring Participants and Processes in Flows for APEX Process Diagrams, see here
Pools
A Pool is the container for a Participant’s process in a collaboration diagram. It defines the boundaries for that participant’s workflow and separates it from other participants. Pools are connected by Message Flows, never by Sequence Flows. A pool can be:
-
Empty / Dark Pool, meaning that the process inside the pool is unknown or not visible to us - only its message interfaces. You would use this to model the interactions with another company - for example, in our message flow examples we used dark pools to show the collaboration between supplier and customer from both perspectives.
From the supplier’s perspective, not being aware of the internal process definition of their customer, showing the Customer as a dark pool:
And from the Customer’s perspective, not being aware of the internal process definition of their supplier, showing the Supplier as a dark pool:
-
Visible / Defined, in which case the pool contains the process definition. You might use this if the participants are all inside your organisation.
Laneset
A Laneset is a grouping mechanism inside a Pool that divides the process into Lanes. Each lane usually represents a specific role, team, or system responsible for activities. This helps visualize responsibilities and clarify hand-offs.
For example in this model, we have a single participant, MyBigExportCo. The participant is represented by one laneset, divided into lanes for the each departments or individuals involved in this process (Ops, Export Compiance, Sales, GM). The Ops department lane is further divided with a child laneset, which contains lanes for the Shipping and Warehouse teams.
For information on configuring lanes in Flows for APEX Process Diagrams, see here
Summary:
-
Collaboration → The overall interaction between two or more participants.
-
Participant → An entity involved in the collaboration (represents a Pool).
-
Process → The workflow inside a participant’s Pool.
-
Pool → The container representing a Participant’s process.
-
Laneset → Organizational subdivisions inside a Pool.