xAPPnow LOW CODE PLATFORM - User Manual 

Still no account yet?

×

BPMN Training Part 9: Collaboration, Message Events/Flows

 
 
Related subfolder of the training project: "C09"
 
 

Chapter Overview

 
In this training chapter you get familiar with major inter process communication elements provided by the BPMN standard.
 
 
 
 
In addition to a process model, a collaboration model is used to visualize inter process communication. The collaboration model consists of a pool and one or more collapsed pool elements connected by message flows. A collapsed pool element is linked to a collaboration model as submodel, providing a direct navigation with double click.
 
The following message events are mainly used for an inter process communication:
 
  • message start event
  • message intermediate catch event
  • message intermediate throw event
  • message end event
     
    Further message events are:
     
  • boundary interrupting message event
  • boundary non-interrupting message event
     
    Remark: a timer boundery event is explained in chapter 13
     
     
    Properties of an event message:
     
  • An event message is unique within the process context
  • An event message is specified as message definition object in a definition object model
  • An event message may contain a message object specified in a business object model
     
     
Sample - Message Definiton Object "StartProcess"
 
The following sample demonstrates the definition of a message definition object.
 
Tutorial Model: Automation/Data Object/Training/BPMN/DEF
 
Message Definition Object Explanation:
 
The message definition object "StartProcess" is specified in a definition object model and is unique in the process context.
It contains the optional message object, which is a business object of type "ProcessData".
 
 
 
BPMN Training Part 9: Collaboration, Message Events/Flows
 
 
 
 
 
The following sample demonstrate an inter process communication between the collaboration model "User Registration" and the collaboration model "Moderation Registration" using various message events.
 
Tutorial Model: Automation/Business Process/Tutorial/BPM/Message/UserRegistration
 
Process Explanation:
 
  • The process starts with a user task "Request Registration".
  • After the gateway "Is canceled?" the default flow "NO" triggers a message intermediate throw event "Start Moderation" which sends a "Start Moderation" message to the process "Registration Moderation"
  • Then the sequence flow triggers a message intermediate catch event "Receive Notification"
  • The process is now in a wait state until a "Notify Registration" message is received from the process "Registration Moderation"
 
 
 
 
BPMN Training Part 9: Collaboration, Message Events/Flows
 
 
 
 
Tutorial Model: Automation/Business Process/Tutorial/BPM/Message/RegistrationModeration
 
Process Explanation:
 
  • The process is started by a message start event after receiving the specific message "Start Moderation" from process "User Registration".
  • After the user task "Moderate Registration" is executed the default flow "YES" of gateway "Is moderated" triggers the message end event
  • The message end event sends a "Notify Registration" message to the process "User Registration" and terminates the process
 
 
 
 
BPMN Training Part 9: Collaboration, Message Events/Flows
 
 
 
 

Exercise

 
In this exercise you will get familiar with basic inter process communication by using a sender and receiver collaboration model and message start event and message end event.
 
 
Exercise 1: Create both Collaboration Models
 
Remark: Add your user name as a prefix to the model name to easily filter your personal process in the runtime environment (User Portal, Camunda).
 
  • Step 1: Select folder "Automation/Business Process/Training/BPMN/Exercise/C09" in the model tree
     
     
    1. Create the Receiver Collaboration Model:
     
  • Step 1: Right click at model tree folder "Automation/Business Process/Training/BPMN/Exercise/C09" to open context menu "Create Model"
  • Step 2: Enter model name "Username_MsgStartEvent" and keep option "Model Type: Collaboration" in dialog "Create Business Process Model"
  • Step 3: Click button "Search" to open dialog "Select Template"
     
     
     
    BPMN Training Part 9: Collaboration, Message Events/Flows
     
     
     
     
  • Step 5: Select template "TMPL_MsgStartEvent" in dialog "Select Template" with double click or click button "Select"
 
 
 
 
 
 
 
