Introduction to BPMN MessageFlow and Process Collaboration
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.
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.