WB835 Unit05 Script
WB835 Unit05 Script
Slide 1
Playback 1: Controlling
process flow with business
data
Slide 2
Unit objectives
• Describe the differences between process flow data and business flow
data
• Add variables to a process
• Implement gateways to control process flow
• Describe teams and process lanes
• Implement routing for tasks
• Assign an expert group to an activity
• Expose a process application to a team
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
Slide 3
Topics
• Managing variables and data flow
• Implementing the intermediate event: Timer
• Implementing gateways
• Routing tasks
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
Slide 4
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
Slide 5
1
was created
▪ Demonstrate that the process
is following the different paths
that are flowing from the
exclusive gateways on the
processes
▪ Demonstrate that the tasks are
being assigned and created in the
Portal inbox corresponding with the
correct lane and assignment settings
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
Playback 1 focuses on enabling the model that is created during Playback 0. To demonstrate that
the process is following the correct flow out of the gateways, the developer sets the value of the
process flow variables.
It is important to gather all the process stakeholders to validate the process and to verify that it
meets the business needs outlined in Playback 0. Verify that the process works as modeled and
as expected. Set the process flow variables and watch the process follow along the correct path
on the decision gateways. Two items to demonstrate include:
• Demonstrate that the process is following the different paths that are flowing from the
exclusive gateways in the process.
• And demonstrate that the tasks are being assigned and created in the Process Portal
inbox that corresponds with the correct swimlane and assignment settings.
If it is necessary to change the high-level process, the project development team can move back
and redo Playback 0. After they receive buy-in that the model meets the goals of the current
release, the project development team is ready to move on to the next stage of Playback 1.
Slide 6
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
Slide 7
• Flow data
• Business data
Activities
Inputs Outputs
Business data
Task 1
Business data
Task 2
Business data
Task 3
To distinguish the different types of data that flow through the process, you can categorize data
into two different types of process data: business data and flow data. These are covered in more
detail in the next two slides.
Slide 8
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
Flow data moves the process along. The most obvious examples of flow data are the data
elements that decision points use on process and service diagrams. When a token is at a
decision gateway, the value of each of the data elements is used to determine the next paths to
take.
Flow data elements go beyond just the data that is needed to drive process decision points. Flow
data includes all of the data to determine:
• Which activities to complete
• Who completes each activity
• And when an activity is due or when an activity is escalated
Flow data must be identified early in the implementation process. Generally, by the end of this
stage of Playback 1, your flow data is identified and implemented. Flow data gets the right
activities to the right participants at the right time. Without flow data, the process cannot work.
Flow data elements are initialized as soon in a process instance as possible.
Slide 9
Inputs Outputs
Business data
Task 1
Business data
Task 2
Business data
Task 3
The business data is a bit more problematic to define than the flow data. In general, the business
data provides the context of the activity to each participant. The data is used to make it clear to
participants what it is that they are working on.
For example, customer service representatives know; based on the activity that was assigned,
that they are working on an insurance claim. From the business data, the representatives can tell
which claim they are working on by claim type, claim number, customer, and claim description.
Slide 10
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
In Process Designer, business objects are complex objects that contain other simple or complex
business objects. An example of a business object is Customer.
Variables instantiate business objects that activities use in a process and store business data.
Variables must be declared before you can use them.
In Process Designer, you map the input and output data to pass variables to an activity in the
process. You must set the input and output data mapping for each activity in the process.
10
Slide 11
Business objects
• Supports two types of business objects: simple and complex
Stock
• Simple business objects
▪ Composed only of scalar properties Number of shares
Stock symbol
Customer
Stock
Stock
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
This slide displays an example of a hierarchical business object called Customer. The Customer
business object, in this example, contains two simple objects and one complex object. The Stock
complex object is further made up of two simple objects.
11
Slide 12
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
This slide contains example business objects. Looking at the parameters that make up the
Person business object, you can see that it contains simple objects such as lastName and
firstName. Other example business objects listed include: Candidate, Position, Qualifications, and
Requisition.
When you want to use the business object in your process or service, you create a local input,
output, or private variable of this type.
12
Slide 13
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
As stated, in the next lab you create some business objects. This slide shows an example of the
instantiation of the Hiring Requisition business object. You can see in the screen capture, the
HiringRequisition business object has both simple objects and complex objects as parameters.
13
Slide 14
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
In this example, the Submit Hiring Request activity has one input and two output variables. At the
process level, you map the tw.local.requisitionDetails variable to the input variable for the human
service and map the two output variables from the service to the process variables.
As mentioned, more on data mapping is covered in the next unit.
14
Slide 15
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
15
Slide 16
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
To standardize variable names, create variable names that begin with a lowercase letter. This
good practice makes it easier to distinguish between a variable and its variable type, which
begins with an uppercase letter.
Capitalize the first letter when creating a business object but use camel case for the variable
instantiation. For example, the variable employeeId uses a lowercase first letter to signify that it is
an instance of a business object type Integer, which starts with an uppercase letter. The standard
business object types (Date, String, Integer, and other types) all follow this same naming
convention.
If the variable name you choose consists of only one word, spell that word in all lowercase letters.
If the variable name consists of more than one word, capitalize the first letter of each subsequent
word. For example, a variable that contains an employee ID number has the variable name
employeeId.
Variable names are case-sensitive.
16
Slide 17
Understanding namespaces
Namespace Description
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
All variables in IBM Business Automation Workflow are JavaScript objects. IBM Business
Automation Workflow uses namespaces to organize these objects, and their functions and
methods. An example of some of the methods is shown in the slide.
When typing out variable names, you can use the content-assist capability in IBM Process
Designer to aid in identifying the correct namespace.
17
Slide 18
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
18
Slide 19
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
Use a timer intermediate event to specify a time before or after an activity occurs. Timer
intermediate events are also used to model escalation paths or delays in the process.
19
Slide 20
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
Timer intermediate events, which are used to model escalation paths or delays in the process,
can occur either between activities or attached to an activity.
The attached timer intermediate event has a unique set of properties that differ from the
sequence flow timer. These properties exist because the task that it is attached to the timer
intermediate event directly affects the event. Attached intermediate events are also called
boundary events.
Two properties specific to the boundary event include:
• The Interrupt Activity option enables the interrupting of the attached activity after the
specified amount of time elapses
• The Repeatable option resets the timer to count again after the specified amount of time
elapses
20
Slide 21
Two options are available only when configuring an attached timer event:
• Interrupt activity: Closes the attached activity after time elapses
• Repeatable: Resets the timer to countdown again after time elapses
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
• Trigger On: which specifies when the timer event should start.
• Custom Date: which uses JavaScript to calculate and specify a date.
• The Before/After Difference option identifies the amount of time to wait before allowing the
token to continue on the flow line.
• The Tolerance Interval specifies an extra delay that is measured one time. For example, if
users accept a task during the delay, they are allowed the tolerance time to complete the task
before the token continues on the sequence flow line.
• The Use the activity work schedule option limits the timer activity to the period specified.
21
Slide 22
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
In this screen capture, you see an example of the event properties of a Timer intermediate event.
22
Slide 23
Implementing gateways
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
Implementing gateways
To control the path that a process takes, the developer implements the decision logic that each
gateway uses.
23
Slide 24
Implementing a gateway
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
• During the Playback process, it is necessary to demonstrate each path that can be taken, but
the logic on how that decision is reached is implemented in a later Playback.
• When you specify the implementation for a gateway, you define conditions that control
whether a path is followed during the running process. After creating the rules and integrating
the data, make sure that you test your newly functioning gateways with the process inspector.
• A good practice for Playback 1 is to avoid the use of Boolean (true or false) variables to
implement exclusive gateways to accommodate more flows that might be added in the future.
Use simple variables such as String or Integer to drive all your exclusive gateways.
Developers can then set the default value of the process variables and show the different
paths that are taken during Playback 1.
24
Slide 25
Routing tasks
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
Routing tasks
This stage of Playback 1 completes the goal of getting the right tasks to the right people at the
right time. Variables were built, and those variables were used to drive decision gateways. When
a task is created for a process participant to complete an activity, the system assigns the task to
the right individual who can complete the work.
In this topic, teams are introduced and then process routing and assignment are examined.
25
Slide 26
Creating a team
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
A team represents the groups of users in your enterprise that can be assigned a task in a
swimlane or assigned directly to an activity. To create a team and add users to that group:
• In the Designer view, click the (+) plus sign next to Teams and select Team from the list of
components.
• In the new Team window, enter a name and click Finish.
IBM Process Designer then displays the property settings for the team.
26
Slide 27
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
A team contains the users who complete the runtime activities that are modeled in each lane.
Team lane assignments ensure that any activities that are not routed to a specific user have an
automatic default assignment.
Creating lanes:
When you create a lane, each lane is assigned a default team that is called All Users. This default
group contains all of the users of IBM Business Automation Workflow to allow for testing of your
processes. If a new lane is a system lane, select the Is System Lane option and add the System
team in the Behavior section. System lanes are shaded a different color so that they can be easily
recognized.
Subscribing to a Blueworks Live process:
If you subscribe to a Blueworks Live Process with preassigned team lanes and no matching
teams exist, IBM Business Automation Workflow creates a team for each lane. IBM Business
Automation Workflow automatically attaches the team to the corresponding lane.
27
Slide 28
Routing activities
• For any activity with a service (task) implementation, you can designate
the users who receive the runtime task by using the Assignments option in
the property tab of the activity
▪ This implementation designates whom to route or assign the activity to
and how it is to be distributed
• By default, Assign to is set to Lane
• The two lane assignment selections are Lane and Team
• User distribution is most commonly set to None or Last User
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
When routing activities developers might not want an activity to go to the default team, or they
might need a more dynamic solution.
For any activity with a service implementation, developers use the Assignments option in the
property tab of the activity to designate the users who receive the runtime task. Developers
control how the runtime task is distributed to designated teams and members.
To assign a task, developers select the activity that they want, and then select the assignments
section to display the assignment properties for that activity.
The Routing options allow the developer to designate whom to route the activity to and how it is
distributed
By default, Assign to: is set to Lane, indicating that tasks are assigned to the team for that lane.
The two most commonly used lane assignment selections are:
• Lane: which routes the runtime task to the team that is assigned to the lane in which the
selected activity is placed.
• And Team which routes the runtime task to any team that the developer wants to designate
the task to. This assignment overrides the default team that is bound to the lane. This
function provides a dynamic layer of routing for a particular task in a process.
By default, User Distribution is set to None, meaning that no specific team member distribution
is applied to the routed task. The task is assigned to the pool of potential team members, allowing
individual members to acquire tasks that are assigned to the pool.
The Last User setting routes the runtime task to the team member who completes the activity
that immediately precedes the selected activity in the lane. Set this option for the first activity in
the lane when the process is started from the process portal and the activity is the first activity
after the start event. In this case, the runtime task is routed to the user who started the process.
28
Other advanced user distributions available in IBM Business Automation Workflow allow the
system to assign tasks to individual team members. In practice, User Distribution is most
commonly set to None or Last User.
29
Slide 29
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
30
Slide 30
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
• Developers use the team retrieval service and the team filter service to dynamically
determine who is eligible to complete activities. These services take parameters from
environment variables to influence the team selection.
• Developers select a template for the team retrieval and team filter service when they create a
service flow. Using the templates ensures that the minimum required parameters for the
services are met. Service flows are covered in more detail later in this course.
• You get a chance to work with team filter services later in this training.
31
Slide 31
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
Business users who are working with the process applications can collaborate or request
assistance from a set of expert users who are associated with a particular task or activity. This list
of experts is displayed in the Experts panel in the Process Portal environment.
An activity must be associated with a human service before it can be assigned experts.
The experts who are listed for an activity are defined in two ways:
• Users who completed this activity in the past, which is based on historical analysis. This list is
limited to a small group of users who completed the activity most frequently.
• And users belonging to a team, which is explicitly specified as an expert group for this
activity.
Your server administrator can configure the teams at run time to ensure that the correct set of
users is identified as experts for the activity in the Process Portal.
32
Slide 32
Unit summary
• Describe the differences between process flow data and business flow
data
• Add variables to a process
• Implement gateways to control process flow
• Describe teams and process lanes
• Implement routing for tasks
• Assign an expert group to an activity
• Expose a process application to a team
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
You have completed this unit. This unit described how to manage the variables and data flow and
covered the implementation of the intermediate timer event, gateways, and routing tasks. Having
completed this unit, you should now be able to:
• Describe the differences between process flow data and business flow data
• Add variables to a process
• Implement gateways to control process flow
• Describe teams and process lanes
• Implement routing for tasks
• Assign an expert group to an activity
• Expose a process application to a team
33
Slide 33
Review questions
1. ______ are the three types of variables that are used in Process
Designer.
A. Private, Input, Output
B. Shared, Input, Output
C. Input, Output, Business Objects
D. Business Objects, Parameters, Variables
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
Notes:
Write your answers here:
•
34
Slide 34
Review answers
1. A: Private, input, and output.
2. D: Gateways define conditions that control whether a path is followed
during the running process.
3. True.
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2020
35
Slide 35
Exercise: Playback 1:
Controlling process flow with
business data
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2019
36
Slide 36
Exercise introduction
• Create simple variables in a process
• Implement timer intermediate events in a process
• Implement gateways for a process
• Implement routing for an activity
Playback 1: Controlling process flow with business data © Copyright IBM Corporation 2019
37
38