03 September 2013

BPMN 2.0 Models (Part 2) - Choreography Model and Conversation Model

Apart from the Collaborative Process model that is commonly used in business process modelling, BPMN 2.0 also introduces other types of models - Choreography diagram and Conversation diagram. This paper discusses the different types of models and how they can be used to compliment each other.

If you are not sure about the terms process, process definition, process model or workflow, suggest reading the article "Process, Process Model, Process Instance and Workflow?" first before continuing with this article.

Part 1 - Process Models and Process Collaboration Model
Part 2 - More BPMN Collaboration Models - Choreography Model and Conversation Model


Part 2 - More BPMN Collaboration Models 

In Part 1 we have seen the various types of BPMN Process Models and also the Process Collaboration Model. In this article, we will focus on the other two types of models, Choreography Model and Conversation Model, and see how they can be used in conjunction with a Process Collaboration Model.

The purpose of collaboration model is showing the interactions between several parties both internal and external to a business entities illustrating the collaborative activities between the parties. Apart from Process Collaboration Model, the other two types of collaboration models in BPMN 2.0 are:
  • Choreography Model, and
  • Conversation Model
A Collaborative Process Model can be combined with a Conversation Model in a diagram to help illustrate the messages between the parties. Also recall that a collaboration model always have two or more participants or participating roles.

Choreography Model

A Choreography Model is similar to a business process model which consists of flows of activities, events, and gateways. Instead of having normal activities, a choreography model shows choreography activities which represent interactions between the participating roles. Each choreography activity has two or more participants. Messages are also depicted in the model for each interactive activity.

Unlike a Business Process Model where the process is an orchestration (centrally controlled) of the activities performed by the participating roles, there is no central controller responsible for the choreography activities. In other words, a Choreography Model represents a procedural contract of the interactions between the participating roles.

Figure 1: Example of Choreography Model - Policy Request Process

In each of the choreography activity, messages are passed between the participants. An initiating message (white envelop) is send by the initiating participant of a choreography activity. A non-initiating message (black envelop) is returned by the other participant(s).

Rule: The sender in Choreography Activity must also be a participant in the immediate previous activity, as either a sender or receiver. This rule also applies to Choreography Activity immediately after a gateway. The sender participant on the first task is exempted from this rule.


A Choreography Model also supports the use of gateways and nested activity similar to a sub process in a Process Model. A nested Choreography activity may be expanded to show the full Choreography model. A parallel gateway is used to split and merge sequences in separate paths. Exclusive gateway is useful when there is a need to determine what message is to be sent next and/or who the recipient is next.

Figure 2: BPMN Choreography Model with nested activity and gateways


Conversation Model

The Conversation Model is a simplified view of collaboration model. There are only three types of elements in a Conversation Model - pools, communication elements and the links between them. The communication element normally represents a business artefact such as "dispatch plan", "shipment schedule" or "Invoice". In short a Conversation Model shows the communications between participating roles providing an overarching view of the various communications within an end-to-end business process.


Figure 3: An Example of BPMN Conversation Model


The Conversation model in Figure 3 is a representation of the communications or messages between the participating roles shown in the Choreography model in Figure 2. The Conversation model in this case depicts a overview of the overall communications between the parties. Nevertheless it does not shows the sequence of the communications as that shown in a Choreography model.

Conversation model also supports nested communications which is a collapsed view a complex interactions between the two participating roles.

Combining Conversation Model with Process Collaboration Model

Using the point of view of the consignee from the above models (Figure 2 and 3), the model below illustrates a combined model of Process Collaboration and Conversation.

Figure 4: Combination of Collaboration Process and Conversation Model


Instead of using message flows, conversations are used replacing the message flows between the consignee and the other participants. Using a conversation model in a Process Collaboration model is useful to help simplify the view where there are many complex message flows. Conversations carry the information for coordinating message flows. Message keys (in brackets) can be included in the conversations defining the matching required between the messages and the process instances.

Conclusion

Collaboration models particularly Choreography Model and Conversation Model are introduced in BPMN 2.0 for specifying sequences and conditions of message flows and also grouping of message flows. In addition, Collaboration Models are critical for understanding and developing of interactions with external participants. Collaboration models can be either used in the context of a Private Process Model showing all the activities internal to the business processes, or used in the context of a Public Process Model showing only activities having interactions between participants external to the processes.