16 June 2016

Lesson 5: Messages in BPMN

Lesson 1 – Start and the End events, the Task activity, Gateways
Lesson 2 – Events and Gateways
Lesson 3 -Pools, Swimlanes and Task
Lesson 4 – Sub-Processes

The fifth lesson of our BPMN tutorial is dedicated to Message Flow, Messages and the Send Message and Receive Message activities.

Message is a fundamental BPMN concept, the content of communication between separate process participants. The communication itself is called the Message Flow. It shows the interaction between two participants of communication, who are represented by two separate Pools.

Message Flow must connect either two separate pools, or an object of one Pool with an object of another Pool. It cannot connect two objects within one Pool.

Graphically, Message Flow is a dashed black line with an open arrowhead. The dashed line distinguishes it from the Sequence Flow, which is graphically shown as a continuous line with arrowhead.

Message flow

Fig 19. Message Flow in process diagram

For example, take the “Receive Order” process, where communication between the Customer and the Vendor can be represented in the following way:

Message flow between pools

Fig 20. Message Flow between pools

Message Flow does not show the flow of a process, it indicates that information is sent between two processes or between a process and an external entity. An external entity is a participant that does not belong to your BPM system.

Message flow example

Fig 21. Examples of Message Flow use

Figure 21 features examples of how Message Flow can be used:

  • Message Flow triggers a process.
    Message Flow 1 goes out of the external entity and reaches the Start Event of the process, triggering it to start.
    When a Customer places an order at the company’s website, the “Process Order” process starts. In the diagram, this interaction is represented by the Start Even with a Message Marker (you can find more information about this BPMN element in Lesson 2 of our tutorial).

  • Message Flow delivers information from an activity of the process to the external entity.
    Thus, Message Flow 2 goes out of the Vendor’s “Coordinate price” task and enters the external entity’s pool; Message Flow goes out of the Vendor’s “Deliver product” task and enters the external entity’s pool.
    After the Vendor considers the order, he or she sends the Customer the total price of the ordered goods. Also, when the product is ready for delivery, the Vendor sends the Customer a respective message. In both examples, the Customer’s pool is the external entity.

  • Message Flow delivers information from an external entity to an activity of the process.
    Message Flow 3 goes from the Customer’s pool (external entity) and enters the Vendor’s “Coordinate price” task.
    The Customer considers the price and then sends a message on whether he or she agrees on this price.

  • Message Flow delivers information from an activity of one process to an activity of another process.
    Message Flows 4 and 5 show communication between two tasks of different processes, “Process Order” and “Fulfill order”.

Examples 1, 2 and 3, where the Customer´s Pool participates, can be used only in analytical diagrams, which are not executable, because Customer does not belong to your BPM system.

You can optionally extend the Message Flow with a Message object to represent the information sent from one participant to another:

Message flow with an attached message

Fig 22. Message Flow between participants, with an attached Message

A Message is the content of the dialogue between two participants. This dialogue is performed by means of special activities, Send Message and Receive Message.
Receive Message is a simple task, which waits for a message to arrive from an external participant. This task is considered completed if the Message is received at least once.

Graphically, the Receive Message task is shown as rounded rectangle, which is a typical representation of Tasks in BPMN. Receive Message task is distinguished by an empty envelope marker.

Receive message activity

Fig 23. Receive Message Activity in process diagram

Send Message is a simple task which sends a message to an external participant. The task is considered completed if the message is sent at least once.

Graphically, the Send Message task is also shown as rounded rectangle and it is distinguished by a filled envelope marker:

Send message activity

Fig 24. Send Message Activity in process diagram

You can learn more about Messages and Message Flow in the BPMN specification.

Practical Assignment

To test how well you have learned the material of Lessons 4 and 5, we offer you to complete the following task.
Model the “Business Trip” process using the BPMN elements studied in Lessons 4 and 5 (Sub-Processes and Receive/Send Message).

For process modeling, we advise you to use ELMA Designer. You can download a free demo version here. After installation, you will need to activate the system (see ELMA quick-start manual for demo version). If you experience any problems with installation or activation of the system, please contact us at consulting@elma-bpm.com. We will be happy to help you.

To check yourself, you can download our version of the process as an XML file and import it into your installed demo of ELMA.

Download Demo

Stay up to date with company news and receive notifications of new posts

Valeria Evgeneva
Marketing and Localization Specialist