skip to content

In BPMN 2.0, how do choreography and conversation diagrams differ from a collaboration diagram of the same hiring interaction?

level: middleimportance: nice to knowfreq 18%

answer

  1. three views of one interaction
  2. between the pools, not inside
  3. no central controller
  4. hexagons for grouped messages

basics

~20 s

In BPMN 2.0 a collaboration shows participants as pools exchanging message flows; a choreography models the ordered message exchanges between them with no central controller; a conversation diagram groups related message flows into hexagons for a bird's-eye view.

solid answer

~50 s

All three are views of how the employer, candidate and agency interact. A **collaboration** draws each participant as a **pool**, optionally with its process inside, and the **message flows** between them. A **choreography** sits **between** the participants: its activities are interactions, each a set of one or more message exchanges, drawn as choreography tasks with **participant bands** naming who is involved, and ordered by sequence flow; the standard stresses there is **no central controller**, and pools and lanes are not used in it. A **conversation diagram** is an informal use of a collaboration: pools connected to **hexagon** conversation nodes by double-line **conversation links**, each hexagon grouping the message flows about one subject, such as `Application` or `Background check`, often tied together by a correlation key. Collaboration answers who sends what to whom; choreography answers in what order the parties exchange; conversation answers which topics they talk about.

go deeper

for a junior

Recall the three views: collaboration shows pools and messages, choreography orders the exchanges, conversation groups them by topic.

for a middle

Explain the notation of each: participant bands on choreography tasks, hexagons and double-line links in conversation diagrams.

for a senior

Choose the view for the audience, for example a choreography to agree an interaction contract without exposing either side's process.

for a principal

Decide how the three views fit a modelling practice, keeping collaboration, choreography and conversation consistent as interactions change.

## Three views of one interaction BPMN 2.0.2 describes three kinds of sub-model in an end-to-end model: **processes** (orchestration), **choreographies**, and **collaborations**, which can include processes and/or choreographies and a **view of conversations**. For a hiring interaction between an employer, a candidate and a background-check agency, each answers a different question. | View | Main elements | Question it answers | |---|---|---| | **Collaboration** | pools, optional processes inside, message flows | who sends which message to whom, and which internal step handles it | | **Choreography** | choreography tasks with participant bands, events, gateways, sequence flow | in what order the parties exchange messages | | **Conversation** | pools, hexagon conversation nodes, conversation links | which subjects the parties communicate about | ## Collaboration: pools and message flows A collaboration usually contains **two or more pools**, one per participant, with **message flows** between them. Each pool may show its private or public process, or be a black box. In the hiring model this is the employer's process with its lanes, and the candidate and agency as pools exchanging the application, the check request and report, and the offer. ## Choreography: the contract between parties The standard describes a self-contained choreography as a **definition of expected behaviour, basically a procedural contract**, between interacting participants. Key features: - It exists **between** pools rather than inside one. - Its activities are **interactions**: each represents a set of one or more message exchanges involving participants, rather than work done by one party. - A **choreography task** is drawn with **participant bands** naming the participants, plus a band with the task name; the band of a participant that is not the initiator has a light fill. - There is **no central controller**, responsible entity or observer of the process. - **Pools and lanes are not used** in choreography diagrams; lanes are sub-partitions of a pool, and a choreography sits between pools when it is shown inside a collaboration. For hiring, a choreography would read: `Employer to Candidate: Invite to interview`, then `Employer to Agency: Request check`, then `Agency to Employer: Report`, then `Employer to Candidate: Offer`. It states the agreed order of exchanges without saying how either side works internally. ## Conversation: a bird's-eye view The conversation diagram is a **particular usage of, and an informal description of, a collaboration diagram**. It adds two graphical elements: 1. **Conversation nodes**: a **conversation** is a hexagon drawn with a single thin line; sub-conversations and call conversations are variants. 2. **Conversation links**, drawn with **double thin lines**, connecting each conversation to the participants involved. A conversation is the **logical grouping of message flows** that relate to a business object and can share a **correlation key**, such as a candidate or application identifier, so each message reaches the right process instance. For hiring there might be three hexagons: `Application` (employer and candidate), `Background check` (employer, agency and candidate) and `Offer` (employer and candidate). The pools of a conversation diagram usually contain no process. ## Choosing the view - To show **how the employer runs hiring** and where it waits for others, use a **collaboration** with the employer as a white box. - To agree an **interaction contract** with the agency without exposing either side's internals, use a **choreography**. - To map **which relationships and topics exist** across many parties before detailing any of them, use a **conversation** diagram. ## Keeping the views consistent The three views describe one interaction, so they must agree. Every exchange in the choreography should correspond to a message flow in the collaboration, and every message flow should belong to one of the conversations. When the hiring process adds a step, such as asking the candidate for consent before the background check, the change touches all three: a new message flow, a new choreography task between employer and candidate, and a message grouped under the `Background check` conversation. A review that checks only the collaboration will miss drift in the other two. ## Common mistakes - Drawing lanes inside a choreography. The standard does not use swimlanes there. - Treating a choreography task as work done by one party. It is an exchange between participants. - Treating a conversation hexagon as a process step. It groups messages and carries no execution order.

  • In BPMN 2.0, can a choreography appear inside a collaboration diagram?
    Yes. Choreographies may be shown between the pools of a collaboration, where they bisect the message flows between those pools; all combinations of pools, processes and a choreography are allowed in a collaboration.
  • In BPMN 2.0, why does a conversation carry a correlation key?
    A conversation groups the message flows about one business object, and the correlation key, such as an application identifier, is recorded in those messages so each message can be routed to the specific process instance responsible for it.
  • In BPMN 2.0, why are lanes not used in a choreography?
    Lanes are sub-partitions of a pool, and a choreography sits between pools rather than inside one. Participants still appear, but in the participant bands of choreography tasks, not as swimlanes.

saying these in an interview costs you the question

  • Believing a choreography has a central controlling participant
  • Drawing pools and lanes inside a choreography diagram
  • Treating a conversation hexagon as a task in the process
  • Assuming a choreography task is work done by one participant
  • Thinking a conversation diagram replaces the need for message flows