2. Create the Sender Collaboration Model:
 
  • Step 6: Right click at the folder and open context menu "Create Model" to open dialog "Create Business Process Model"
  • Step 7: Enter model name "Username_MsgEndEvent"
  • Step 8: Select model type "Collaboration"
  • Step 9: Click button "Search" to open dialog "Select Template"
     
     
     
     
    BPMN Training Part 9: Collaboration, Message Events/Flows
     
     
     
     
  • Step 5: Select template "TMPL_MsgEndEvent" in dialog "Select Template" with double click or click button "Select"
 
 
 
 
 
 
 
 
Exercise 2: Complete both Collaboration Models
 
Remark: At first you always should model the receiver process.
 
 
1. Complete the Receiver Collaboration Model:
 
  • Step 1: Select message start event from the palette
  • Step 2: Replace the start event by drag&drop the message start event
     
     
     
     
    BPMN Training Part 9: Collaboration, Message Events/Flows
     
     
     
     
  • Step 3: Draw a message flow from the collapsed pool "Sender Process" to the message start event
  • Step 4: Link submodel "Username_MsgEndEvent" to the collapsed pool "Sender Process"
 
 
 
 
BPMN Training Part 9: Collaboration, Message Events/Flows
 
 
 
 
2. Complete the Sender Collaboration Model:
 
  • Step 5: Select message end event from the palette
  • Step 6: Replace the end event by drag&drop the message end event
     
     
     
     
    BPMN Training Part 9: Collaboration, Message Events/Flows
     
     
     
  • Step 7: Draw a message flow from the message start event to the collapsed pool "Receiver Process"
  • Step 84: Link submodel "Username_MsgStartEvent" to the collapsed pool "Receiver Process"
 
 
 
 
BPMN Training Part 9: Collaboration, Message Events/Flows
 
 
 
Exercise 2: Configure the Message Objects of the Message Events
 
Remark: At first you always have to configure the message catch event of the receiver process.
 
 
1. Configure the Message Start Event of the Receiver Collaboration Model:
 
  • Step 1: Select message start event
  • Step 2: Open TAB "Implementation"
  • Step 3: Drag&Drop "StartProcess" from SubTAB "Definition Objects" into "Message Definition Object"
 
 
 
 
BPMN Training Part 9: Collaboration, Message Events/Flows
 
 
 
 
2. Configure the Message End Event of the Sender Collaboration Model:
 
  • Step 1: Select message end event
  • Step 2: Open TAB "Implementation" SubTAB "Configuration"
  • Step 3: Click button "Search" to configure the "Receiver Process Name"
 
 
 
 
BPMN Training Part 9: Collaboration, Message Events/Flows
 
 
 
 
  • Step 4: Select collaboration model "Username_MsgStartEvent" as the corresponding receiver process
 
 
 
BPMN Training Part 9: Collaboration, Message Events/Flows
 
 
 
 
  • Step 4: Select message definition object "StartProcess" from the ComboBox
 
 
 
 
BPMN Training Part 9: Collaboration, Message Events/Flows
 
 
 
 
 
Exercise 3: Publish the both Collaboration Models
 
The process models have to be published into Camunda process engine. The receiver process must not be started on publish.
 
 
1. Publish the Receiver Collaboration Model "Username_MsgStartEvent:
 
  • Step 1: Click button "Publish" in the toolbar to open the dialog "Publish Model"
  • Step 2: Enter username and password
 
 
 
 
 
BPMN Training Part 9: Collaboration, Message Events/Flows
 
 
 
 
 
2. Publish the Sender Collaboration Model "Username_MsgEndEvent:
 
Remark: Do not set option "Start Process", because the receiver will be started by the message end event
 
  • Step 1: Click button "Publish" in the toolbar to open the dialog "Publish Model"
  • Step 2: Enter username and password
  • Step 3: Publish the process with option "Start Process"
     
     
     
 
 
 
 
