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.