Interaction between processes

<< Click to Display Table of Contents >>

Navigation:  Advanced topics >

Interaction between processes

Overview

More than one pool in a diagram represents interaction between separated business entities or performers.

Many business processes require interaction between each other to be correctly performed and accomplished. In BPMN these interactions are defined as a sequence of activities that represent message exchange patterns between the entities involved.

In BPMN this behavior is know as Collaboration.

 

Understanding interaction between processes

BPMN defines Pools as Process performers (Entity or Role) that contain the Sequence Flows between activities.

There is always at least one Pool for each diagram even if it is not diagrammed.

More than one pool in a diagram represents interaction between separate business entities or performers.

 

Pools1

 

As the activities within Pools are considered auto-contained processes, the sequence flow must not cross the pools' boundaries. The interaction between Pools is shown through Message Flows, represented as dotted lines.

 

Pools2 Pools3

 

Modeling Collaborative processes

Collaboration enables communication between two or more processes by sending and receiving messages containing actionable information. In Bizagi, collaboration is carried out through the throw and catch shapes which are configured in each process. The shapes that allow Collaboration in Bizagi are:

 

ELEMENT

DESCRIPTION

NOTATION

Message Start Event

Used when a message arrives from a participant and triggers the start of the process.

Message start event

Message event

Indicates that a message can be sent or received.

 
If a Process is waiting for a message and it is caught the Process will continue its flow.

 
A catch Message Event waits for a message to arrive and once the message has been received, the Process will continue. The Event marker in this instance will be filled.

 

A throw Message Event sends a message to an external participant. The unfilled Event marker is allocated to the throw message.

Message intermediate event

Message end

Indicates that a message is sent when the process is ended.

Message end

Signal Start Event

The start of the Process is triggered by the arrival of a signal that has been broadcast from another Process.

Note that the signal is not a message; messages have specific targets, signals do not.

Signal start event

Signal event

These Events are used to send or receive signals within or across the Process. A signal is similar to a signal flare that is shot into the sky for anyone who might be interested to notice and then react.

 
If the Event is used to catch the signal, the signal Event marker will be filled.  Alternatively, the unfilled Event marker is allocated to the throw message.

Signal intermediate

Signal end

It indicates that a signal is sent when the process is complete.

Signal end

 

When you drag and drop an Intermediate Event into a process, you can convert it to another type of event.

For example to convert an Intermediate Event to a Message Event, follow these two steps:

 

1. Convert the event type from Intermediate Event into Message. Right-click on it, select Event Type and choose Message.

 

collaborative16

 

2. If you have a catch message (the event marker that is NOT filled) and you need a throw message (the event marker that IS filled).

Right-click on the shape and select Is Throw, in order to convert the message into a throw message.

 

collaborative17

 

In the collaboration diagram, the messages will appear as follows:  

 

collaborative18