Exercise 4: Test the Process in User Portal
 
  • Step 1: Login into User Portal with user "john", who belongs to the group "TeamA".
  • Step 2: Execute the task "Enter Data"
  • Step 3: Login into User Portal with user "jane", who belongs to the group "TeamB".
  • Step 4: Execute the task "Verify Data"
 
 
 
 
 
 
 
1

Do not select
Start Process

1. Do not select
Start Process
Do not set option "Start Process", because the receiver will be started by the message end event
 
 
 
1

Select Message Definition Object

1. Select Message Definition Object
Select message definition object "StartProcess" from the ComboBox
 
1

Select Receiver Process

1. Select Receiver Process
Select collaboration model "Username_StartEvent" as the corresponding receiver process    
 
1

Select End Event

1. Select End Event
Select the message end event to configure the message definition object.
2

Open SubTAB Configuration

2. Open SubTAB Configuration
Open SubTAB "Configuration"to configure the message definition object.
3

Click Search

3. Click Search
Click button "Search" to select the "Receiver Process"
 
1

Select Message Start Event

1. Select Message Start Event
Select the message start event to configure the message definition object.
2

Open TAB Implementation

2. Open TAB Implementation
Open TAB "Implementation" to configure the message definition object.
3

Drag&Drop
Message Definition Object

3. Drag&Drop 
Message Definition Object
Drag&Drop "StartProcess" from SubTAB "Definition Objects" into "Message Definition Object"
 
 
1

Message Definition Object

1. Message Definition Object
The message definition object "StartProcess" will be send from the receiver process to the sender process.
2

Message Object

2. Message Object
The message definition object "StartProcess" contains a message object "Process Data".
 
1

Draw Message Flow

1. Draw Message Flow
Draw a message flow from the end event to the collapsed pool "Receiver Process"
2

Link Receiver Process

2. Link Receiver Process
Link collaboration model "Username_MsgStartEvent" as submodel of the collapsed pool "Receiver Process".
 
1

Select Message End Event

1. Select Message End Event
Select the message end event from the palette.
2

Drag&Drop
Message End Event

2. Drag&Drop 
Message End Event
Replace the end event by drag&drop message end event
 
1

Draw a Message Flow

1. Draw a Message Flow
Draw a message flow from the collapsed pool "Sender Process" to the start event
2

Link Sender Process

2. Link Sender Process
Link collaboration model "Username_MsgEndEvent" as submodel of the collapsed pool "Sender Process".
 
1

Select Message Start Event

1. Select Message Start Event
Select the message start event from the palette.
2

Drag&Drop
Message Start Event

2. Drag&Drop 
Message Start Event
Replace the start event by drag&drop message start event
 
 
 
 
1

Enter Model Name

1. Enter Model Name
Enter model  name "Username_MsgStartEvent"
2

Select Collaboration

2. Select Collaboration
Select model type "Collaboration" to create a collaboration model.
 
1

Enter Model Name

1. Enter Model Name
Enter model  name "Username_MsgStartEvent"
 
2

Select Collaboration

2. Select Collaboration
Select model type "Collaboration" to create a collaboration model.
 
1

Message Start Event

1. Message Start Event
A process is started by a message start event after receiving the specific message from another process.
2

Message End Event

2. Message End Event
A message end event sends a message to the corresponding receiver process before terminating the process.
 
 
 
 
1

Message
Intermediate
Throw Event

1. Message
Intermediate 
Throw Event
Use a message intermediate throw event within a sequence flow to send a message to another process or collaboration model.
2

Message
Intermediate
Catch Event

2. Message
Intermediate
Catch Event
Use a message intermediate catch event within a sequence flow to receive a message from another process or collaboration model.
3

Collapsed Pool

3. Collapsed Pool
A collapsed pool element refers to a BPMN collaboration model which is assigned as submodel.
4

Message Flow

4. Message Flow
Use a message flow to connect a message event with a collapsed pool.