Motivation
As in Playback 1, we use the Inspector to validate paths in the process that flow from the decision gateways. We validate the process as it is defined in Playback Zero and demonstrate changes to the business stakeholders, users, and development. We uncover errors in the process flow or in the logic that is used to evaluate the data.
In playback 1, the process data model is implemented along with the appropriate process flow for the data. Flow data is different from business data in that flow data moves the process along from flow object to flow object.
The most obvious examples of flow data are the data elements that decision points use in the process or service diagrams. When a token is at a decision point, the values of data elements are used to determine the next paths to take. Flow data also includes the following circumstances;
- Data that is used to determine which activities to run
- Data that is used to determine who starts each activity
- Data that is used to determine when an activity is due or when an activity must be escalated
The process flow data ensures that the business process gets the right activities to the right people at the right time.
As we’ve created the BPD Gateways here. Now let’s validate paths in the process by creating Playback 1 Assets;
Create the Process flow Variables
We can create the variable to control the flow of the gateways. E.g. In a gateway that required the reviewer approval, yes or no can be handled here.
(String variables are used here instead of Boolean for flexibility of the implementation. If requirements change later, and a third outflow is added to the gateway, a String is easier to implement the change than a Boolean.)
- Let’s create private variables “IsApproved” and “IsApprovedAppr” by going to the variable tab and mentioned 0 and 1 as true/false in the documentation
- Let’s create process flow variables for “Is Reviewer Approved” and “Is Approver Approved” gateways in the “Review Expense” and “Approve Expense” processes.
- Simply go to the variable tab and create input and out variables as “IsReviewerApproved” and “IsApproverApproved” as follows;
Create Intermediate Events
E.g. If there is a condition for the approver to complete the task within 2 hours, we can easily do by creating an intermediate timer event like following;
- Simply select the timer event from the right section;
- Now drag and drop the timer event to “Approve Expense” activity. And update the properties as per requirements;
Implement Gateways
The implementation of the gateway is very interesting. And we have to be a little bit careful in setting the condition as per requirements;
Implement Routing for Activity
Effective business process management is about getting the right task to the right teams at the right time. Process developers implement routing in the BPD for each activity to the right team in the lane.
The goal is to implement the teams for the lanes and implement assignment routing for all activities in the BPD.
Let’s route the activity to Lane and distribution to the Last User.
Mapping Variables
Map the process flow variable to the linked process.
Expose a process application for a team to start
We can simply do that by going to BPD and click the overview tab;
Control the process path through process flow variables
We can show the process as it follows the approval path by changing a process flow variable.