BPMN Orchestration vs Choreography vs Collaboration
7-9 minutes
Business Process Modeling Notation (BPMN) is a modeling language for illustrating business processes in the form of a diagram similar to a UML activity diagram. BPMN was originally conceived and developed by the Business Process Management Initiative(BPMI). It is currently maintained by the Object Management Group (OMG) .
Public vs Private Process
BPMN is designed to cover this wide range of usage and allows modeling of end-to-end business processes to allow the viewer of the Diagram to be able to easily differentiate between sections of a BPMN Diagram. Business process modeling is typically used to communicate a wide variety of information to a wide variety of stakeholders. It often involve multiple agencies (i.e. organizations, companies) cooperate. Thus, BPMN is not only able to model internal processes with in a single pool, but also applicable for public processes for describing the interaction among them as shown in the Figure below:
- Private (internal) processes
- Detailed process flow for each partner
- Public processes
- Describes the inter-organizational cooperation
- Internal processes of the partners are treated as “black boxes”
- Specifies the information and objects that are exchanges between partners
Examples
- Classical purchasing scenarios with customer, retailer and transporter
- Processes often involve partnership where different partners with their resources and knowhow contribute to a service or product.
Orchestration vs Choreography vs Collaboration
BPMN supports three main categories of Processes: Orchestration , Choreography and Collaboration
Orchestration process is a standard process, we most commonly come across in BPMN. It typically models a single coordinating point of view. An orchestration Process describes a process within a single business entity that is contained within a Pool and normally has a well-formed context.
Collaboration process shows the participants and their interactions. In BPMN, a collaboration only shows Pools and the message flow between them. To be more specific, a collaboration is any BPMN diagram that contains two or more participants as shown by Pools which have message flow between them.
Choreography process . A new model type in BPMN 2.0 is the Choreography Diagram. Its purpose is to show the interaction between participants in a different format and concentrate on the message flow instead of the individual detailed tasks of a process. Therefore new object types were introduced that include sender and receiver within the object (instead of connecting roles to a task or using swim lanes) and connect the sent/received messages to this object.