BPMN Training Part 5: Exclusive Gateway
Related subfolder of the training project: "C05"
Chapter Overview

An exclusive gateway is used, to split the process execution into two or more conditional flows. A conditional flow is executed only, if the related flow condition returns true.
One of the conditional flows can be marked as default flow. A default flow is executed, if all conditions of the other conditional flows return false.
Sample BPMN Process Model
Tutorial Model: Automation/Business Process/Training/BPMN/Chapter/C05/ExclusiveGateway
Process Explanation:
-
The process is started in the lane of group "TeamA" by a start event.
-
The sequence flow of the start event triggers the user task "Enter Data", which has to be executed by a user of group "TeamA".
-
After the user task "Enter Data" is completed the exclusive gateway evaluates the flow condition "First Name == Username?"
-
if the condition is TRUE the conditional flow triggers the second exclusive gateway which serves as a join and subsequently ends the process
-
if the condition is FALSE the default flow triggers the user task "Verify Data"
-
The user task "Verify Data" has to be executed by a user of group "TeamB"
-
The outgoing flow of user task "Verify Data" triggers the exclusive gateway join and subsequently ends the process
Exercise
In this exercise you should remodel the process above and execute the process in the xAPPnow User Portal.
Exercise 1: Create the Business Process Model
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: Right click at model tree folder "Automation/Business Process/Training/BPMN/Exercise/C05" to open context menu "Create Model"
-
Step 2: Enter model name "Username_ExclusiveGateway" and keep option "Model Type: Process" in dialog "Create Business Process Model"
-
Step 3: Click button "Search" to open dialog "Select Template"

-
Step 5: Select template "TMPL_ExclusiveGateway" in dialog "Select Template" with double click or click button "Select"

Exercise 2: Complete the Process Model
Complete the process model like the model above.
-
Step 1: Open context menu of user task "Enter Data"
-
Step 2: Click at the exclusive gateway to connect it to the outgoing flow of user task "Enter Data"
-
Step 3: Enter label "First Name == Username?"
-
Step 4: Click at the label and move it to the top of the exclusive gateway
-
Step 5: Open context menu of exclusive gateway and select "Default Flow"
-
Step 6: Connect the default flow to the user task "Verify Data"
-
Step 7: Select the default flow and enter label "NO"
-
Step 8: Move label "NO" to the middle of the default flow
-
Step 8: Open context menu of user task "Verify Data"
-
Step 9: Click at the exclusive gateway to connect it as output flow of user task "Verify Data"
-
Step 10: Connect the output flow of the exclusive gateway with the end event

-
Step 11: Open context menu of exclusive gateway "First Name == Username?" and select "Sequence Flow"
-
Step 12: Connect the second conditional flow of the exclusive gateway "First Name == Username?" with the exclusive gateway join
-
Step 12: Enter label "YES" and move label to the middle of the conditional flow

Exercise 3: Implement the Flow Condition
-
Step 1: Select conditional flow "YES" and open TAB "Implementation" to enter the flow condition
-
Step 2: At the left "Flow Condition" enter attribute "localData.processData.firstName"
-
Step 3: Select comparison "==" from the ComboBox
-
Step 4: Enter your "Username" to be compared with attribute "firstName"
Exercise 4: Publish the Process Model
The process model has to be published into Camunda process engine. The process will be started online directly.
-
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 5: Test the Process in User Portal
Variant 1:
-
Step 1: Login into User Portal with user "john", who belongs to the group "TeamA".
-
Step 2: Start the task "Enter Data"
-
Step 3: Enter your "Username" for "First Name", as specified in the flow condition and complete the task
-
Step 4: The process ends
-
Step 5: Login into User Portal with user "jane", who belongs to the group "TeamB" to verify that no task for this process instance is available
Variant 2:
-
Step 6: Open menu "Processes" and start process "Username_ExclusiveGateway"
-
Step 7: Open menu "My Tasks" of user "john"
-
Step 8: Execute task "Enter Data" and enter any other "First Name" than your "Username"
-
Step 9: Refresh task list of user "jane" and execute the task "Verify Data" to end the process








