You are not looking at the latest version of the documentation. Check it out there.

Introduction to Message Flow and Process Collaboration

In Business Process Model and Notation (BPMN), message flow is a critical concept used to depict the communication between different entities or participants within a business process. Here’s a detailed explanation of how message flow works in BPMN:

1. Participants and Pools

  • Participants: Represent the entities (organizations, systems, or individuals) involved in the business process.
  • Pools: Each participant is represented by a pool, which acts as a container for the process flow of that participant.

2. Message Flow Basics

  • Message Flow: Depicted by a dashed arrow with an open arrowhead. It shows the communication between two separate pools (participants).
  • Direction: Indicates the direction of the communication from the sender to the receiver.

3. Message Flow Elements

  • Start Message Event: Indicates the start of a process triggered by an incoming message.
  • End Message Event: Marks the end of a process where a message is sent to another participant.
  • Intermediate Message Event: Represents points within the process where a message is sent or received.
  • Message Tasks: Specific tasks within a process that involve sending or receiving a message.

Supplier - Customer Process Collaboration

4. How It Works

  • Initiating Communication: When a process in one pool needs to communicate with a process in another pool, it uses a message flow.
    • Example: Pool A sends an order confirmation to Pool B.
  • Triggering Events: The message flow can trigger start events, intermediate events, or end events in the receiving pool.
    • Example: Pool B receives the order confirmation and starts processing the order.
  • Task Coordination: Message flows coordinate tasks between different pools to ensure that processes in different entities are synchronized.
    • Example: After processing the order, Pool B sends a shipping notification back to Pool A.

5. Practical Example

Imagine two pools, Customer and Supplier:

  • Customer Pool: Starts with an order process.
    • Send Order (Message Task): Customer A sends an order to the Supplier B.
  • Supplier Pool: Receives the order and processes it.
    • Receive Order (Start Message Event): The supplier process starts upon receiving the order.
    • Process Order (Task): The supplier processes the order.
    • Send Shipping Notification (End Message Event): Once the order is processed, a shipping notification message is sent back to the customer.
    • Create Invoice (Task): The Supplier B creates an invoice for the order.
    • Send Invoice (Intermediate Message Send Event): The supplier sends an invoice to Customer A.
  • Customer Pool: Receives the order confirmation.
    • Receive Shipping Notification (Intermediate Message Event): The customer receives the confirmation and proceeds to the next step.
    • Receive Invoice (Intermediate Message Event): The customer receives the invoice, and has some internal process that we don’t know details of, but when complete…
    • Send Payment Notification (Message Send Event): Having made payment, the customer sends a payment notification.
  • Supplier Pool: Receives the payment notification, and completes the process.

6. Visual Representation

  • Dashed Arrows: Represent message flows connecting elements in different pools.
  • Labeled Messages: Often labeled to indicate the type of message being sent (e.g., “Order”, “Confirmation”).
  • No Message Flows Within Pools: Message flows only connect different pools, not tasks or events within the same pool.

Summary

Message flows in BPMN are essential for illustrating the communication between different participants in a business process. They help in understanding how different entities interact and ensure the seamless execution of interconnected tasks and events across organizational boundaries.