BPMN choreography diagrams

A choreography diagram is an extended diagram type of a BPMN collaboration diagram.

A collaboration is a collection of participants, which are represented by pools, and their interactions which are shown as message flows. Collaborations can also include processes within the participant pools.

In contrast, a choreography diagram contains no pools. The focus of a choreography diagram is the messages between the participant pools.

Choreography

A choreography diagram is populated with choreography tasks. A task must have at least two participants, an initiating and a noninitiating participants.

In the following diagram, Participant1 is the initiating participant andParticipant2 is the noninitiating participant.

You can define messages between the two participants in the task. When a message is defined, message icons appear connected to the task. You can define the initiating message and you can optionally define a return message. The message can have structure and parameters defined.

In the following diagram, a message is defined for both Participant1 and Participant2

Using connectors, gateways, or events, you can create a sequence flow between multiple choreography tasks to represent decision controls and sequence flow of the tasks.

Call choreography

A call choreography is a call, or reference, to a global choreography task or choreography. A call choreography is visually similar to a choreography task. The participants of a called choreography are defined in the global choreography task or choreography. The defined participants can be associated with participants in the calling choreography diagram. A call choreography is used to reference a global task that can be referenced and reused by other call choreographies.

In the following diagram, a call choreography is displayed with two participants that are defined in the global Choreography task.

You can associate the global choreography participants to participants in the calling choreography diagram.

In the following diagram, Participant1global is associated with Participant1 and Participant2global is associated with Participant2

You can also associate a call choreography with a choreography diagram. Double-click the call choreography that references a choreography opens the referenced choreography. In the following example the call choreography references a choreography diagram.

Call choreography referencing a choreography diagram.


Feedback