WB 8141 Stud
WB 8141 Stud
WB 8141 Stud
cover
WebSphere Education
Student Notebook
Trademarks
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business
Machines Corp., registered in many jurisdictions worldwide.
The following are trademarks of International Business Machines Corporation, registered in many
jurisdictions worldwide:
Blueworks Live CICS DB
DB2 developerWorks Express
IBM SmartCloud ILOG PartnerWorld
Rational Redbooks Sametime
Teamworks WebSphere Worklight
Adobe is either a registered trademark or a trademark of Adobe Systems Incorporated in the United
States, and/or other countries.
Intel and Intel Core are trademarks or registered trademarks of Intel Corporation or its subsidiaries
in the United States and other countries.
Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other
countries, or both.
Java and all Java-based trademarks and logos are trademarks or registered trademarks of
Oracle and/or its affiliates.
VMware and the VMware "boxes" logo and design, Virtual SMP and VMotion are registered
trademarks or trademarks (the "Marks") of VMware, Inc. in the United States and/or other
jurisdictions.
Other product and service names might be trademarks of IBM or other companies.
TOC Contents
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Agenda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
Unit 2. Introduction to IBM Business Process Manager and integration with other tools . 2-1
Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
2.1. About IBM Business Process Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-3
Key concepts in this unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-4
5.1. Playback 0: Validation phase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-5
Playback 0: Validation phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-6
Playback 0 validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-7
How validation works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-8
5.2. Reaching consensus on the process model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-9
Reaching consensus on the process model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-10
Validation goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-12
Exercise 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-13
Exercise objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-14
Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-15
Checkpoint questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-16
Checkpoint answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-17
TMK
Trademarks
The reader should recognize that the following terms, which appear in the content of this training
document, are official trademarks of IBM or other companies:
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business
Machines Corp., registered in many jurisdictions worldwide.
The following are trademarks of International Business Machines Corporation, registered in many
jurisdictions worldwide:
Blueworks Live CICS DB
DB2 developerWorks Express
IBM SmartCloud ILOG PartnerWorld
Rational Redbooks Sametime
Teamworks WebSphere Worklight
Adobe is either a registered trademark or a trademark of Adobe Systems Incorporated in the United
States, and/or other countries.
Intel and Intel Core are trademarks or registered trademarks of Intel Corporation or its subsidiaries
in the United States and other countries.
Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other
countries, or both.
Java and all Java-based trademarks and logos are trademarks or registered trademarks of
Oracle and/or its affiliates.
VMware and the VMware "boxes" logo and design, Virtual SMP and VMotion are registered
trademarks or trademarks (the "Marks") of VMware, Inc. in the United States and/or other
jurisdictions.
Other product and service names might be trademarks of IBM or other companies.
pref
pref
Course description
Process Implementing with IBM Business Process Manager Standard
V8.5.5 - I
Duration: 5 days
Purpose
This course teaches core process modeling skills. You also learn a project
development approach, process model implementation fundamentals, and
exceptional delivery patterns. These skills improve the speed and quality of
process definition and implementation efforts.
The course integrates training in business process management (BPM)
methods and implementation with IBM Business Process Manager V8.5.5.
IBM Business Process Manager V8.5.5 is a comprehensive BPM
environment that provides the visibility and insight that is needed to
effectively manage the business processes of an organization.
The course begins with an overview of business process management and
process modeling, and it emphasizes the concepts of reuse, ease of
maintenance, and high-quality development strategies. You use the IBM
Business Process Manager Standard V8.5.5 Process Designer to create a
business process definition (BPD) from business requirements that are
identified during process analysis. You learn how to make team collaboration
more efficient by enabling all team members to use standard Business
Process Model and Notation (BPMN) elements. BPMN elements make
expressing and interpreting business requirements consistent throughout the
business process management lifecycle.
The course continues with an overview of IBM Business Process Manager
V8.5.5 architecture, and describes the use of process applications and
toolkits within the tool. You create business objects and variables, implement
gateways, and enable team lanes to demonstrate process flow on their
diagrams. You build customized user interfaces (coaches) to enable
business and process data flows throughout the process model.
The course uses an interactive learning environment, with hands-on
demonstrations and class activities to reinforce concepts and check
understanding. Lab exercises throughout the course give you hands-on
experience with BPM tasks and skills. This course is intended to be
collaborative, and you can work in teams to complete class activities.
Audience
This course is designed for project members who design and implement
detailed logic, data models, and external system integrations for an
executable business process definition. These roles include process owners,
BPM analysts, BPM authors, BPM developers, BPM administrators, and
BPM project managers.
Prerequisites
Before taking this course, you should have:
Practical knowledge of data structures
Understanding of SQL syntax and JavaScript
Basic understanding of web services
Experience with modern programming techniques
Objectives
After completing this course, you should be able to:
Describe why process modeling is an important phase in the BPM
lifecycle
Explain how to use Process Designer to create a process application
List and identify the core elements that are used to create a BPD in
Process Designer
Translate workflow steps into business process activities and nested
processes
Use gateways to control the process flow
Validate that the process model meets playback 0 goals and
requirements
Identify how intermediate events are used during the execution of a
business process
Describe the architecture of IBM Business Process Manager
Organize process assets into toolkits
Manage variables and data flow
Implement timer events
Implement gateways and routing to control process flow
Build a business data model
Build client-side human services and user input forms (coaches)
Create a snapshot for deployment
Curriculum relationship
This course is an update to WB808: Process Implementing with IBM
Business Process Manager V8.5 - I
pref
Agenda
Day 1
Course introduction
Unit 1: Introduction to business process management
Unit 2: Introduction to IBM Business Process Manager and integration with
other tools
Unit 3: Creating a process model
Exercise 1: Creating a process application
Day 2
Unit 4: Defining process flow
Exercise 2: Modeling gateways and timer intermediate events in a BPD
Unit 5: Validating the process model with playback 0
Exercise 3: Validating the process model
Unit 6: IBM Business Process Manager architecture and toolkits
Exercise 4: Creating a toolkit
Day 3
Unit 7: Conducting playback 1
Exercise 5: Creating playback 1 assets
Exercise 6: Conducting playback 1
Day 4
Unit 8: Conducting playback 2
Exercise 7: Implementing a human service for playback 2
Exercise 8: Creating a snapshot
Unit 9: Conducting playback 3
Exercise 9: Creating playback 3 assets
Day 5
Exercise 9: Creating playback 3 assets (continued)
Unit 10: Conducting playback 4
Exercise 10: Enhancing a coach for playback 4
Unit 11: Conducting playback 5
Exercise 11: Creating error handling for a service for playback 5
Unit 12: Course summary
Uempty
Unit 1. Introduction to business process
management
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-1
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Unit objectives
After completing this unit, you should be able to:
Define business process management (BPM)
List and describe the phases in the BPM lifecycle procedure
Define process modeling
Describe playback 0 and the achievements that are reached during this
stage of project development
Notes:
Uempty
Topics
Business process management (BPM)
About process modeling
BPM project development
About playbacks, specifically playback 0
The Hiring Requisition process
Notes:
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-3
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-5
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Business process
management (BPM)
Notes:
Companies often seek ways to improve their organization to increase productivity, lower costs, and
increase revenues. The challenge organizations face is that change is inevitable in business
because of various factors, like market dynamics. To keep up with the climate of change in
business, organizations must rely on efficient and effective business processes.
Many companies try to implement different strategies to accomplish change management of
processes with little to no disruption of customer service and employee productivity. But many
times, those efforts fail outright or accomplish only a portion of the process improvement because
there is little performance measurement.
Uempty
What is BPM?
Notes:
Business process management (BPM) excels at providing a comprehensive change management
of business processes, which results in continuous process improvement.
Processes are meant to evolve as the organization or external conditions change.
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-7
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Three themes
Notes:
BPM is also described with these common themes: the goal, the system, and the expected results.
All companies have processes; however, the visibility of processes can be varied. BPM is a way to
increase that visibility and hence give direction to the continued efficiency of the processes.
In true BPM, all aspects of a system are important, including human interactions. True BPM seeks
to define and visualize all aspects of your process regardless of what role or system is conducting
that part of the work.
BPM results in continual process improvement, which provides many beneficial outcomes to the
client.
Uempty
A BPM vision
Notes:
Does BPM have or even require a vision? If the ideal is to match existing core competencies and
tool sets with the stated goal, system, and expected result, then the vision might be limited to only
the execution of a process application build. It would also affect what a process model might look
like and what it would communicate to an application development team.
What if a broader vision for BPM is the following?
BPM is the means by which companies and governments improve their operations by using
internal business expertise in new, scalable ways. Improvement is achieved by directly engaging
business people in the design, definition, and creation of enterprise-class process applications.
This vision provides a wider scope for BPM in that it specifies the change not only to the business
process but also to the strategies, development methods, and most importantly, the thinking in
project development.
BPM is a business-led solution, and any tool set that is used to implement it must support that
involvement.
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-9
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
BPM lifecycle
Multiple
iterations
2
Notes:
The BPM lifecycle has four phases: design, modeling, execution, and optimization.
Looking at the BPM lifecycle, it becomes apparent that there are opportunities to use the expertise
of business and IT to collaborate in each phase of the lifecycle. Using this approach to BPM, the
business process is stable and on target. This stability is because of the overall iterative
improvement cycles in keeping up with business goals, business change, and opportunities within
each phase to make critical adjustments.
Business and IT working in concert throughout the BPM lifecycle require a clear set of goals for
each phase. Matched against those lifecycle phase goals are the responsibilities for each group.
Clearly, the governance of the business process varies at each phase for each group, but the
involvement of both ensures that the process improvement is realized.
The goals of each phase are as follows:
1. Design goals:
- Capture executive vision
- Process nomination
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-11
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
This course focuses on the modeling phase of the BPM lifecycle and how business and IT
collaborate to create the process model. The modeling phase is more than just creation of the
process model; it also requires an understanding of how to adjust the model to meet evolving
business requirements. So, throughout this phase, the process model goes through continued
analysis and a series of adjustments and refactoring efforts to obtain a model that can be
implemented into a process application.
All the adjustments and testing allow for a process model that meets what the business expects in
terms of an improved and efficient business process at the end of project development.
BPM done correctly results in business processes that are modeled, analyzed, and adjusted early
and often. The BPM effort goes far beyond basically applying technology to a process to yield a
changed process. Applying technology to automate a bad business process without regard to
necessary analysis and adjustment efforts leads only to a more efficient, but still bad process.
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-13
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
An understanding of a business process is necessary before it can be modeled.
Uempty
Activities
Inputs Outputs
A set of activities that takes specific inputs and converts them into
specific outputs in a defined, predictable fashion
Notes:
A business process is a set of tasks or activities that takes specific inputs and converts them into
specific outputs in a defined, predictable fashion. Inputs typically consist of information or a set of
information that triggers a set of activities in the process. Outputs are the results that the activities
render.
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-15
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Activities
Inputs Outputs
Notes:
Process modeling captures the ordered sequence of the business process tasks or activities, and
the responsible roles that are conducting the activities. It also captures the conditional branching
and the sequencing of the flow of work between activities, along with the supporting information
from start to end.
Uempty
Three-phase approach
Process modeling
Notes:
Process modeling can be described as having a three-phase approach:
Phase I or descriptive modeling: Describe the process. This high-level model provides a
description of the process that is based on business requirements. The model is easily
communicated across the organization.
Phase II or analytical modeling: Analyze and improve the process. This analytical, more
detailed modeling shows all pertinent activities and flow that are used to detail process
requirements.
Phase III or executable modeling: Implement the process. This model details the functional
requirements to implement the executable process application.
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-17
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
A good process model is a graphical representation or diagram of the business process that is
universally understood. Business people understand it easily, and it is directly implemented in a
business process management system (BPMS) such as IBM Business Process Manager.
For all parties to understand a process model universally, process owners, process participants
(business), and the BPM development teams must easily understand each other and recognize the
same concepts in the same context. There is no need for IT to redraw a process model to provide
more clarity or a different point of view.
A good process model provides views into a process that are clearly and easily communicated in 5
minutes or less, at every level of granularity.
Process model development
Now that it is established when and what must be accomplished in process modeling, the next thing
is to focus on is how process modeling is accomplished in terms of development methods.
Understanding how to model a process requires comprehension of the project development
methods that are used for BPM. Realize that project development strategies for process models
differ from standard methods, especially when you consider the usage of process models. In
Uempty standard project development, the shelf life of diagrams that are derived from requirements is only
from the business hand-off to the development teams. In essence, these requirements are
translated into code, and their use ends at that point.
BPM process models are different. Going back to the BPM lifecycle, notice that the process model
evolves in terms of usage. The prolonged shelf life of a process model allows for the iterative BPM
lifecycle because it is data-driven and not code-driven. This setting provides the stability for a
process application without fear of having to start from scratch when change is needed.
This data-driven process model is known as a business process definition (BPD) in IBM Process
Designer.
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-19
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Administrator Process
participant
Shared model
Systems Events
Copyright IBM Corporation 2014
Figure 1-14. The right process model development strategy WB814 / ZB8141.0
Notes:
IBM Business Process Manager uses a single shared environment for project design and
development. All process artifacts are stored in a single shared model architecture. All parties that
are involved in the effort to define, model, implement, measure, and improve the process are
working from a common shared model that encapsulates all of the various components. It helps
maintain the vision of bringing business and IT together.
The following list shows various people who are all using the same business process definition, or
process model:
Business analysts who are modeling the process
The IT developers who are constructing the detailed implementation of the model
The responsible process participants who are completing their activities in the process
The process owner and analysts who monitor the process performance and identify
improvements
The model of the process that the analysts and developers build is the same one that completes at
run time. It is the same one that is used to create reports on the performance and status of the
process, and the same one that is used to implement process improvements.
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-21
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
The established standards and development methods typically reinforce the project development
for any IT initiative. A BPM project, especially one that includes the broader vision and definitions
that are provided, would not fit the typical project development standards because the key BPM
project components are slightly different. This difference is because the BPM project components
reinforce the process first, and the solution second. In BPM, everything is process-driven, so the
development method that is used to develop process models and the eventual process application
must be uniquely focused on the process needs. It is not a system that is traditionally used to
develop projects.
Uempty
Process
modeling
Vision
Goals
Descriptive
KPIs and metrics
modeling
Business requirements
Process requirements
Analytical
modeling
Functional requirements
Development requirements Executable
Solution implementation modeling
Notes:
The top-down diagram view of the BPM components provides a quick view of how a typical BPM
project development evolves. Any of these components that are missing from a project would
interrupt the effective design, definition, and creation of the process application, and curtail the
engagement of business people.
KPI = Key Performance Indicator
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-23
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Development
Definition Test
Three or more
Analysis Validation
business playbacks (iterations)
Deploy
Definition:
Discover and define the process
Analyze the process for improvements, model the process, and set the
process performance measurement criteria
Development:
Prepare the process application for deployment by using an iterative
development with three or more playbacks
Test:
Validate the process application performance in achieving expected business
process goals in a production user environment
Copyright IBM Corporation 2014
Notes:
In contrast to the traditional IT application development approach stands the phased BPM project
development approach that closely aligns to the overall BPM lifecycle. This approach also focuses
on the BPM project components and allows for the different phases of process modeling.
The project development phases are:
Definition: Discover and define the process. Analyze the process for improvements, model the
process, and set the process performance measurement criteria.
Development: Prepare the process application for deployment with an iterative development
with three or more playbacks.
Test: Validate the process application performance in achieving expected business process
goals in a production or user environment.
Uempty
Notes:
The unique phases and components of a BPM project require a specific set of project roles,
including:
Process sponsor: responsible for establishing the project goals and scope, securing
organizational support and resources, and ensuring alignment with organizational business
goals
Process owner: the person who is accountable for the successful execution of the process,
knows the process from end to end at a high level, and can identify the subject matter experts
BPM project or program manager: person responsible for the success of the project
Subject matter experts: people with knowledge of specific process resources, or systems
Core team members: business process management (BPM) development teams, typically
including BPM analysts, BPM developers (includes integration designer developers and
technical consultants), and solution architect (advanced role that can lead teams and serve as
an analyst and developer)
Administrator: installs, updates, and configures the business process management system
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-25
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Facilitator: (optional) typically manages the collaboration meetings for a BPM team
All of these participants work together to collaborate in the design of the process model.
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-27
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
About playbacks,
specifically playback 0
Notes:
A playback between business and IT is a focused demonstration of a partially implemented process
model at the designated development phase. This phase includes the goal of discussion,
consensus building, collaborative improvement, and ultimate approval of the process model.
Playbacks enable the iterative development of the process application.
Playbacks provide early visibility and input from the business group on process application
functions. The perspective of the business group at the early stages benefits development because
the business quickly identifies adjustments to requirements well before the final product is
implemented. The ability to shift direction during the definition and development phase is key to
reaching the ultimate BPM project target.
Uempty
Playback iterations
Playback
0
Notes:
Iteration of your process is one critical key for BPM success.
An iteration of a playback allows users to focus on a part of the overall project and have it
validated before moving on to the next part.
Most playbacks allow users to gather requirements, design and build solutions, and then have them
validated (tested). When the playback is validated, you move to the next area of focus until this part
of the project is complete.
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-29
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Definition Development
Descriptive and
analytical Executable modeling
modeling
0 1 2 3 4 5
Notes:
Often playbacks are conducted as themed stages. The number of actual collaboration meetings
that are conducted inside of each stage can vary. Usually, multiple smaller playbacks are conducted
and target individual groups with a specialized role (developers, administrators, and other roles),
but these smaller playbacks build upon one another, leading to a final playback. During this final
playback, make sure that you reach consensus before moving into the next stage.
The number of final playbacks varies from four to six, depending on the scope of the project. The
minimum number of final playbacks for success is determined to be four playbacks. In this course,
you use six.
This slide is an example of a project plan that contains a typical playback timeline and content of
each of the playbacks. In modeling and implementation, shorter cycles than your company might
currently be used to are good practices. The agile development approach with shorter cycles is
critical to BPM success. Larger projects are scoped down to smaller release cycles. Creating
smaller chunks for a project has many benefits, as follows:
Overall project risk is reduced
Working code can be released into production in a shorter amount of time
Uempty Changes to the project cause less rework if releases occur on a more regular basis
Here are some examples of what happens during these playbacks in the suggested project plan:
Playback 0 example: process discovery, As Is model or map, process analysis, and ends with a
to be model ready for implementation
Playback 1 example: data model and process flow implementation
Playback 2 example: human service or coach design, and data mapping
Playback 3 example: business rules, process flow control implementation, events, UCA,
handlers, and integrations
Playback 4 example: enhanced coach functions
Playback 5 example: error handling, ready for deployment
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-31
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Playback 0
Descriptive modeling
Analytical modeling
Process
modeling
Vision
Goals
Descriptive
KPIs and metrics
modeling
Business requirements
Playback 0 Process requirements
Analytical
modeling
Functional requirements
Development requirements Executable
Solution implementation modeling
Notes:
The definition stage of project development focuses primarily on descriptive and analytical process
modeling. There is a playback 0 for the definition stage. The goal for playback 0 is that the concerns
and achievements at this stage of project development are iterated until a final solution is reached.
The process must be discovered before it is modeled as a diagram. That requires sessions with the
business process owner to uncover the particulars of the business process at a high level. As the
process is defined, it is then necessary to start to analyze and create initial models if possible. Use
an incremental approach from the current state to a future state business process that is accepted
and agreed upon as a final to be model.
Descriptive modeling
The descriptive modeling that is accomplished at early stages can be done with various tools,
including Blueworks Live. Blueworks Live provides the best of breed for process modeling that is
focused on process discovery and analysis. A brief introduction to Blueworks Live is in the next unit.
Early stage, or descriptive, modeling that is based on discovery and analysis has a specific
outcome. Process model diagrams and documentation are refined until both the process owner
Uempty (business) and BPM team designate that the business process is completed and validated. The
focus now changes from business requirements into actual process requirements.
The milestones to get to the final stage in descriptive modeling are process discovery and the As-Is
model.
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-33
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Process milestones
Process
steps
Contribute
Contribute
Collaborate
Notes:
The process discovery effort in playback 0 allows for the capture of the initial process information
that translates into the initial process model. It is typically an effort from process owners and BPM
team members who want to make sure that the current state of the business process is
documented. This documentation can be stored in various tools available to the team, including
Blueworks Live. However, Blueworks Live has the advantage of providing connectivity to IBM
Business Process Manager. With Blueworks Live, the documentation effort maintains a high level of
usage, even beyond process discovery and analysis of the business process.
Agile software development values working code over comprehensive documentation. Although
documentation is valuable, code that works is more valuable. Process discovery should attempt to
capture the process as quickly and accurately as possible, but should not sacrifice project time to
create documentation that does not lead to the project goals. Capturing and documenting
processes inside of a tool like Blueworks Live and IBM Business Process Manager directly
contribute to implementing the process.
Uempty
Definition
1 - 3 weeks
Discovery As Is
is model
Model Analysis To be model Final playback
Notes:
Descriptive modeling is discovering what you currently have; it is providing visibility. The aim is to
document the As Is model, or what you currently do. This action provides the baseline for going
forward.
Moving from discovery to model:
Business process discovery documentation, or mapping, with as much process detail as possible,
is at times a quick process. The beginning of a process modeling effort can happen early.
Therefore, the most common question when in the midst of a process discovery effort is: When do
you move from process discovery to process modeling?
Several aspects must be considered to answer this question.
It is time to transfer to a process model when process discovery sessions exhaust all requirements
to communicate the following concepts:
What a process is
Who is responsible for process task completions
Who is documenting the problems within the process
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-35
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Also, consider the conversations in the process discovery sessions during playback 0 meetings. If
the questions are no longer centered around What does this process do?, and start to center
around What does this process look like?, then the move to a process model is at hand.
Uempty
Definition
1 - 3 weeks
Discovery As Is
is model
Model Analysis To be model Final playback
Notes:
The next phase in process modeling and playback 0 is analytical modeling. The milestones to get to
the final stage in analytical modeling are analysis and the to be model.
Discovery documentation is a just the facts effort, meaning the only thing that interests the BPM
analyst and process owner is that the process in its current state is captured. A good example is the
capture of process problems, or pain points. During discovery, it is not important to try to solve
process pain points, only to document them. This action is where the next step in playback 0 starts
to take shape: process analysis.
Process analysis is when the business process is continually refined until analysis goals are
reached, such as solving process pain points through root cause analysis. Other process analysis
goals include added-value analysis of each process activity that is captured and analysis to ensure
the correct priority for improvement opportunities. With process analysis, the business
requirements are vetted and the process requirements are aligned so that the to be process
model is ready to be finalized.
This course does not cover in detail the how to for process discovery and analysis. WebSphere
Education offers the Process Analysis Methods courses for comprehensive training on process
analysis.
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-37
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
You might also notice that the third phase, executable modeling, is not shown here because
executable modeling comes later and is therefore covered in the next part of the course.
Uempty
Playback 0: Iteration
Playback
0
0
Notes:
Playback 0 has a unique set of achievements during this stage of project development. A BPM
analyst handles playback 0 when working in concert with the process owner and BPM project
manager. BPM project managers need the data from playback 0 to plan for the next project
development cycles, or playback stages. The process owner is interested in the business process.
The successful outcome of playback 0 for a process owner is to have the most efficient and
effective business process that is modeled for continued use in implementation.
To achieve both objectives, the strategy that is used to gather playback 0 data is the iterative phase
approach of:
Capture: make sure that the business process information is shared fully
Document: refine documentation as the analysis continues because there are more
stakeholders than just the process owner
Map: create a discovery map that can clearly define the important information in an
easy-to-read manner
Refine: allow for adjustment to a business process as a clear definition of the business process
and process model is incrementally made
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-39
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
All requirements in playback 0 are iterated, including the model that is finalized for validation. It is
typical to encounter scope creep, or a broadening of the requirements to implement during this
iteration. Keep in mind the duration of the iteration and use the backlog to document those
requirements that do not make this iteration.
Uempty
Business data
Process: Business process
Activities
Inputs Outputs
Business data
Task 1
Business data
Task 2
Business data
Task 3
Notes:
Analytical modeling allows the process owner and BPM team to identify the business data that is
needed for the process model. In general, business data provides the context of the process task
for each responsible role for task completion. For example, if the business process is to process an
insurance claim, the task verifies the claim, and the business data provides the claim type, claim
number, claim description, and claim submitter.
When defining the business data for a process model, BPM teams look at the process as a whole.
The question for each activity becomes: What data does the process require to complete this
task? In the end, the process analysis produces the to be process model and a business data
model as well.
Business data is not implemented during playback 0. Capture the inputs and outputs of activities or
tasks in the documentation. Later in playback 1, you implement the business data as part of the
BPD. For now, business data is useful to conceptualize the process and to determine the following
information: which activities must be part of the process, what occurs inside of the activity, what are
the outputs of the activity, and what input data is necessary for the next activity.
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-41
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-43
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
A company is experiencing much growth and must hire many people in a short amount of time. The
process that you are going to examine and model is called the Hiring Requisition process. This
process covers a new job position through submission, approval, and completion so applicants can
apply for the job position.
The following process requirements already went through an analysis stage and were refined. For
more information about how to get to this point in your process and complete the discovery,
analysis, and refinement stages, consider taking the Process Analysis Methods courses.
Core requirements
1.1: A Hiring Manager submits a hiring requisition to the HR department. The request contains the
following information:
Requisition number
Date of request
Requester
Date position available
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-45
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Unit summary
Having completed this unit, you should be able to:
Define business process management (BPM)
List and describe the phases in the BPM lifecycle procedure
Define process modeling
Describe playback 0 and the achievements that are reached during this
stage of project development
Notes:
Uempty
Checkpoint questions
1. True or False?
Playbacks are based on a waterfall methodology.
2. True or False?
When defining the business data model for a process model, BPM
teams look at the process as a whole.
3. What are the four phases of the IBM Business Process Manager
lifecycle?
A. Design, Test, Action, and Deploy
B. Design, Modeling, Execution, and Optimization
C. Design, Modeling, Execution, and Monitor
4. What are the four stages of playback 0?
A. Requirements, Document, Build, and Refine
B. Requirements, Design, Build, and Test
C. Capture, Design, Map, and Test
D. Capture, Document, Map, and Refine
Copyright IBM Corporation 2014
Notes:
Write your answers here:
1.
2.
3.
4.
Copyright IBM Corp. 2014 Unit 1. Introduction to business process management 1-47
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Checkpoint answers
1. False. Playbacks are based on an agile methodology.
2. True.
3. B: Design, Modeling, Execution, and Optimization
4. D: Capture, Document, Map, and Refine
Notes:
Uempty
Unit 2. Introduction to IBM Business Process
Manager and integration with other tools
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-1
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Unit objectives
After completing this unit, you should be able to:
Describe how to use IBM Business Process Manager to accomplish
process modeling goals
Explain how to create and modify process applications in the Process
Center
Explain how to create and modify process models with the Designer
view of the IBM Process Designer
Describe how to validate process models with the Inspector view of the
IBM Process Designer
Describe the purpose of the Process Portal
Describe the purpose and function of Blueworks Live
Describe the integration with other tools and products
Notes:
Uempty
Topics
About IBM Business Process Manager
The Process Center
The IBM Process Designer
The Process Portal
About Blueworks Live
About Case management
Integration with other IBM products
Notes:
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-3
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-5
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
Process modeling is a three-phase approach: descriptive, analytical, and executable. BPM toolsets
strive to meet those objectives in process modeling and also to fit within the parameters of agile
development and collaboration between business and Information Technology (IT).
Uempty
Process Server
Core BPM Advanced integration
BPMN 2.0 Rules PDW BPEL ESB Adapters
Deploy Measure
Governance and visibility
Define Improve
Network multiple
Process Center Versioned assets Process Centers
Notes:
IBM Business Process Manager is an enterprise application that:
Allows you to build faster, work more efficiently, and constantly improve your business process
model
Employs a graphical process development tool, IBM Process Designer
Provides process visibility and performance data
Provides process simulation and optimization
Provides an interface console for user productivity
Key:
BPEL Business Process Execution Language
PDW Performance Database Warehouse
ESB Enterprise Service Bus
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-7
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
IBM Business Process Manager is a single BPM environment that combines human-centric and
integration-centric capabilities into a unified product. Different configurations of the product are
available for different users, and satisfy different needs in the enterprise. Product configurations can
be combined for collaborative authoring and network-deployed runtime environments. There are
three versions of IBM Business Process Manager offered, each one building upon the capabilities
of the previous one, but all maintaining the core IBM Business Process Manager product.
The Express configuration is limited to 200 users and 3 authors, allows only four cores in production
and two cores for development servers, and is not allowed to be clustered. It comes with the core
IBM Business Process Manager package that all the configurations contain.
The Standard configuration includes all of the capabilities of the Express edition, but does not
include restrictions on users, authors, or cores, and can be clustered.
The Advanced configuration includes all of the capabilities of the Standard editions, and also
includes:
WebSphere Process Server compatible execution
Integration Designer (BPEL / SOA)
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-9
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Modeling Process
tools modeling
Vision
Goals
Descriptive
KPIs and metrics
modeling
Business requirements
Process requirements
Analytical
modeling
Functional requirements
Development requirements Executable
Solution implementation modeling
Figure 2-6. How does IBM Business Process Manager fit in process modeling? WB814 / ZB8141.0
Notes:
The first phases of the BPM lifecycle require a BPM team to designate business process
candidates, discovery, and initial definition of the process. It is appropriate to choose the best tools
to accomplish these tasks. You can use any modeling tools because IBM Business Process
Manager can import anything that is compliant with BPMN 2.0. IBM also has a tool, Blueworks Live,
which is used for modeling and simple execution. Blueworks Live is one of the best tools on the
market for discovery and initial definition of a process. Later in the unit, you learn more about
Blueworks Live.
Many times, a BPM team must change to a tool that handles the adjustments and refinement of a
complicated process model on the way toward execution. Remember that it is best to think of a
shared model approach to maintain a central artifact by which to modify and improve the process.
This approach is where IBM Business Process Manager excels.
Business Process Manager offers the ability to efficiently handle key components of a BPM project
and the three phases of process modeling. Blueworks Live was built as a process modeling SaaS
tool. IBM Business Process Manager is a much more robust modeling and execution tool with the
ability to integrate with external systems, customize the interfaces, and provide enterprise-class
Uempty reporting and visibility into your processes. IBM Business Process Manager can import Blueworks
Live processes to implement them in ways Blueworks Live cannot.
It is important to note that the two types of tools do not have a clear demarcation where one stops
and the other begins in terms of process modeling. That varies from project to project; however,
both work together to engage the business and information technology (IT) sides of a business.
Both tools contain tools to model your processes. For purposes of this course, you start modeling in
IBM Business Process Manager in the analytical modeling effort. Where this course starts process
modeling is not where every process modeling effort begins. Typically, you complete many steps
that precede analytical modeling, but because of time constraints, this course covers only a portion
of modeling.
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-11
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Process Center
Process app
BPD
(shared process model)
Notes:
Process modeling in IBM Business Process Manager is accomplished through the IBM Process
Designer views or interfaces. These interfaces allow developers or authors to create, manage, test,
and optimize process models.
When modeling a process in IBM Process Designer, BPM teams are creating a business process
definition (BPD). A BPD is the reusable shared model of a process, defining what is common to all
runtime instances of that process model.
IBM Process Designer is composed of three key interfaces:
Designer (model and service)
Inspector
Optimizer
To access these interfaces, an author goes through the central repository, the Process Center, and
opens a process app.
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-13
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
The unique design environment of IBM Business Process Manager includes a central repository
that is called the Process Center.
Uempty
Process
Center
Many assets Many authors
Many processes
Copyright IBM Corporation 2014
Figure 2-9. The Process Center: The center of process development WB814 / ZB8141.0
Notes:
The Process Center provides a central development environment and repository for multiple
process authors who are working in IBM Process Designer. The Process Center includes a Process
Center server and a Performance Data Warehouse, allowing you to build and run process
applications and also store process performance data for testing and playback purposes during
development efforts.
Multiple authors can connect to the Process Center and concurrently view the same processes or
assets.
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-15
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Process Center
Process
applications
Analysts
who use IBM
Process Designer
BPDs
Developers
who use IBM
Process Designer
Copyright IBM Corporation 2014
Notes:
In Business Process Manager, process applications are the containers for the process models
(BPDs) and supporting implementations that BPM analysts and developers create in IBM Process
Designer. Supporting the implementation artifacts are services and toolkits. Process applications
can be either created in the Process Center or exported and imported.
Uempty
1 2 3 4 5
Notes:
Process Center is a central repository for all project assets that are created in Process Designer.
When multiple Process Designer clients connect to Process Center, users can share items, such as
processes and services. Users can also see changes that other users make as they happen.
1. Process Apps: You can create, clone, and import process applications and perform other
maintenance tasks on the process applications.
2. Toolkits: You can create toolkits to enable Process Designer users to share library items across
process applications.
3. Servers: Administrators can manage the IBM Business Process Manager servers in their
environments.
4. Admin: Administrators can manage user access to the Process Center repository from the
Process Center console.
5. Search: This field allows user to conduct searches on the Process Center repository.
6. Create New Process App: This option allows user to create a process application.
7. Import Process App: This option allows users to import process application.
8. Download Process Designer: This option allows you to download the process designer
installation file.
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-17
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-19
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
After a process application is in place in the Process Center, the next step is to create and edit the
business process definition that will be contained within. This step is accomplished through the IBM
Business Process Manager interface: IBM Process Designer.
Uempty
2 4
7
Copyright IBM Corporation 2014
Notes:
You use Process Designer to model and implement your business processes and easily
demonstrate process design and functionality during development efforts.
1. Main toolbar: Provides access to Designer, Inspector, Optimizer, and Process Center. The
main toolbar is also where you save all open editors, take a snapshot, and view help.
2. Process library: Provides access to the library items for the current process application.
3. Revision History/Snapshot Catalog: It shows the revision history or the snapshots that are
captured for the process.
4. Main canvas: The area in which you can graphically model your process. Each business
process definition (BPD) automatically includes a start event and an end event. Two default
lanes are included for user and system tasks.
5. Palette: When you develop the process diagram in the Designer in IBM Process Designer, the
tools and components are available from the palette.
6. Properties: It opens the IBM Business Process Manager Help System.
7. Connection status: It indicates the strength of the connection to Process Center Server.
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-21
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
BPMN is Business Process Model and Notation and is covered in the later units.
Uempty
Playback menu
Run Process: Run and debug processes
with the Inspector
Simulate Process: Simulate your
processes to understand how well your
process models perform
Optimize Process: Run historical
analyses with IBM Business Process
Manager Optimizer to measure and
improve the efficiency of your processes
Visualize Process: Create a visual
representation of a selected business
process diagram
Figure 2-15. Process Designer: Edit and playback menu WB814 / ZB8141.0
Notes:
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-23
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Getting Started: This overview describes how to begin with all of the tools
that are available with Process Designer
Help: Starts a web browser for the information center where you can search
for help topics
Key Assist: This menu shows the keyboard navigation of the tool
About IBM Business Process Manager: Shows the current version, build
ID, and build date of the tool
Copyright IBM Corporation 2014
Notes:
Uempty
Notes:
8.
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-25
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-27
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
The Process Portal is the main tool that business process users interact with to complete tasks and
processes. Other tools, such as the IBM Business Process Manager mobile application, can also
be used to complete tasks and processes.
The Process Portal also has use for project development, especially in terms of validation. BPM
teams and business stakeholders want to reach consensus in the playback session to end a stage
of development. When consensus is the goal, the Process Portal allows the team to view the
process performance as it would function in a user environment.
This unit focuses on the Process Portal, but also presents the mobile application to show other
ways that business users can run processes and tasks.
Uempty
Notes:
The Process Portal has a main page that allows you to run and manage tasks. Users view their
current process performance or the teams performance by selecting the tab for each dashboard.
On the Work page, Overdue and Due Today headings are used to separate tasks. Users manage
tasks by using the menu directly to the right of the task. To complete a task, click the step and claim
the task. Another page allows you to complete the task.
Search allows users to search tasks, and Completed Tasks filters tasks that were created in the
past.
On the right side of the window is where you start a new process.
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-29
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
The Process Portal has several social features. When completing a task, a menu in the right
window allows you to access task details, the process activity stream, and experts of the task.
Activity streams provide a way for you to monitor and complete ad hoc actions on your favorite
processes and tasks.
Experts either predefined or discovered dynamically (by using social analytics) help you
complete process tasks. An experts advice can be taken while working on a task. Experts can also
be invited for collaborative working on Tasks. There are two types of experts:
Experienced Experts: Experts that are discovered dynamically by using social analytics. For
example, business users who claim the tasks and complete on time are discovered as
Experienced Experts.
Subject Matter Experts: The experts that are predefined during the process-modeling phase
are shown under the Subject Matter Experts label.
The stream allows you to comment and post, read, and comment on what actions the process
completes immediately after they occur. You can upload a photo, and each post displays your
photo. You can also create an IBM Connections Integration, which enables the default Process
Uempty Portal business card to be replaced with the Connections Business card. Automatic system posts
are designated by an icon with blue gears.
In addition to text posts, you can also post attachments and links. Mention other users by using the
@ symbol and typing the first few characters of the user name.
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-31
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Simple task forms and intelligent coaches guide user inputs Copyright IBM Corporation 2014
Notes:
Sometimes the Process Portal is not used in implementation. Email, Business Space widgets, or
integrated software of a company runs the Process Portal as well. Another way to run a process or
task is on your Apple iPhone or Apple iPad. Coaches are displayed in the mobile format by using
custom mobile-ready coach views. You learn about coach views and building coaches during
playback 2.
A mobile application is available in the Apple iTunes store to integrate with IBM Business Process
Manager. With the mobile application, you can:
Review file attachments for extra context or approval
Attach photos to an existing task
View and complete tasks right from your mobile device
Start new processes remotely
Have full on-screen assistance
Work within a single interface to both Blueworks Live and IBM Business Process Manager
applications
Uempty
Notes:
To develop custom mobile applications, IBM Business Process Manager bundles Worklight
Enterprise Edition with all the entitlements. The IBM Worklight Mobile Platform is an open,
complete, and advanced mobile application environment for HTML5, hybrid, and standard
applications. With the Worklight integration, developers can create mobile applications that
provide BPM capability and take advantage of IBM Worklights cross environment developer
productivity and server-side features for security, statistics aggregation, unified notification, scale,
and management.
The Sample Mobile Coaches Toolkit found on the IBM Business Process Manager wiki page
(http://bpmwikilogin.bpmwiki.com/) includes over 15 coach views for creating coaches that are
optimized for devices.
The IBM Business Process Manager Mobile Application requires no additional software from the
IBM Business Process Manager installation. Developers are able to use their existing BPM skill set
and use coaches to develop high-performing, stylish mobile applications for users to complete their
tasks. Worklight uses device services that are based on HTML, and is cross-environment, so
developers build one page and it is cross-compatible for all mobile devices.
For more information on IBM Worklight, consider taking the IBM Education course WU505.
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-33
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Navigation of the
Process Portal
Running tasks in the
Process Portal
Notes:
Process Portal navigation
1. Open the Process Portal from the windows menu or the desktop icon.
2. Log on to the portal with your IBM Process Designer credentials.
3. Explore parts of the designer interface and library menu.
Process Portal task completion
1. Click a task to claim and run the task.
2. Click Yes to claim the task.
3. Complete the web form or coach to complete the task.
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-35
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
Earlier in the unit, you initially learned about Blueworks Live as an IBM tool used primarily for
modeling and analysis of processes. In this topic, the tool and a few of its capabilities are explored.
Uempty
Modeling Process
tools modeling
Vision
Goals
Descriptive
KPIs and metrics
modeling
Business requirements
Process requirements
Analytical
modeling
Functional requirements
Development requirements Executable
Solution implementation modeling
Figure 2-25. How does Blueworks Live fit in process modeling? WB814 / ZB8141.0
Notes:
Blueworks Live is one of the best in market tools for discovery and initial definition of a process.
Often the pattern is that a company creates models and completes process analysis in Blueworks
Live and then moves processes into IBM Business Process Manager for implementation and
integration with different systems.
As mentioned before, it is important to note that both tools do not have a clear demarcation where
one stops and the other begins in terms of process modeling. That varies from project to project;
however, both work together to engage business and IT sides of a business.
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-37
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
No installation is necessary:
All that you need is a paid
subscription and a web
browser pointed to
www.blueworkslive.com
Notes:
Blueworks Live is a software as a service (SaaS) tool where customers pay a monthly fee to use
the website. It is frequently updated and improved based on user comments and requests. No
installation is necessary. All that is needed is a paid subscription and web browser pointed to:
www.blueworkslive.com
Blueworks Live is different from many other IBM products because it is sold as software as a
service, or SaaS. Customers pay a monthly fee to subscribe to the service.
Every 812 weeks, a new release of Blueworks Live is completed. Many times, the developers rely
on suggestions from the customer community to create and add new features. When there is an
update, you do nothing; your software is automatically updated.
Blueworks Live requires only an Internet connection and web browser to get started modeling.
There is no installation of products or maintenance hassles. It is a quick way to start mapping your
processes.
Although you already learned that Blueworks Live can be used for modeling and analyzing
processes, it can also be used for running small, simple processes.
Uempty
Notes:
IBM Blueworks Live has many collaborative and social features for modeling and completing
processes.
The product has real-time editing, where you can view others changes as they happen. There is
also a version history available if you must revert to a past version or undo changes.
Many social features such as streams, commenting, messaging, and sharing, are all available to
connect people to get the best process model possible.
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-39
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Figure 2-28. Blueworks Live: Trial and education offerings at no cost WB814 / ZB8141.0
Notes:
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-41
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
Uempty
Figure 2-30. What is Case Management for IBM BPM? WB814 / ZB8141.0
Notes:
The basic case management feature requires a separate license.
For more information, visit the IBM Knowledge Center page on IBM Business Process Manager
Building Cases:
http://www.ibm.com/support/knowledgecenter/SSFPJS_8.5.5/
com.ibm.wbpm.wle.editor.doc/topics/ccrtcases.html?lang=en
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-43
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
Ad hoc activities are covered in the next unit.
Uempty
Notes:
The Process Center library now contains Case specific artifacts such as Case Type and Document
Type. The Cases menu is available only in IBM Business Process Manager Advanced.
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-45
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Case/process Status
Case/process data
Figure 2-33. Process Portal: Case and process details WB814 / ZB8141.0
Notes:
Developers can create cases by using both the process designer and the portal. The portal is also
the way to interact with the cases and complete the steps necessary to close the cases inside the
system.
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-47
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
Uempty
Notes:
In IBM Business Process Manager, you can use Enterprise Content Management (ECM) tools to
work with IBM Business Process Manager documents in the embedded IBM Business Process
Manager document store. For example, you can create, edit, and work with documents in the
document store with either a Client-side human service or a Heritage Human Service.
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-49
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Figure 2-36. Integrating BPM and Enterprise Content Management WB814 / ZB8141.0
Notes:
Reference: Integrating IBM Business Process Manager with an Enterprise Content
Management system
URL: http://www.ibm.com/developerworks/bpm/bpmjournal/1212_ramos/1212_ramos.html
Uempty
Figure 2-37. Monitoring process applications with IBM Business Monitor WB814 / ZB8141.0
Notes:
For more information about IBM Business Monitor:
http://www.ibm.com/support/knowledgecenter/?lang=en#!/SSFPJS_8.5.5/
com.ibm.wbpm.mon.doc/scen/bpm.html
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-51
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
You can use IBM Business Monitor to generate a default monitor model for your process
application. A dashboard is automatically generated for the monitor model, and it shows up in the
Business Space Manager page in a web browser. You can also create your own dashboard for
viewing monitored data.
Uempty
Autotracking automatically
captures data from tracking points
at the entry and exit of each item
in a BPD
Example: Services, activities, and
gateways
Notes:
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-53
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Figure 2-40. Integrating with IBM Operational Decision Manager WB814 / ZB8141.0
Notes:
IBM Operational Decision Manager (ODM) complements with the IBM Business Process Manager
products to empower businesses to automate, manage, and improve the decision cycle in the face
of growing complexity and change.
Reference: Best practices for designing and implementing decision services, Part 2: Integrating
IBM Business Process Manager and IBM Operational Decision Management
URL: http://www.ibm.com/developerworks/bpm/bpmjournal/1212_boyer2/1212_boyer2.html
Uempty
Unit summary
Having completed this unit, you should be able to:
Describe how to use IBM Business Process Manager to accomplish
process modeling goals
Explain how to create and modify process applications in the Process
Center
Explain how to create and modify process models with the Designer
view of the IBM Process Designer
Describe how to validate process models with the Inspector view of the
IBM Process Designer
Describe the purpose of the Process Portal
Describe the purpose and function of Blueworks Live
Describe the integration with other tools and products
Notes:
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-55
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Checkpoint questions
1. True or False?
The Process Center provides a central development environment
and repository for multiple process authors who are working in IBM
Process Designer.
2. True or False?
In Business Process Manager, snapshots can be taken only by
using the Process Center console.
3. What are the three phases of process modeling?
A. Descriptive modeling, analytical modeling, and executable modeling.
B. Data modeling, analytical modeling, and executable modeling.
C. Descriptive modeling, analytical modeling, and monitor modeling.
D. Descriptive modeling, functional modeling, and executable modeling.
4. Blueworks Live is a ______ tool.
A. Social media.
B. Quality assurance.
C. Software as a service (SaaS).
D. User interface design.
Copyright IBM Corporation 2014
Notes:
Write your answers here:
1.
2.
3.
4.
Uempty
Checkpoint answers
1. True.
2. False. You can take a snapshot by using the Process Designer or
the Process Center console.
3. A: Descriptive modeling, analytical modeling, and executable
modeling.
4. C: Software as a service (SaaS).
Notes:
Copyright IBM Corp. 2014 Unit 2. Introduction to IBM Business Process Manager and 2-57
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Uempty
Unit 3. Creating a process model
Unit objectives
After completing this unit, you should be able to:
List and describe the core notation elements that are used in IBM
Process Designer
Examine a defined workflow from detailed process requirements and
identify the interrelated process activities and the roles that are
responsible for completing them
Decompose activities into processes and nested processes that
contain process tasks
Create a BPD from the process and nested process tasks and
responsible roles
Notes:
Uempty
Topics
Creating a process model
Pool and lanes
Phases
Flow objects
Nested process
Notes:
Notes:
Notes:
Creating the process model, in this case a BPD since you are using IBM Process Designer, is part
of the effort within playback 0. Naturally, modeling does not stop with creation of the process model,
but continues on through iterations until the business process reflects the specified improvements
and adjustments. For this reason, the shift from descriptive modeling to analytical modeling
happens to produce the process model that is deemed worthy of implementation.
It begins with the creation of the process model.
Uempty
Notes:
To understand how to create a process model that is incrementally adjusted through the playback
sessions of the business process, follow these guidelines:
If creating a process model during discovery of the business process, a good practice is to have
the process model reflect only the captured data.
It is a good practice to delay solving process pain points until analytical modeling. During
discovery, the focus is on capturing the process.
The process model is agile enough for continued adjustments, so focus on the expected order
of process tasks reflected in the model first.
Automation
Not the first order of business in process modeling
Should follow a natural development path from an analysis of the
business process pain points
Merely automating a business process provides the opportunity to
make a bad business process more efficiently bad
Notes:
Give careful attention to the focus of the initial process model. Many times, organizations
erroneously believe that BPM is about adding technology solutions to process problems. Soon after
the initial sessions to document the business process, the decision to automate process tasks is
prematurely made. Automation certainly is a good thing in BPM; however, it is not the first order of
business at this early stage. Allow the analytical modeling effort to designate opportunities to
automate tasks. It happens naturally as the iterations on the process model provide opportunities to
adjust and improve the business process.
Uempty
Where to start
Methodology
(playbacks)
Process modeling
Standard
(BPMN)
Notes:
As described earlier, process modeling captures the ordered sequence of activities within a process
along with supporting information from start to end. In modeling, the business process is framed
with a workflow model to reflect component activities, the roles that are conducting those activities,
conditional branching, and the sequencing of the flow of work between activities. In IBM Process
Designer, this workflow model is called a business process definition (BPD), but is also sometimes
called a process diagram.
To translate process requirements that are documented in the discovery sessions into a process
model; it is important for the BPM team to understand how to use the best methods and standards
available. Not only is it necessary to translate requirements, they must be translated correctly so
that everyone clearly understands the process model.
Where a BPM team starts is by adhering to the standards used in process modeling, Business
Process Model and Notation (BPMN).
Concurrent to using BPMN to model the business process, a BPM team also uses a development
method that works best to collaborate on modeling with business and IT. This development method
is called playbacks.
IBM Business Process Manager uses the playback to assist project development and BPMN v2.0
as the model standard.
Uempty
About BPMN
Process Designer
The standard flow chart-based element palette
notation for defining business
processes
Creates a standardized bridge for the
gap between business process
design and process implementation
IBM Business Process Managers
Process Designer uses several core
elements from BPMN
Pool
Lane
Event
Activity
Flow
Gateway
Copyright IBM Corporation 2014
Notes:
To communicate this model clearly within your organization, apply a notation standard. This
notation is known as Business Process Model and Notation or BPMN.
BPMN is used so that everyone involved can interpret and understand the model. Throughout
development, many different parties are involved in modeling. Every stakeholder, from the least
technical to the most technical, understands the model to provide valuable feedback and
continuously improve the process.
BPMN also allows a way to compact your process definition. Many of the symbols represent ideas,
so symbols allow for a more concise and smaller model than drawing a diagram without BPMN.
There are many benefits of BPMN, but most importantly, BPMN creates a standardized bridge for
the gap between the business process design and process implementation. This single notation is
agreed upon among multiple BPM vendors for the benefit of the user community.
IBM Process Designer uses several core BPMN elements:
Pool
Lane
Event
Activity
Flow
Gateway
IBM implements and interprets these elements to have specific meanings and terminology in the
IBM Process Designer product. For definitions of the BPMN specification, see the BPMN
Specification document version 2.0 from the Object Management Group.
The element palette of IBM Process Designer is shown in the slide image. These items correspond
to BPMN elements and are used in modeling a process.
A BPMN Standards group that is called Object Management Group, is an international, open
membership, not-for-profit technology standards consortium. You can search the Internet for this
group.
Uempty
Creating
a BPD
Notes:
Create a BPD:
1. Open the appropriate process application in IBM Process Designer.
2. Hover over the Process library heading and click +.
3. Select Business Process Definition from the options.
4. Type the name and click Finish.
Notes:
The discovery and analysis session provide details about the business process that can be
converted into BPMN process model elements. These elements can be used in conjunction as a
diagram that describes the business process and later runs the process application. This section
deals with two specific elements: pools and lanes.
In IBM Process Designer, the default setup for newly created process models, or BPDs, is one pool
and two lanes. One lane represents a team and the other a system lane.
Uempty
Pool
Notes:
A process that you model in IBM Process Designer includes the default IBM Process Designer
pool, which consists of two default lanes. In essence, the pool is the BPMN element that represents
the entire business process. The pool is the only element that is not found in the element palette
and does not have properties, but it is the default setup for all models that are created in IBM
Process Designer.
Lanes
Notes:
Each lane represents a team, and the process task responsible role is detailed in the discovery and
analysis session. Lanes provide context for a process model as each lane contains a series of
activities that are assigned to a specific team member or events that transpire in the process.
Activities and events are covered in more detail in the other sections of this unit.
To obtain the details for the team during discovery and analysis, user stories help determine which
teams are responsible to conduct specific process tasks. Each of these teams is assigned to a lane
when you model the process. It is important to remember that a team is a role, and not a person, in
a process model.
The analogy of a swimming pool is a perfect description, as the pool with the associated lanes
visually represents swimlanes in a pool. Swimmers are thought of as the teams who are swimming
the length of the pool, completing tasks in their lane.
Uempty
System lane
Notes:
When the time comes to define process tasks that are automated, the process model needs a way
to communicate with automated tasks. A process participant who is assigned to a lane is not always
a responsible human role. Process participants who are assigned to lanes can also be systems.
For example, the discovery and analysis session might find that a system, rather than a human role,
completes a certain set of process tasks such as conducting a background check on a loan. IBM
Process Designer has a specific default lane to contain these sorts of automated tasks: the system
lane. During the initial process model build, tasks that are automated are represented as part of the
system lane.
Further automation of process tasks is designed when the process is improved and validated
through the iterative playback project development. This iterative development can mean system
lane movement and rearrangement to indicate where efficiency is found for the entire business
process.
Phases
Notes:
A phase is the highest level demarcation in a business process. When starting the process
discovery, phases are often gathered first because they are the details that process owners easily
recall about a process. When the phases are established, the process details that fall under each
phase are gathered to help complete the discovery and analysis.
Uempty
Figure 3-15. How are phases used in IBM Process Designer? WB814 / ZB8141.0
Notes:
When using IBM Process Designer, your company can optionally choose to use phases. They do
not provide any function for process implementation in IBM Process Designer, but they are a good
organizational framework for descriptive and analytical process modeling.
Phases are common in many process discovery and documenting products such as IBM Blueworks
Live. If a process diagram is imported into IBM Process Designer from tools like IBM Blueworks
Live, it is likely to automatically carry phases into your BPD.
Vertical boxes represent phases in IBM Process Designer and contain various tasks that are
correlated to the particular phase.
If you choose to use phases, a good practice is to name each with a noun. Here are some
examples for the naming conventions of a phase:
Approval
Orientation
Application Processing
Notes:
Here is an example business process that went through a process discovery and analysis stage.
The resulting documentation for the process contained the following elements:
Teams:
- Submitter
- Approver
Phases:
- Submission
- Approval
- Payment
As previously covered, translating the process information yields a start to the process model (BPD)
in IBM Process Designer similar to the one that is displayed on the slide.
Process documentation from playback 0 contains information that allows authors to add BPMN
elements that reflect work steps for each participant, including process controls and expected
Uempty process flow. This information enables an author to continue with the creation of the process model.
The next section covers the translation of business process documentation into key process model
events, tasks, and process flow.
Modeling teams
Modeling phases
Figure 3-17. Instructor walk-through: Modeling teams and phases WB814 / ZB8141.0
Notes:
Modeling teams:
1. Drag the lane icon from the element palette to add the necessary participant lanes to the two
default lanes (participant and system) provided.
2. Click the lane and change the lane name on the properties tab to appropriately model the
teams.
Modeling phases:
1. Drag the phase icon from the element palette to any lane to add a milestone.
2. Click the lane and change the lane name on the properties tab to appropriately name the
phases.
Flow objects
Notes:
At this stage of diagramming a business process, an author considers flow objects for the model.
Flow objects in a process model are in the lane for teams because they represent either process
task assignments or process controls. In this course, you are not examining every type of event,
activity, or gateway available in IBM Process Designer. Instead, you learn the most commonly used
types of flow objects and your specific needs for modeling your first process. The remainder of this
unit and the upcoming units cover the different types of flow objects.
Uempty
Notes:
Events
Events are control flow objects for a process model. Just like the definition of an event in everyday
life, an event is something that occurs during a process. There are three categories of events: start
events, intermediate events, and end events. In the initial process model, it is important to have a
start event and an end event. You focus on start and end events in this unit and revisit intermediate
events in a later unit.
Start events
A circle encompassed by a single line represents a start event. Start events trigger the initiation of
the process through a manual or automatic input. Authors describe the input in the properties tab
documentation box that is provided for the element.
There are four types of start events in IBM Process Designer: none, message, content, and ad hoc.
None: Use the none implementation option if you want to enable process participants to start a
process manually from the IBM Process Portal. Or, use this implementation option when you
intend to use a process as a linked process from another higher-level process.
Message: Use the message implementation option if you want an incoming message to kick off
a process or an event subprocess.
Content: Use the content implementation option if you want an event to kick off a process.
Ad hoc: Use this implementation option when you include ad hoc actions that are run at any
time during process execution.
Uempty
Notes:
The two types of start events that are used most often are none and message.
1. None:
The none event can be called a standard start event and is represented as a circle that does
not have an internal marker. In a BPD, you can have only a single standard start event. If you try
to model more than one standard start event, the process does not run and alerts you to the
error. Creation of a BPD gives you one standard start event by default.
2. Message:
Another type of start event is message. This start event is represented as a start event with an
internal marker of an envelope. Message start events start a process when an external signal is
received.
For example, suppose your company wants its employee onboarding process to start when a
new employee record is created in the HR system. When a new record is created, the HR
system sends an event to IBM Business Process Manager. IBM captures that event and starts
the follow-on events for the process. You can have more than one message start event for a
business process definition.
Uempty
Notes:
An end event is represented as a circle encompassed by a dark thick single line. End events are
reached in a process when a final decision from all activities or a partial set of activities is reached.
There are four types of end events: none, message, error, and terminate.
This process has two none end events: End and Requisition ended
When you have more than one none end event, each should have a
unique name
Copyright IBM Corporation 2014
Notes:
The type of end event that is used most often is the none end event.
None
This type of end event can also be called a standard end event, and is represented as a dark circle
that does not have an internal image. Unlike standard start events, you can have multiple standard
end events. So any BPD can have a single standard start event, and one or multiple standard end
events. Creation of a BPD gives you one standard end event.
Multiple end events can improve understanding of the business process flow.
Uempty
Activity: Task
Activity
Notes:
Another type of flow object is the activity. An activity in a process model represents a logical unit of
work that a human or a system completes during process completion.
An activity is represented as a rectangle with rounded corners.
Notes:
In a BPD, you can change the activity type by selecting the activity, clicking the implementation
section, and choosing the type of activity from the menu.
The activity that is highlighted in the BPD is a task that is assigned to a team. The icons that are
used for none and the other task-type activities are highlighted in the properties tab.
Uempty
1 User task 1
activity
2 None 2
activity
3 System 3
task
activity
Copyright IBM Corporation 2014
Notes:
None
An activity of type none has no implementation, and is represented as a rounded corner rectangle
with no icons or symbols. This activity can be useful when initially modeling if you are unsure of the
implementation of an activity or its type because of vague requirements or you are currently
analyzing the model. As the model evolves, the activity type can be changed to something more
specific. This type is not displayed by default, so you select it in the implementation section if it is
something that you would like to use.
The stage of modeling in the example process lends itself more towards defining types as you
already have specific requirements.
Task activities
All task activities have an icon in the upper left corner of the activity to indicate their type.
The four types of task activities are user task, system task, decision task, and script (task).
User and system tasks are the more common types of task activities that are used for modeling. A
decision task is used in another course unit during implementation of the process. Scripts are also
used during implementation of the process model.
User tasks
A user task is represented as an activity with a human or person icon in the upper-left corner.
User tasks are selected if a user or human starts or completes an activity. One example of a user
task is that an employee fills out an expense report and submits it for compensation. If you drag an
activity from the palette to a non-system team lane, you automatically get a user task activity on
your BPD.
System tasks
A system is represented as an activity with two gears in the upper-left corner.
System tasks are selected if an automated system or service completes an activity. One example is
a payment of an expense. When the expense is approved, you might want a system to go through
steps to process and automatically pay the employee. If you drag an activity from the palette to the
system lane, you automatically get a system task activity.
Uempty
Notes:
An ad hoc activity has no input flows and is started as required by knowledge workers or according
to predefined preconditions, rather than by a predefined process flow. Such activities can be
required or optional, and they can be defined as repeatable or to run at most once.
Do not add any input or output flows to the activity. If you add any flows to the activity, the activity is
no longer unstructured. The Activity Behavior section is only displayed for unstructured activities
that have User Task, Subprocess, or Linked Process implementations.
Figure 3-27. Unstructured (ad hoc) activity: Implementation and behavior WB814 / ZB8141.0
Notes:
A simple dialog box is used to specify the behavior of the activity, including preconditions for
enabling the activity.
Uempty
Notes:
These activities are the basic behavior of the ad hoc activities that are supported, and many
combinations are possible.
Notes:
This slide shows the state and its icon for each activity in Process Portal.
Uempty
Make sure that you use the Documentation area in the Properties tab
for each element in IBM Process Designer to include important
requirement notes
Figure 3-30. Process modeling guidelines in IBM Process Designer WB814 / ZB8141.0
Notes:
When modeling in IBM Process Designer, remember the guidelines that are shown in the slide.
The next sections describe some of the core elements and explain how IBM Process Designer uses
them to create the initial process model.
BPD activities:
File Expense Report
Approve by Manager
Approve by Accounts Payable
Confirm Payment
Archive Expense Report
Copyright IBM Corporation 2014
Notes:
Modeling task activities
Process documentation provides details on the teams in a business process and also the work they
do. It is important to note that the information is primarily captured and in some instances, analyzed
for value. However, more change can happen after it is represented in a process model. It is also
information that is work-related and not necessarily conducive to process model needs until
translated. It requires a little more comprehensive work from the process author to model process
activities for teams correctly and not create a process model that is too complicated to
communicate the business process effectively.
Returning to one of the guidelines:
In general, it is a good practice to create a BPD that is as simple an abstraction as can be modeled.
A highly conceptual BPD is resilient to change.
To create the simple abstraction process model, authors go through a series of changes to the
activities. When the initial process model with these refined activities and process flow is in place,
BPM analysts continue to analyze the process with the process owner for process improvements
and appropriate automation opportunities. Finally, a stable process model can be implemented.
Uempty What is important to remember is that a good process model typically has an activity represent a
single task that a single process team accomplishes. The next section covers a nested process and
how an activity can also represent multiple activities or tasks effectively in a process model.
Figure 3-32. Translating business process work steps into activities WB814 / ZB8141.0
Notes:
Capturing the process information does not necessarily mean that the work steps captured are
filtered into logical units of work. That depends on the depth of work that captures and documents
the data. The better the process discovery, the more easily the work steps get translated into the
process model activities.
This slide shows an example of work steps that are captured for the expense reimbursement
process.
Uempty
Notes:
Revisit the initial process model with the activities from the work steps. Can you tell how the
translation was done?
Remember, the BPD has the activities File Expense Report, Approve by Manager, Approve by
Accounts Payable, Confirm Payment, and Archive Expense Report.
Notes:
The expense reimbursement process shows how different tasks are changed into work units and
modeled as activities. Each activity represents a single task that is accomplished from beginning to
end by a process participant.
Uempty
Notes:
When modeling activities in IBM Process Designer, follow these guidelines that are shown on the
slide.
Notes:
When modeling activities in IBM Process Designer, follow these guidelines that are shown on the
slide.
Uempty
Task
(activity)
Start
(event)
Task
(activity)
Connect
Notes:
Now that the flow objects are added to the process model, it is necessary to provide the basic
control and flow for these activities. The connection between flow objects represents the control or
flow in all of the team and system lanes.
This type of diagramming provides communication of how the process flows from one activity to
another and who does those activities. The method to accomplish this step in IBM Process
Designer is as follows:
Click to anchor on one flow object.
Then, drag the cursor to the next flow object and click the object to connect.
Using the rule of thumb of top-down, left-to-right flow, connect flow objects from left to right or
from bottom to top on the objects. This rule helps with the simplicity of the process model and
helps keep flow lines from crossing.
Because it is the early stage of process model, it is only necessary to communicate the expected
flow of the process from the start event to one activity to another and to the end event. As the
process model is analyzed and adjusted, the process flow is modified to express the nuances of
alternative flow.
In the next unit, you learn the alternative process flow more comprehensively.
Uempty
Creating and
naming activities
Figure 3-38. Instructor walk-through: Model task-type activities and events WB814 / ZB8141.0
Notes:
Model task-type activities and events:
1. Drag activities and place them in the participant lanes in the correct flow of the process.
2. Name the activities appropriately with a verb-noun naming convention.
3. Change the type of activity in the implementation section, if necessary.
4. Add any events to the participant lanes.
5. Connect the flow objects (events and activities) from top to bottom and from left to right.
Nested process
Notes:
The last category of activities that is used in IBM Process Designer is the nested process category.
Activities that are gleaned from process documentation are not always going to be tasks that
effectively communicate the business process in a simple manner. To judge communication
simplicity and effectiveness of the process model, many users use the following guideline:
Clearly and easily communicate BPDs in 5 minutes or less at any level of granularity.
Uempty
Nested process
+
Notes:
Decomposition
To achieve a level of effective communication of the process model, authors use decomposition to
judge whether they are at simple abstractions of the model with single logical units of work for
activities. Decomposition is basically showing details for a business process with a series of
process model definitions that are connected at high level to child definitions.
In essence, a flow object activity is also used as a container of a child definition, which in turn can
have activities that also contain child definitions. When the activities within the child definition
represent logical units for work or tasks for each activity, decomposition is no longer necessary.
Child definitions in process models are called nested processes.
Is decomposition always necessary for process modeling?
Decomposition is necessary only if the process model is too complex to communicate the details of
the business process, and the activities do not necessarily equal logical units of work. It would not
be necessary to decompose if the process documentation produced the information that led to a
simplified BPD.
Notes:
All nested process activities indicate their type in two different ways. They have a plus sign with a
square symbol in the lower-right corner to indicate that they are a nested process and not a
task-type activity. Also, each type of nested process activity has a distinct activity outline to further
designate its type.
The three types of nested process activities are subprocess, linked process, and event subprocess.
The first two, subprocess and linked process, are more common than the event subprocess, which
is a specific case. You focus on the first two in this course.
Uempty
1 Linked process
2 Subprocess
Notes:
1. Linked process:
A linked process is an activity with a plus sign and square in the lower-left corner, and a dark
bold line encompasses the activity.
This type of process might be thought of more as separate from the original process than as a
subprocess. Think of two processes that are linked when using this type of nested process. You
can reuse this type of process in many different parent processes. An example might be a legal
review that can be used in several different insurance claims processes. If your legal review is
the same in an auto insurance claim and in a property insurance claim, you would want to
choose a linked process for the legal review.
If you drag an existing BPD onto the canvas of another BPD, it results in a linked process.
2. Subprocess:
A subprocess is an activity with a plus sign and square in the lower left corner, and a normal
single line encompasses the activity.
This type of nested process can be thought of as a subset of the original process. Sometimes,
you might hear it called an embedded process. You cannot reuse this type of nested process,
so think of reuse when choosing this type of nested process. If at any time the nested process
might be reused in another process, then choose a linked process instead.
You can think of a subprocess as hiding several activities from view so you can achieve your
goal of communicating your process in 5 minutes or less. Subprocesses also work well with the
parent data model to pass along data values. Data and data models are explained in more detail
in a later unit in this course that deals with implementation of the process model.
Uempty
Subprocess example (1 of 2)
Notes:
Notice that the approval phase has an update to the tasks for the approver teams. Instead of two
approval tasks, there is now one nested process activity to represent the logical unit of work:
Approve Expense Report.
After consulting with the business, it is determined that this process is unique and it is not reused.
For this reason, it is a subprocess type of activity. After renaming the activity, select the activity and
choose subprocess from the implementation section.
Subprocess example (2 of 2)
Notes:
When you double-click the activity, the subprocess shows. Then, create the model for the
subprocess, copying the former activities. Notice there is a breadcrumb trail at the top so you can
go back to the top-level process.
In the second BPD, the teams are narrowed down to two. Notice that the system lane does not exist
in the nested process.
Uempty
Creating a
linked process
Figure 3-45. Instructor walk-through: Nested processes and decomposition WB814 / ZB8141.0
Notes:
Model and decompose a nested process:
1. Combine any initial workflow steps into process model tasks when necessary.
2. Decide whether you need a subprocess or a linked process.
3. Nest any business process definitions as needed.
Exercise 1
Notes:
To accomplish the task of creating a process model (BPD) in IBM Process Designer, there must be
a process application to contain the model. Using the Process Center, an author first creates a
process application with all the appropriate information to enable creation of a process model or
BPD.
The Hiring Requisition process owner-provided detailed information about the process and its
current state to the BPM analyst, who in turn documented the information and the process for
improvement. This step completed the process discovery and initial analysis, and now the process
model can be created.
To accomplish the task of creating the initial process model, you complete it with a pool, lanes,
phases, and flow objects such as activities, events, and nested processes. Take the information
that is provided in Unit 1 on the outcome of the process discovery and initial analysis, and translate
that into a BPD. Your first task is to create a business process definition and name it appropriately.
The Hiring Requisition process owner-provided detailed information about the process and its
current state to the BPM analyst, who in turn documented the information and the process for
improvement. This step completed the process discovery and initial analysis, and now the process
model can be created.
Uempty To accomplish the task of creating the initial complete process model, take the information that is
provided in the exercise scenario and translate that into a BPD. In this activity, your task is to model
and name the teams.
To accomplish the task of creating the initial process model, use the information that is provided in
the exercise scenario and translate that into a BPD. In this exercise, add the activities in the
appropriate lanes and use sequence flow to connect the activities. Be sure to model the happy path
(critical path) first. You learn about gateways and alternative flow in the next unit.
Complete decomposition on your process and create subprocesses or linked processes where you
see opportunities for them.
1.
2.
Exercise objectives
After completing this exercise, you should be able to:
Create a process application in the Process Center
Create a BPD
Create the foundation for a BPD by adding the appropriate lanes to the
default pool
Translate business process workflow steps that are documented in the
process discovery and analysis into process model tasks
Model the expected process flow for the initial process model
Decompose business process workflow steps that are documented in
the process discovery and analysis into process model tasks
Create a subprocess or a linked process
Notes:
Uempty
Unit summary
Having completed this unit, you should be able to:
List and describe the core notation elements that are used in IBM
Process Designer
Examine a defined workflow from detailed process requirements and
identify the interrelated process activities and the roles that are
responsible for completing them
Decompose activities into processes and nested processes that
contain process tasks
Create a BPD from the process and nested process tasks and
responsible roles
Notes:
Checkpoint questions
1. True or False?
Automation is the first order of business in process modeling.
2. True or False?
BPMN is a standard flow chart-based notation for defining business
processes.
3. ______ represents a single task that a process participant
accomplishes from beginning to end.
A. Process
B. Pool
C. Activity
D. Lane
4. ______ are control flow objects for a process model.
A. Pools
B. Lanes
C. Events
D. Task
Copyright IBM Corporation 2014
Notes:
Write your answers here:
1.
2.
3.
4.
Uempty
Checkpoint answers
1. False. Merely automating a business process provides the
opportunity to make a bad business process more efficiently bad.
2. True.
3. C: Activity
4. C: Events
Notes:
Uempty
Unit 4. Defining process flow
Unit objectives
After completing this unit, you should be able to:
Describe process sequence flow and the runtime use of process tokens
List and describe gateways as they are used in IBM Process Designer
Explain how to evaluate conditions for a BPD gateway
Model gateways in a BPD
List and describe intermediate event types that are used in IBM
Process Designer
Model a business process escalation path with an attached timer
intermediate event
Notes:
Uempty
Topics
About process flow
About tokens
About gateways
Intermediate events
A way to model an escalation
Notes:
Notes:
Notes:
Comprehensive process models have one thing in common: they communicate process flow well.
Process flow encompasses both the normal, expected process path to completion, and alternative
process paths that might occur with different process conditions or business rules. To understand
how to communicate both kinds of process flows in the process model, it is important to understand
what types of sequence flow exist in process modeling and how to implement gateways.
Uempty
Notes:
What is sequence flow?
Sequence flow is considered to be part of a category of connecting objects. These objects connect
each element on the diagram to indicate the order in which elements are conducted.
Normal sequence flow:
The simplest example of sequence flow is the connection of two flow objects. A plain arrow
represents a normal sequence flow. It is the type of flow that was used when you connected
elements in the last unit.
With normal sequence flow, the business process progresses to the next step in the process as
soon as the first step is completed.
Notes:
Conditional sequence flow is associated with gateways. Conditional expressions are evaluated to
determine which path the flow is going to take. The difference between normal and conditional
sequence flows is that conditional flows are not automatically followed; the condition must be met
first.
The number of conditional flows that are followed is determined according to the type of element
that is used and the requirements of the instance that is being processed.
An arrow with a diamond at the start of the arrow represents a conditional sequence flow.
Uempty
Notes:
When using conditional sequence flow in IBM Process Designer, a default flow is required. The
default flow indicates a processing path to follow when none of the conditions on the conditional
flows are true. It allows at least one path of processing (the default path) for the business process to
follow.
This type of sequence flow has a slash added to the beginning of the flow line. You notice when you
draw sequence flows to and from certain elements that the slash immediately shows.
About tokens
Notes:
Tokens are used to describe how the process flows when the process is run.
The indication of a token on a step identifies the location of active processing steps of that business
process.
Uempty
What is a token?
Notes:
A token is used in two ways:
Display to developers, designers, and business the task it is completing.
To help in the understanding of the flow through a business process, which is based on the type
of gateway that is chosen at the design stage, and different use case scenarios. Tokens can
help to determine whether the correct gateway is selected based on the business requirements.
Notes:
Here is an example of serial processing along with the explanation for the placement of the token.
As each step is completed, a token identifies the next step that is required until the path of
processing reaches an end event. In this case, the third step is active, which shows the red token
on that step. The two previous steps are completed in order, and the lighter colored tokens are
emphasizing that fact.
Uempty
Notes:
Tokens can help in the understanding and identification of a particular path of processing that an
instance takes. In this slide, you see that by tracking how the token gets diverted through alternative
paths, the sequence flow that the use case requires is definable.
Notes:
In many situations, more than one step within a business process can be active. The token allows
the identification of all active steps of a business process. Each active step within the business
process is highlighted or shown with a token. Here you can see that after the token passed through
the gateway, the business conditions required that two steps of the business process must be run
concurrently.
About gateways
Notes:
Often, a gateway is used to control flow of a process.
Uempty
Represented as a diamond
Notes:
A gateway is represented as a diamond.
?
Is Loan
Approved?
Notes:
Often, a gateway is representative of a question that is asked at a particular point in a process.
Uempty
Notes:
The question has a defined set of alternative answers. All of the answers can be thought of as gates
that are keeping the process from continuing until a valid answer is provided for the question.
Gateways control the divergence and convergence of sequence lines, determining branching and
merging of the paths that a process can take.
Notes:
Typically, gateways have two distinct modes. One mode is that a gateway can split an incoming
path into multiple outgoing paths. It is known as a split.
Uempty
Notes:
The second mode for a gateway is that it can merge multiple incoming paths into one outgoing path.
It is known as a join.
In IBM Process Designer, an exclusive gateway is not used to join multiple tokens. Inclusive and
parallel gateways allow for joins to be used.
Using gateway splits and joins:
Gateway splits allow for activities to occur at the same time.
In some situations, there are times when some actions must not proceed until a set of previous
activities are completed. An example of this gateway is a summary task of the results of previous
actions.
When this example happens, you need an accompanying join to make the process work in a
simple, sensible manner. It also makes the process diagram easy to understand by various
audiences.
A good rule to remember that when modeling splits and joins, it is one token into the process and
one token out of the process.
Exclusive
Gateway
Figure 4-19. Exclusive: Diamond shape with no internal marker WB814 / ZB8141.0
Notes:
The first type of gateway you examine is the exclusive gateway. This gateway is sometimes called
an XOR gateway. If you want to send the process flow along only one of the available sequence
flows, use an exclusive gateway.
Uempty
Figure 4-20. Exclusive: One or more outgoing conditional sequence flows WB814 / ZB8141.0
Notes:
Outgoing sequence flow conditions are evaluated from top to bottom as defined in the properties
tab of the gateway.
It is a good practice to model exclusive gateways so that only one outgoing sequence flow
condition can be true.
After a business process condition is met, that conditional sequence path is followed, and
evaluation of subsequent outgoing sequence flow conditions stops.
If no conditions are met, the default processing path is followed.
Notes:
Because this gateway uses conditional sequence flow, an outgoing default sequence flow (a line
with no condition) must be modeled with exclusive gateways. It allows the process to proceed even
if none of the conditions on the conditional processing paths evaluate to true.
Uempty
Process narrative
Submit auto damage claim:
Notes:
Notes:
This example has an exclusive gateway. The activity labels are not all verb-noun pairings.
Sometimes there is not enough space for a full name. If it happens during your modeling, the key is
to make sure that your labels communicate the process clearly.
Uempty
Notes:
Here is an example with tokens.
Notes:
The lighter tokens show where the token was. These lighter tokens are shown to further
understanding and are not part of the software. The red token indicates where the token is.
Uempty
Notes:
This path is taken if the claim is under $1000.
Notes:
This path is taken if the claim is between $1000 and $5000.
Uempty
Notes:
The default sequence flow is taken if the rest of the conditions are not met.
Inclusive
Gateway
Figure 4-29. Inclusive: Diamond shape with an internal circle WB814 / ZB8141.0
Notes:
The next type of gateway is the inclusive gateway. This gateway can be used as either a split or a
join. To distinguish the usage, it is called the inclusive split gateway or inclusive join gateway.
Uempty
Figure 4-30. Inclusive split: One or more outgoing conditional sequence flows WB814 / ZB8141.0
Notes:
A gateway that is used to move process flow along one or more conditional sequence flows is
called an inclusive split gateway. Each conditional sequence flow is evaluated in turn, and each one
that evaluates to true is followed. This type of evaluation means that the inclusive split can cause
parallel processing to occur within a business process.
Notes:
This type of gateway also uses conditional sequence flow so an outgoing default sequence flow (a
line with no condition) must be modeled with conditional gateways. The default sequence flow is
followed only if none of the preceding conditions are true.
While both exclusive gateways and inclusive splits evaluate conditions, they behave differently. The
exclusive gateway allows a process to take only one of the available paths, while an inclusive split
can allow it to take one or more conditional paths. The default sequence flow works the same in
both gateways; the default sequence flow is followed only if all of the conditional sequence flows
evaluate to false.
Inclusive join gateways:
The same inclusive gateway also has a join function. It can be used to bring together multiple
processing paths and join them together. This gateway is useful when a previous gateway caused
parallel processing paths to occur in the business process, and they are now required to be joined
to be able to complete a common business activity.
The inclusive join has the following capabilities:
Any number of incoming sequence flows can be modeled.
Uempty The inclusive join is able to determine which of these sequence flows are live.
After all live incoming sequence flows reach the inclusive join, the outgoing sequence flow is
followed.
The inclusive join is able to determine whether an incoming sequence flow is no longer live and
no longer waits for it.
Process narrative
Building damage report process:
When damage occurs to the building, the facilities manager must
submit a damage report
Notes:
Uempty
Notes:
This example has an inclusive gateway.
Notes:
Follow the tokens.
Uempty
Notes:
Now the token is at the gateway.
Notes:
The token takes the path if the damage is from the fire only. In this case, the second condition is not
met because the damage is under $5000.
Uempty
Notes:
The token meets both conditions if the damage is from fire and the damage is over $5000. In this
case, the fire department and insurance agent are notified.
Notes:
The token can also meet the condition of damage over $5000 and be non-fire damage.
Uempty
Notes:
The token can also go through the default path as none of the other conditions are met.
Notes:
With this pattern change, you can now be sure that the building manager is notified any time
damage occurs to the building.
However, there is one more potential problem. Can you spot it?
Uempty
Notes:
There is the potential of notifying the building manager twice. You can fix this potential problem with
one more pattern change.
To solve this issue, add a join to the diagram. Even if two tokens arrive at the join, only one token
arrives at Notify building manager.
Parallel
Gateway
Figure 4-42. Parallel gateway: Diamond with an internal plus WB814 / ZB8141.0
Notes:
The next type of gateway is a parallel gateway (AND). The split mode is called a parallel split and
the join is a parallel join.
Uempty
Notes:
Parallel split gateway:
Parallel split gateways are used to direct the process flow along every sequence flow in parallel.
There are no conditional or default flows for parallel split gateways; every exiting sequence path is
followed.
Parallel join gateway:
A parallel gateway also has a join capability. Similar to an inclusive join, there can be occasions
when the business criteria caused multiple sequence flows to be followed in parallel, and the
business criteria now needs the sequence flow to be joined.
The parallel join has the following capabilities:
Any number of incoming sequence flows can be modeled.
After all incoming sequence flows reach the parallel join, the outgoing sequence flow is
followed.
The parallel join is unable to determine whether an incoming sequence flow is no longer live.
Care must be taken when designing the parallel join to ensure that all sequence flows reach it.
Do not use a parallel join if you cannot be sure that all incoming sequence flows are followed for
every instance likely to be processed.
Uempty
Process narrative
New hire onboarding process:
Requisition a computer
Notes:
Notes:
This example has a parallel split gateway.
Uempty
Notes:
This example uses tokens.
Notes:
The token is now on the gateway.
Uempty
Notes:
There are no conditions on the lines of a parallel split, so all paths are taken at the same time.
Parallel join
Notes:
Adding a parallel join to your diagram is a good practice.
Uempty
? ?
Notes:
Joins are flexible in BPMN. Can you name the type of gateway that would be used at each of the
question marks?
Notes:
Both are inclusive joins.
The path at the bottom of the design has an exclusive gateway after the activity. Because only one
of the paths can be followed, you do not know until run time which path is taken. Only an inclusive
join can determine which paths are live, so it does not wait for a path that never completes.
Uempty
Figure 4-52. Evaluating conditions: Decision logic in the outgoing sequence flow WB814 / ZB8141.0
Notes:
Both exclusive and inclusive gateways use conditions. These gateways allow the evaluation of
these conditions to determine whether they are true or false. You can put the decision logic in the
outgoing sequence flows of the gateway if the conditions are simple expressions of process data.
Notes:
If the conditions are not simple expressions of process data, the good practice is to externalize the
decision logic to make it independent of the process model.
Use an activity before the gateway to decide what path to take. Then, use the outgoing sequence
flows from the gateway to route the flow that is based on the decision, as shown in the diagram.
This method is the most explicit way to model decision logic used by a gateway.
Gateways can also use a rule service or decision service as part of the implementation of the
gateway. This approach has the advantage that it eliminates the creation of a system lane activity
on the BPD to provide the logic for the gateway. The disadvantage is that the logic is hidden from
implementers who maintain the code. Both approaches are effective, but it is up to the implementer
to decide which approach works best for your organization.
Uempty
Notes:
Creating gateways:
1. Drag the gateway symbol from the element palette to the BPD.
2. Name the gateway.
3. Select the type of gateway you want in the General section of the Properties tab.
4. Using the sequence flow tool, click to anchor the flow line from an activity and then click to
connect the flow line to a gateway in the BPD.
5. Using the sequence flow tool, click to anchor the flow line from a gateway and then click to
connect the flow line to an activity in the BPD.
6. To add a label to the sequence flow line, select the line in your BPD and then edit the Name
property value. Make sure that you select the Name Visible check box to see it in the BPD.
7. Do not worry if there are no conditional diamonds on your sequence flow lines or if the wrong
sequence flow is displayed with the default flow identifier. The conditional and default flow
identifiers are corrected during implementation.
Intermediate events
Notes:
If an event takes place between a start and an end event in the BPD, it is called an intermediate
event.
The intermediate event is designated by a double-lined circle, and an internal marker specifies the
type of intermediate event that is taking place.
Uempty
Intermediate events
Four types of sequence flow
intermediate events
Message
Content
Timer
Tracking
Notes:
Intermediate events:
There are four main types of sequence flow intermediate events: message, content, timer, and
tracking.
There are four main types of boundary (attached) intermediate events: error, message, content,
and timer.
Intermediate events are drawn as a double circle with an internal marker that identifies the type
of event.
All intermediate events behave the same way; they respond to a specific event; however, the
implementation of each intermediate event, whether attached or sequence flow, differs.
Notes:
A timer intermediate event is used to model escalation paths or delays in a BPD. By using a timer
intermediate event, developers can specify a time interval after or before which some activity is
conducted.
Uempty
Notes:
A message intermediate event is used to model a message event that is received or sent while a
process is running. For the sequence flow message intermediate event, a light envelope receives a
message and a dark envelope sends a message. When the message intermediate event is
attached to an activity, the event receives messages but does not send messages.
Notes:
Use the intermediate event to detect errors and to handle errors with login in the process flow.
Important
The Error implementation option is available for events that are attached to activities. Error
intermediate events are not used in sequence flow.
Uempty
Notes:
Use the Content implementation option to model an Enterprise Content Manager event that is
received. The Content implementation option is available for events that are included in the process
flow and events that are attached to an activity.
Notes:
The tracking intermediate event is used to indicate a point in a service at which you want IBM
Process Designer to capture the runtime data for reporting purposes.
Note
Uempty
Figure 4-62. Attached and sequence flow intermediate events WB814 / ZB8141.0
Notes:
Intermediate events can be in sequence flow or attached to the boundary of an activity. All
intermediate events, except for tracking intermediate events, are processed the same way in IBM
Process Designer.
Notes:
An intermediate event in the sequence flow pauses the process until the specified event takes
place.
Uempty
Figure 4-64. Process stops until an intermediate event occurs WB814 / ZB8141.0
Notes:
Figure 4-65. Process continues on sequence flow when an intermediate event completes WB814 / ZB8141.0
Notes:
When the specified event occurs, the process flow continues along the normal sequence flow.
Uempty
A common requirement (1 of 5)
Notes:
This example shows the inventory requirement model. When someone places an order, check
inventory and see whether it is in stock or out of stock. If it is in stock, process the order. If it is not in
stock, wait for replenishing of the inventory before processing the order.
A common requirement (2 of 5)
Notes:
Follow the token again.
Uempty
A common requirement (3 of 5)
Notes:
The token is on the gateway, and the inventory is not in stock.
A common requirement (4 of 5)
Notes:
The token stops on the intermediate event.
Uempty
A common requirement (5 of 5)
Notes:
The process is paused while the token is on the event, and then the process continues again after
the Wait for inventory event takes place.
Creates another
process token
Notes:
An intermediate event that is attached to the boundary of an activity produces a separate token. If
the specified event takes place while the activity is active, the intermediate event distributes the
token along the outgoing sequence flow. After it occurs, you can specify whether to create parallel
or an alternative process flow.
Note
An intermediate tracking event has a different behavior and does not conform to these behaviors.
Uempty
Notes:
Follow the token. Here the process flow reached the activity.
Figure 4-73. Attached intermediate event generates a separate token WB814 / ZB8141.0
Notes:
The attached intermediate event generates a separate token.
Uempty
Figure 4-74. Attached intermediate event can create a parallel flow WB814 / ZB8141.0
Notes:
Two things might happen.
One option is that the attached intermediate event can create a parallel flow, and both tokens
continue.
Figure 4-75. Attached intermediate event can close an activity WB814 / ZB8141.0
Notes:
Another option is that the attached intermediate event can be defined to close an activity. The token
on the activity is consumed, and one token continues down an alternative path.
Uempty
Notes:
This slide is an example process for an attached intermediate event.
Notes:
The token starts on the Process order activity.
Uempty
Notes:
Intermediate events can also be attached to the boundary of an activity.
Notes:
The intermediate event is defined to close the activity, so only one token continues to Cancel order.
Uempty
Figure 4-80. Attached intermediate event is active only when the activity it is attached to is active WB814 / ZB8141.0
Notes:
The event is no longer active when the process activity is not active.
The tracking event has a particular way of working. As already mentioned, it is used to capture
runtime data for reporting purposes. Tracking events can be placed only on process flows and not
attached to activities. After the flow reaches a tracking event, it does not pause the process, but
instead causes the capturing of runtime data at the event. Multiple tracking points can be placed
within a BPD to capture different data at different points and different snapshots of data at various
points. For more information, see the IBM Business Process Manager help file.
A way to model an
escalation
Notes:
Some business requirements that you might encounter include statements such as complete this
task by a specified date or time. If the task or activity is not completed, the model must indicate
what would happen, and include to whom the task or activity would be escalated and when the task
or activity would be escalated. Modeling escalations is a reaction to the provided visibility for your
business process and implements controls to manage process cycle times. Escalations also help
communicate service level agreements for the process tasks that must be met.
Uempty
Notes:
Notes:
Timer intermediate event:
Allows a process to wait explicitly, or react to the passing of time
Time interval can be based on system time, a due date, or a custom time
Example: a traffic citation process (pay the fine activity) where if someone does not pay a traffic
ticket within 30 days, a citation is issued
Uempty
Notes:
Creating intermediate events
1. Drag the intermediate event component from the element palette to the BPD.
2. If an attached timer intermediate event is needed, place the element in the boundary of the
chosen activity.
3. Name the event appropriately.
4. If a sequence flow intermediate timer event is needed, place the element in the sequence flow
that you want in the BPD.
5. Select the event and change the type in the Implementation section, if needed.
6. If modeling an escalation, place an activity from the element palette into the BPD, where the
participant responsible for the escalated task is located.
7. Use the sequence flow tool from the element palette to connect the attached intermediate event
to the activity and modify the process flow.
Exercise 2
Notes:
The Hiring Requisition process owner-provided detailed information about the process and its
current state to the BPM analyst, who in turn documented and analyzed the information. The
process model is started, complete with some normal sequence flow. There was also some
decomposition to make the process model as succinct as possible. It means that there are
subprocesses in the model.
Your activity responsibility is to add all the gateways necessary to model the flow control for the
BPD in the Hiring Requisition process, which includes the nested BPDs.
Your activity responsibility is to accomplish the task of adding all the timer intermediate events that
help satisfy newly identified requirements for the Hiring Requisition BPD. It encompasses process
flow control and more activities that are based on conditions that non-human interactions set.
Uempty
Exercise objectives
After completing this exercise, you should be able to:
Add gateways to a business process definition
Model the appropriate sequence flows for each gateway
Add a timer intermediate event to a BPD based on business
requirements
Model an escalation path in a BPD with IBM Process Designer
Document details for the implementation team
Notes:
Unit summary
Having completed this unit, you should be able to:
Describe process sequence flow and the runtime use of process tokens
List and describe gateways as they are used in IBM Process Designer
Explain how to evaluate conditions for a BPD gateway
Model gateways in a BPD
List and describe intermediate event types that are used in IBM
Process Designer
Model a business process escalation path with an attached timer
intermediate event
Notes:
Uempty
Checkpoint questions (1 of 2)
1. True or False?
A gateway that merges multiple incoming paths into one outgoing
path is known as a split.
2. Which of the following sequence flows indicates a processing path to
follow when none of the conditions on the conditional flows are true?
A. Default
B. Normal
C. Conditional
3. A gateway that is used to move process flow along one or more
conditional sequence flows is called an ___________ gateway.
A. Inclusive split
B. Exclusive split
C. Inclusive join
D. Exclusive join
Copyright IBM Corporation 2014
Notes:
Write your answers here:
1.
2.
3.
Checkpoint questions (2 of 2)
4. True or False?
Exclusive gateways should be modeled so that only one outgoing
sequence flow condition can be true.
5. After all incoming sequence flows reach the _________, the outgoing
sequence flow will be followed.
A. Exclusive join
B. Parallel split
C. Parallel join
Notes:
Write your answers here:
4.
5.
6.
Uempty
Checkpoint answers
1. False. The gateway that merges multiple incoming paths is known
as a join.
2. A: Default.
3. A: Inclusive split.
4. True.
5. C: Parallel join.
6. B: Timer intermediate events.
Notes:
Uempty
Unit 5. Validating the process model with
playback 0
Copyright IBM Corp. 2014 Unit 5. Validating the process model with playback 0 5-1
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Unit objectives
After completing this unit, you should be able to:
Describe the playback 0 validation goals and requirements
Validate that a process model meets playback 0 goals and
requirements
Notes:
Uempty
Topics
Playback 0: Validation phase
Reaching consensus on the process model
Notes:
Copyright IBM Corp. 2014 Unit 5. Validating the process model with playback 0 5-3
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
Copyright IBM Corp. 2014 Unit 5. Validating the process model with playback 0 5-5
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Playback 0: Validation
phase
Notes:
In playback 0, documentation and process analysis set the correct framework for the process model
creation, process automation, and process activity value analysis to gain efficiencies, visibility, and
effectiveness for the business process. The entire playback 0 stage typically takes one to three
weeks to complete.
Uempty
Playback 0 validation
Playback zero
Definition
1 - 3 weeks
Discovery As Is
is model
Model Analysis To be model Final playback
Notes:
Copyright IBM Corp. 2014 Unit 5. Validating the process model with playback 0 5-7
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Definition Development
New or modified
requirements
are identified
or
Process model is
validated
Notes:
The work that is done in playback 0 is reflected in the adjusted process model of the business
process, and now it can be implemented as a process application. To ensure that the business
process is the right candidate to implement, it is necessary to have a consensus that playback 0
reached the final goal. This consensus is known as playback 0 validation.
Playback 0 validation is accomplished through a review session that includes attendance of all
business stakeholders, business users, and the BPM development team. The validation leads to
the switch from analytical modeling to executable modeling. If the validation is complete and the
process model is approved, then any additional refinement to process requirements can continue
through the framework of the next series of implementation playbacks in process implementation.
There are situations when a validation playback session discovers requirements that were missed
or new requirements are introduced. This situation is not uncommon in BPM; the one thing that is
certain is that requirements change. For this reason, a process model must be flexible enough for
change; and BPM provides the best system to manage change, which results in continuous
process improvement.
Copyright IBM Corp. 2014 Unit 5. Validating the process model with playback 0 5-9
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Reaching consensus on
the process model
Notes:
During the playback 0 stage of project development, multiple playback sessions are held. In fact,
there is typically a themed approach for these sessions within the three-week time frame. The BPM
team can establish the best course of action to take for playbacks within the playback 0
development. The strategy to handle each of these themed playbacks is through iteration.
These sessions take 6090 minutes, and must include important decision makers for the specific
playback achievement that is reached. Many organizations select a project sponsor or a senior
business user to conduct the playback so there is buy-in for the project. The session also requires
business users to fully understand the development phase end products, thus increasing the tie
between the IT and business stakeholders. Some examples of themed playbacks for playback 0:
Process discovery playback
Initial (As Is) process model or discovery map playback
Conceptual design (process application or report mock-up designs) playback
Measurement and visibility playback
Validation playback
Uempty None of these examples are meant to be the exact themes a BPM team must use; that varies from
organization to organization. However, make sure the themes match work that is done during this
stage of project development. What is important is the last playback session: validation of the
business process and process model.
Copyright IBM Corp. 2014 Unit 5. Validating the process model with playback 0 5-11
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Validation goals
Playback zero
Definition
1 - 3 weeks
Discovery As Is
is model
Model Analysis To be model Final playback
Process goals Current state Refine the Business data 9Confirmed
stakeholder
Critical success model in current state KPI and metrics
various process model acceptance
factors Business case
formats Added value 9Prioritized
Scoping with estimated roadmap of
Captured analysis potential value
Process information: current and
capture and Root cause and impact future
RACI, SIPOC, analysis
documentation and pain Scope and requirements
points Opportunity effort 9No requirement
prioritization assessment is lost in
Process Process model translation to
simulation diagram (BPMN) process model
9Developer ready
process model
(implementation)
Copyright IBM Corporation 2014
Notes:
Having a final process model that is ready for implementation means that the BPM team is ready to
validate the business process along with the business groups, such as stakeholders and users.
Process analysis, process adjustment, and process modeling have all come together in the short
three-week cycle to enable the final session for this stage of project development. This stage is
when consensus is reached on the following conditions:
The process model is ready for implementation.
No requirements are lost in the translation effort.
If the business stakeholders still change the requirements, it is time to evaluate the best
roadmap to implement those requirements into the model, up to and including before the
validation agreement is obtained.
Playback 0 validation is conducted with the BPD inside the Process Designer tool. On the condition
that everyone in the room can view the process, any tool can be used to show the process. The
objective is to review all process flow, normal and conditional, and model specifics such as
participants, activities, and process control.
Uempty
Exercise 3
Notes:
The Hiring Requisition process owner-provided detailed information about the process and its
current state to the BPM analyst, who in turn documented the information. This stage completed the
process discovery stage. The initial process model was built and then analyzed for improvement.
Your activity responsibility is to conduct a final process model validation, and then take the
feedback and refine your process.
You first walk through the playback with your instructor and then break into groups to implement the
additional process requirements.
New process requirements:
During playback 0, the vice president mentions that there are some recent issues with several job
postings that contain wording that violates a new set of hiring laws. To address this issue, the vice
president suggests that a lawyer reviews every job post. The lawyer checks for legal compliance
(and edits if necessary) at some point before the job opening is released and posted to the public.
Copyright IBM Corp. 2014 Unit 5. Validating the process model with playback 0 5-13
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Exercise objectives
After completing this exercise, you should be able to:
Validate that the business process reflects the wanted requirements
Implement the requirements with playback feedback and new process
requirements as input
Notes:
Uempty
Unit summary
Having completed this unit, you should be able to:
Describe the playback 0 validation goals and requirements
Validate that a process model meets playback 0 goals and
requirements
Notes:
Copyright IBM Corp. 2014 Unit 5. Validating the process model with playback 0 5-15
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Checkpoint questions
1. True or False?
Playback 0 validation is accomplished through a review session with
all business stakeholders, business users, and the BPM development
team.
2. Validation leads to the switch from ______ modeling to ______
modeling?
A. Data . . . deployment
B. Analytical . . . validation
C. Analytical . . . executable
3. The objective of ______ is to review all process flow, normal and
conditional, and model specifics, like participants, activities, and
process control.
A. Playback 0 validation
B. Analytical modeling
C. Descriptive modeling
D. Definition
Copyright IBM Corporation 2014
Notes:
Write your answers here:
1.
2.
3.
Uempty
Checkpoint answers
1. True.
2. C: Analytical to executable.
3. A: Playback 0 validation.
Notes:
Copyright IBM Corp. 2014 Unit 5. Validating the process model with playback 0 5-17
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Uempty
Unit 6. IBM Business Process Manager
architecture and toolkits
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-1
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Unit objectives
After completing this unit, you should be able to:
Describe IBM Business Process Manager product components
Describe the relationship between IBM Process Center and the runtime
environments
Describe IBM Process Server and the Performance Data Warehouse
Create toolkits for easy reuse of assets
Notes:
Uempty
Topics
The Hiring Requisition process
IBM Business Process Manager Standard architecture overview
Installing process applications on a Process Server
Understanding toolkits
Notes:
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-3
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-5
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
During this course, you use a set of requirements that details a process for all of your exercises.
Hiring Requisition process
A company is experiencing rapid growth and must hire many people in a short amount of time. The
process that you are going to examine and model is called the Hiring Requisition process. This
process covers a new job position through submission, approval, and completion so applicants can
apply for the job position.
Core requirements
1.1 A Hiring Manager submits a hiring requisition to the HR Department. The request contains the
following information:
Customer details:
Requisition number
Date of request
Requester
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-7
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-9
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Figure 6-5. IBM Business Process Manager Standard architecture overview WB814 / ZB8141.0
Notes:
This unit is an introduction to the architecture of the typical IBM Business Process Manager
Standard installation. To learn more about server configuration and administration, IBM Education
offers more in-depth classes on IBM Business Process Manager administration and WebSphere
administration.
Uempty
Runtime
environment
Process
Center
Runtime Runtime
environment environment
Figure 6-6. IBM Business Process Manager product components WB814 / ZB8141.0
Notes:
This slide is a representation of the topology of a typical IBM Business Process Manager
installation. The unique design environment of IBM Business Process Manager includes a central
repository that is called the Process Center. You can see that the Process Servers surround the
Process Center. The Process Center is where process applications are created and stored,
whereas the runtime environments (also called Process Servers) are where those process
applications are tested and completed.
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-11
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Process Center
PS PDW
PS = Process Server
PDW = Performance Data Warehouse
Copyright IBM Corporation 2014
Notes:
The Process Center contains many unique components to help with the development of processes.
It is sometimes called the development environment, as process developers connect to the Process
Center to author processes.
The Process Center is where process applications, toolkits, business process definitions (BPDs),
rules, integrations, and services are created. All the business objects that enable the BPDs,
exposed process variables (EPVs), and environment variables are also defined in the Process
Center. Complex process interactions like timers, message events, and error handling are
implemented in the Process Center. Teams are also defined in the Process Center to ensure that
the right users receive the right task so they can complete their process tasks.
Process Server provides a single BPM runtime environment that can support a range of business
processes, service orchestration, and integration capabilities. In your authoring environments, the
integrated process server within Process Center enables you to run processes as you build them.
When you are ready, you can install and run those same processes on the process servers in your
runtime environments. The Business Performance Data Warehouse (PDW) component collects
and aggregates process data from processes that run on the process servers. You can use this
data to improve your business processes. The Process Admin Console enables you to manage the
Uempty process servers in your runtime environments (development, test, staging, and production) and the
process server that is part of the Process Center.
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-13
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Process Center
PS
Notes:
The Process Server:
The Process Server manages and runs all process model definitions in the development
environment. It also stores the versions and history for process development and deployment. The
Process Server is an application server that is running on WebSphere, and it can run on a single
node or cluster to meet the performance needs of the environment as configured by WebSphere.
Uempty
Process Server
Event manager
Notes:
The Process Server also provides the workflow facilities, such as task management, routing, and
simulation. It is made up of a BPD engine, service engine, and event manager.
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-15
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Current step
Notes:
The event manager:
The event manager is the part of the Process Server that handles event scheduling and queuing.
For example, when the Process Server receives an event, that event becomes a job in the event
manager. Each job in the event manager is routed through a scheduler, which schedules and tracks
the execution of its assigned jobs. The event manager runs process steps dynamically, evaluating
each step and transition within the BPD in real time. The event manager is the heart of the Process
Servers execution abilities. It can be started and stopped through an administration console.
Uempty
Process Center
PDW
Notes:
The Performance Data Warehouse:
The Performance Data Warehouse collects performance data that represents key business events
and metrics when processes are run in the development environment. This collection allows you to
examine reports and data in development before a process is being tested or put into production,
and acts as a system of record for all production process data of an organization. Similar to the
Process Server, the Performance Data Warehouse is an application server that is running on
WebSphere. It can run on a single node or cluster to meet the performance needs of the
environment as configured by WebSphere.
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-17
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Performance
Data Warehouse
Notes:
The Performance Data Warehouse uses the process model to correlate the business events in real
time and aggregate raw performance data into a single database view for reporting and auditing.
Some reporting capabilities exist inside of IBM Business Process Manager, but other reporting
packages and environments can integrate with the Performance Data Warehouse to extract
process metrics for their own reporting needs.
Uempty
Process
Server
Process
Center
Notes:
Each IBM Business Process Manager Process Server contains resources for running and
completing installed processes that are deployed from the Process Center. The Process Server
provides a single BPM runtime environment that can support a range of business processes,
service orchestration, and integration capabilities.
The integrated Process Server within the Process Center enables you to run processes as you
build them. When you are ready, you can install and run those same processes on a Process
Server.
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-19
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Process
PS
Server PDW
Process
Center
Figure 6-14. The Process Server: Performance Data Warehouse WB814 / ZB8141.0
Notes:
Similar to the Process Center, each runtime environment or Process Server has its own Process
Server and Performance Data Warehouse components. The Process Center is just a unique
Process Server that can design process applications and can deploy those assets to the Process
Servers.
Uempty
Process
PS
Server PDW
Process
Center
PS PS
Process Process
Server Server
PDW PDW
Figure 6-15. The Process Server: Multiple Process Servers WB814 / ZB8141.0
Notes:
There can be a number of Process Servers within your enterprise, depending on your business
needs. Each environment runs independently from each other. Each environment can have unique
instances that are run in the environment, can connect to different endpoints for integrations, and
can be customized as necessary for that particular environment. Typically these environments are
designated as development (the Process Center), staging, test, or production, but they can be used
for any other type of environment as required.
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-21
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Process Center
PS
PDW
PS and PDW
repository
Notes:
The following diagram illustrates a typical IBM Business Process Manager Standard configuration.
The architecture centers around the Process Center, which consists of the Process Server and the
Performance Data Warehouse with a repository of data. Process application, BPD, service, coach,
and integration development occurs on the Process Center, also known as the development
environment.
Uempty
Process
Servers
Staging
PS
PDW
Process Center
PS Test
PDW PS
PDW
Production
PS
PDW
Notes:
The Process Center pushes all the process development assets on the Process Center to the
different Process Servers in a hub and spoke deployment approach.
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-23
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Staging
PS
PDW
Process Center
PS Test
PDW PS
PDW
Production
PS
PDW
Notes:
The Process Center has two tools unique to this environment. IBM Process Designer is an
application that is installed on a client computer that connects to the Process Center, and
developers use this tool to create processes. The Process Center Console is a web application that
is used for Process Center administration.
Uempty
Staging
PS
PDW
Process Center
PS Test
PDW PS
Process and PDW
Business Performance
administrative console
Production
PS
PDW
Notes:
The Process Center also uses three web applications to interact with the Process Center.
Administrators use the Process, Business Performance, and WebSphere Application Server
administrative consoles to configure the server.
The Process Portal allows users to create and work on the tasks that are assigned to them.
Because users interact exclusively with the portal and not the process designer, process playbacks
are conducted with the Process Portal. The IBM Process Designer tools are designed for
developing and debugging processes and services, and are not used for playbacks.
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-25
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Staging
Process and
PS Business Performance
PDW administrative console
Process Center
PS Test
PDW PS
Process and PDW
Business Performance
administrative console Process Portal
Production
PS
PDW
Notes:
Process Servers each contain their own set of these applications (Process and Business
Performance administrative console, WebSphere Application Server administrative console, and
the Process Portal). These web applications are dedicated to the server that they are associated
with.
Users use the runtime Process Portal to work on their process tasks and create instances of the
processes necessary to do their jobs. For example, testers use the test environment to create
process instances and to see the tasks that are assigned to them. The test environment is
independent of the production environment, which can have a different version of the process with
production tasks that are running on that server.
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-27
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Installing process
applications on a Process
Server
Notes:
When the development is complete, a developer or administrator copies assets from the Process
Center to a Process Server. This task is commonly called installing or deploying a snapshot to a
Process Server.
Uempty
Notes:
To deploy assets to a Process Server, developers must first create a snapshot of the process
application. Snapshots record the state of library items within a process application or track at a
specific point in time. You can create snapshots in the Process Center Console or in the Designer
view. Snapshot management, such as installing, exporting, and archiving, is done in the Process
Center Console. More information about creating snapshots is covered in Unit 7.
When the snapshot is created, it must be exported or deployed to the Process Server through the
Process Center Console. By default, the following access to the process application is required for
each type of environment:
Administrative access to install to Process Servers in production environments
Write access to install to any non-production Process Server
Read access to install to Process Servers in development environments
You can create a governance process that reacts to the status change of a snapshot. The System
Governance toolkit (TWSYSG) contains the machinery that is required to build a governance
process. The toolkit has integration services for installation and snapshot status, undercover agents
(UCAs), and governance business objects.
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-29
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
When a snapshot of a process application or toolkit is created or when the status of a snapshot
changes, a message event is triggered. If there is no governance process in place, the message
goes nowhere. If a governance process is bound to the snapshot event, the governance process is
triggered and you can use it to track status changes. A new BPD instance of the governance
process starts whenever a snapshot is created or the status of the snapshot is changed. You can
see the status changes by opening the Inspector in IBM Process Designer and selecting the
Process Instances tab. You can also use Process Portal on the Process Center server to work with
governance process BPD instances.
When there are existing instances of a process on a Process Server, careful consideration must be
made to the migration of those instances.
To learn more about server configuration and administration, IBM Education offers classes on IBM
Business Process Manager administration and WebSphere administration.
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-31
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Understanding toolkits
Notes:
Toolkits enable IBM Process Designer users to share library items across process applications, and
assist developers in organizing their assets. The System Data toolkit comes standard with IBM
Business Process Manager, and contains many helpful artifacts and standard data types that you
use during development.
This topic helps you understand how to create and use toolkits.
Uempty
Understanding toolkits
Toolkit 2
Process application B
Toolkit 3
Notes:
Toolkits are a collection of library items that can be used across numerous process applications.
After you create your own custom artifacts, you can package them into a toolkit to share with other
process applications. If you have a resource that can be reused, it is helpful to move it into a toolkit
to avoid rework across your organization. When a toolkit is updated, all dependencies notify those
process applications dependent on that toolkit, and the developers can then adopt those updates in
a controlled way.
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-33
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Preinstalled toolkits
Notes:
IBM Business Process Manager comes with numerous toolkits preinstalled. Each one provides
enhanced capabilities to the developer. Developers can change the standard toolkits, but if there
are elements of the toolkit you must customize, copy the artifact into another toolkit and modify it as
necessary.
The Content Management toolkit contains the data, services, and coach views to control the
document attachments that are used on coaches. These documents can be stored locally, or can
be saved to an external content management system.
The System Governance toolkit contains data and services to govern the deployment of process
applications to other environments (for example: development, production, and test).
The Dashboards toolkit contains all the system dashboards that are used inside of IBM Business
Process Manager. The dashboards are what system users interact with inside the portal, and they
contain reports on process performance and user performance. Developers can create tailored
operational dashboards to offer enhanced visibility for process owners, team leaders, and business
process users. Users act directly to resolve issues and balance work.
Process owners can view current performance against expectations.
Uempty Team managers can visualize and manage the work of their team.
Business process users can see their own task performance measurements.
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-35
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
System Data toolkit:
During installation, a special toolkit is placed into the product. This toolkit is named the System Data
toolkit. Each process application that you create is automatically linked to this toolkit. The System
Data toolkit contains many services that assist developers to implement their processes, reducing
the amount of custom development that is required. The system toolkit contains the basic building
blocks for your development to include:
Variable types like String, Dates, Decimals, and other types
Default generic and human services that are used when dragging objects onto the palette
Integration services that help in connecting with external systems
Image and CSS files for coaches, KPI metrics, and other standard files
Do not alter this toolkit directly. If you want to customize a System Data Toolkit asset, copy it to a
new location and change the new asset.
Uempty
Notes:
Another special toolkit that assists you in developing your coaches is the Coaches toolkit. This
toolkit contains all the standard components implementers use to build coaches. If the components
require customization, clone the toolkit and customize the items that you need. The items in the
coaches toolkit are preinstalled when building coaches, and any customized toolkits can be linked
to inside the coach designer. You learn more about building coaches in playback 2.
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-37
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
Creating toolkits:
Toolkits can be created in the Process Center Console, or they can be created when using IBM
Process Designer to move items to a toolkit. Click the Toolkits tab and then use the right column of
the Process Center Console to create a toolkit. To copy existing library artifacts to a toolkit,
right-click the item you would like to move to a new toolkit, and select the appropriate menu items.
You can also move artifacts to a toolkit.
Importing toolkits:
Toolkits can also be imported. There are several community-created and support-created toolkits
available on the community wiki. These toolkits can help you get started, but they provide different
levels of support.
Uempty
Notes:
To share the assets in a toolkit, create a snapshot of the toolkit. Snapshots record the state of library
items within a process application or track at a specific point in time. Snapshots are covered in
depth later in this course.
The toolkit version (snapshot) is then available to other process applications, if the developer has
the correct permissions. Developers must create a dependency on the toolkit snapshot. If the toolkit
evolves and a new version becomes available, all process applications dependent on the toolkit are
notified that a new version is available. Developers then have the opportunity to test and update the
new version while maintaining governance over the upgrade process.
If you created or imported a new toolkit and want to use it in a process application, you must create
a dependency on the toolkit. To do this task, use IBM Process Designer and click the plus (+) next
to the Toolkits section.
A toolkit must have at least one snapshot to create the dependency. A snapshot is automatically
created if you move resources to create a toolkit. Snapshots are covered at length in a later unit.
In the Process Center Console, click Toolkits and then use the right column of the Console to
import a toolkit.
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-39
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
When toolkits are imported into IBM Business Process Manager, they are read-only. It is
important to remember this feature when planning your project and asset organization structure.
If necessary, a clone of the toolkit allows developers to modify toolkit assets, but this practice
breaks any association and source control away from the original toolkit, so be careful when
using this approach.
Name toolkits after the assets they contain. For example, one of the toolkits is named
Database Utilities.
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-41
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
The toolkits:
1. Click the Toolkits tab in the Process Center.
2. Open the System Data toolkit in the Designer.
3. View the different artifacts available.
Create a toolkit:
1. Click the Toolkits tab in the Process Center.
2. Click Create New Toolkit.
3. Name your toolkit, provide an acronym, and add a description.
Take a snapshot of a toolkit:
1. Click the name of the toolkit.
2. Click the plus sign next to Create New Snapshot.
3. Name the snapshot, give it an acronym and description, and click Create.
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-43
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Exercise 4
Creating a toolkit
Notes:
Other process applications or other development projects can reuse many of the artifacts that you
create in this course. Create a toolkit to store and share these assets.
Uempty
Exercise objectives
After completing this exercise, you should be able to:
Create a toolkit
Take a snapshot of a toolkit
Import a toolkit
Add a process application dependency to a toolkit
Notes:
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-45
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Unit summary
Having completed this unit, you should be able to:
Describe IBM Business Process Manager product components
Describe the relationship between IBM Process Center and the runtime
environments
Describe IBM Process Server and the Performance Data Warehouse
Create toolkits for easy reuse of assets
Notes:
Uempty
Checkpoint questions
1. True or False?
By default, a developer must have administrative access to install
Process Servers in production environments.
2. Every Process Server consists of what two components?
A. A Process Server and a Performance Data Warehouse.
B. A Process Server and a Performance Database.
C. A Performance Server and a Data Warehouse.
Notes:
Write your answers here:
1.
2.
3.
Copyright IBM Corp. 2014 Unit 6. IBM Business Process Manager architecture and toolkits 6-47
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Checkpoint answers
1. True.
2. A: A Process Server and a Performance Data Warehouse.
3. D: Snapshot.
Notes:
Uempty
Unit 7. Conducting playback 1
Unit objectives
After completing this unit, you should be able to:
Describe the differences between Process Flow Data and Business
Flow Data
Add variables to a BPD
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
Validate process flow
Notes:
Uempty
Topics
Managing variables and data flow
Implementing the intermediate event: Timer
Implementing gateways
Routing tasks
Validating process flow
Notes:
Notes:
Uempty
Playback 1
Set the process flow variables
and watch the process follow
along the correct path on your
decision gateways by using the
Has Default option on the
variables
Gather all the process
stakeholders
Validate the process that was
1
created
Demonstrate that the process is
following the different paths that are
flowing from the exclusive gateways
on the BPDs
Demonstrate that the tasks are
being assigned and created in the
Portal inbox corresponding with the
correct swimlane and assignment
settings
Copyright IBM Corporation 2014
Notes:
To demonstrate that the process is following the correct flow out of the gateways, the developer
sets the value of the process flow variables. Using the Has Default function, the developer sets
the value to demonstrate that the process is following a designated path.
It is important to gather all the process stakeholders to validate the process that was created, 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.
Demonstrate that the process is following the different paths that are flowing from the exclusive
gateways on the BPDs.
Demonstrate that the tasks are being assigned and created in the Process Portal inbox
corresponding 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 playback 2.
The white paper titled Maximizing the Payback of Playbacks is a good reference when setting up
and conducting a playback. Read through this document and consider adopting these good
practices for the playbacks of the organization. The document is found at this website:
http://wiki.bpmwiki.com/download/attachments/15958169/BPM-Playback-WP.pdf
Notes:
Data flow and management is an essential part of working with services and processes. As part of
playback 1, developers create process data variables to control and demonstrate the process flow.
Later in playback 2, developers create business data variables for their processes.
Variables represent the data that provides the business and process context to a running process.
Using variables, the business process passes the data from one process step to another. This
passage is called the data flow.
Uempty
Inputs Outputs
Flow data
Business data
Task 1
Flow data Flow data
Business data
Task 2
Flow data
Business data
Task 3
Notes:
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.
Notes:
Process flow data:
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 following categories:
Data that is used to determine which activities to complete
Data that is used to determine who completes each activity
Data that is used to determine when an activity is due or when an activity is escalated
Flow data must be identified early on in the implementation process. Generally, by the end 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.
The set of flow data elements often overlaps the set of business data elements, but as developers
you want to break them out. Changes to the set of flow data elements are changes to the process
Uempty definition itself. Any changes to the business data variables are insulated from the process flow
data variables.
Many flow data elements are gathered directly from the participants, but others must be retrieved
from external sources. Common sources for flow data elements include LDAP repositories, SQL
data sources, and web services. Flow data variables map and share data with the variables from
external sources, but the flow data variables themselves are separate and distinct.
Flow data elements are initialized as soon in a process instance as possible. This action allows you
to somewhat predict the future path of a process instance.
Activities
Inputs Outputs
Business data
Task 1
Business data
Task 2
Business data
Task 3
Notes:
Business data:
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
each participant 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.
Uempty
Figure 7-9. Business objects, variables, and data mapping WB814 / ZB8141.0
Notes:
More on data mapping is covered in the next unit.
Notes:
Uempty
Notes:
More on data mapping is covered in the next unit.
Notes:
Variables in a business process definition (BPD) or service can be declared as three kinds:
Private variables refer to values that the current BPD or service needs, but which the parent
BPD or service does not know or need. The value of a private variable can still be of interest to
any nested BPDs or nested services.
Input variables refer to values that you can pass into the current BPD or service.
Output variables store values that are passed out from a BPD or service to a parent BPD or
service.
Uempty
Notes:
Standardizing 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 as a
good practice.
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.
Understanding namespaces
Namespace Description
tw The top-level namespace
Notes:
All variables in IBM Business Process Manager are JavaScript objects. IBM Business Process
Manager uses namespaces to organize these objects, and their functions and methods. An
example of some of the methods is shown in the chart.
Uempty
Understanding business
objects and variables
Standardizing variable names
Copyright IBM Corporation 2014
Figure 7-15. Instructor walk-through: Declaring variables and business objects WB814 / ZB8141.0
Notes:
Understanding variable types:
Make sure that the Variables tab is selected in the BPD.
Add your variable as output, input, or private.
Standardizing variable names:
Provide a suitable name and select the appropriate type (String, Boolean, or other types).
Implementing the
intermediate event: Timer
Notes:
Although you modeled timer events in playback 0, you have no control over the functions of the
timer. In this topic, the timer is implemented to fire according to the business requirements.
Uempty
Notes:
A business process definition developer implements an inline, or sequence, timer intermediate
event through the Implementation tab in the properties section of the component. The
implementation details are:
Trigger On: Specifies when timer event should start.
Custom Date: Use JavaScript to calculate and specify a date.
Before/After Difference: Amount of time to wait before allowing the token to continue on the
flow line.
Tolerance Interval: Specifies an extra delay if work is in progress and it 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.
Notes:
Two other options are available when the timer intermediate event is attached to the boundary of an
activity.
Timer intermediate event details:
The interrupt activity closes the attached activity after the time elapses. By default, a boundary
event interrupts the activity that it is attached to. When the event is triggered, the activity stops and
the token continues down the outgoing sequence flow of the event. If the event is set as
non-interrupting, when the event is triggered, the attached activity continues in parallel; a new token
is generated and is passed down the outgoing sequence flow of the event. Intermediate events that
are attached to activities are interrupting intermediate events if they close their attached activities or
non-interrupting intermediate events if they do not close their attached activities. The repeatable
resets the time to count down again after time elapses.
When the Interrupt Activity option is not selected, the border of the attached intermediate event
changes from a solid border to a dotted or broken border.
Uempty
Figure 7-19. Instructor walk-through: Implementing intermediate event timer WB814 / ZB8141.0
Notes:
Review implementing a timer intermediate event:
Select the timer intermediate event on the BPD.
Click the Implementation menu.
View the timer event details.
Implementing gateways
Notes:
Any gateway that is modeled in playback 1 is functional (that is, processes would flow down a path).
To control the path that is taken, the developer implements the decision logic that the gateway uses.
Uempty
Implementing a gateway
Notes:
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 (String, Integer) to drive all your exclusive gateways. Developers can then set the
default value of the BPD variables and show the different paths that are taken during playback 1.
Document the gateway logic to help in troubleshooting the process later.
Gateway
properties
Gateways
implementation
Implementing
gateways
Notes:
Implement a gateway in IBM Business Process Manager:
Select a gateway from the BPD.
Select the Implementation section and create conditions to express the required business
rules.
Change the default line flow if necessary.
Routing tasks
Notes:
The final task in 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 or assignment is examined.
Uempty
Creating a team
Notes:
Creating a team
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 Processes and select Team from the list of
components.
In the new Team window, enter a name and click Finish.
IBM Business Process Manager Designer displays the property settings for the team.
Enter the required information in the Team property interface.
The IBM Process Designer Team interface is used to assign members to a team. Because there
can be other requirements to assign members in the different Process Server environments,
system administrators can make the team assignments with the administrative screens on the
various environments.
To learn more about server configuration and administration, IBM Education offers classes on IBM
Business Process Manager administration and WebSphere administration.
Notes:
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 Process Manager to allow for testing of your
processes. If a new lane is a system lane, select Is System Lane 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 there are no existing
matching teams, IBM Business Process Manager creates a team for each lane. IBM Business
Process Manager automatically attaches the team to the corresponding lane.
Uempty
Routing activities
For any activity with a service (task) implementation, you can designate the
users who should 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 should be distributed
By default, Assign To is set to Lane
The two most commonly used lane assignment selections are Lane and
Team
User Distribution is most commonly set to None or Last User
Notes:
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 (task) 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.
Routing options:
The options available in routing allow the developer to designate whom to route the activity to
(Assign To menu) and how it is distributed (User Distribution menu).
Assign to:
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: Routes the runtime task to the team assigned to the lane in which the selected activity is
placed.
Team: 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 BPD.
User distribution:
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. Do not select this option for the first activity in a lane unless the activity
is a service in a top-level BPD and a start event is in the lane. In this case, the runtime task is routed
to the user who started the BPD.
Other advanced user distributions available in IBM Business Process Manager allow the system to
assign tasks to individual team members. In practice, User Distribution is most commonly set to
None or Last User.
This course covers only the most common routing options that are used. The more complex routing
options are covered in detail in the Implementation II course and in IBM Process Designer technical
documentation.
Uempty
Notes:
Routing activities:
There are times when a developer does not want the whole team to be assigned to a task, but
rather a subset of the team. A developer creates team filter services to implement assignment
policies. The team filter service takes the initially resolved team as a parameter and then returns the
filtered team as a Team object. If necessary, the developer can add extra input parameters that are
required to filter the team.
For example, to implement a separation of duties policy, the developer must remove the user who
completed the previous activity from the list of users who can complete the next activity. In that
case, the filter service needs an input parameter for the user ID in the service that is set to be
removed from the input team.
For example, the developer creates a filter that is named High claim value team filter for insurance
claims that are above a certain threshold amount. These claims are for certain types of insurance
claim representatives. This filter uses an input parameter claimValue to filter out any users that
are not qualified to work high value claims. These types of dynamic routing techniques are covered
in more detail in the Implementation II course.
Figure 7-28. Team retrieval and filter service templates WB814 / ZB8141.0
Notes:
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 an integration service. Using the templates ensures that the minimum
required parameters for the services are met. Integration services are covered in more detail later in
this course.
Uempty
Notes:
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.
Users belonging to a team, which is explicitly specified as an expert group for this activity.
To explicitly specify a group of experts for an activity:
Open the business process diagram in IBM Process Designer and select the activity.
Go to the Assignments tab in the Properties view.
Specify the relevant team in the Expert Team field. If developers did not already create a team
to identify the experts for this task, they can create a team to use.
Your BPM administrator can configure the teams at run time to ensure that the correct set of users
are identified as experts for the activity in the Process Portal.
Uempty
Team implementation
Routing options
Assign to overview
User distribution
Experts assignment
Notes:
Establishing routing for activities:
Select a Team swimlane.
Select an activity.
Select the Assignment section from the Properties tab.
Select the appropriate Assign To: and User Distribution menus to meet business
requirements.
Assign an expert group to the activity.
Exercise 5
Notes:
Complete exercise 5 in the exercise guide: Creating playback 1 assets.
Uempty
Exercise objectives
After completing this exercise, you should be able to:
Create simple variables in a BPD
Implement timer intermediate events on a process
Implement gateways for a process
Implement routing for an activity
Notes:
Notes:
The project development team is now ready for playback 1. This playback is their chance to
demonstrate everything that was created thus far: process flow variables that drive decision
gateways, tasks that are created and assigned to the right teams, and correct task routing.
Playback 1 also demonstrates that the process is following the correct path.
Uempty
Notes:
Before developers demonstrate the process, they create an instance of the process. This task is
accomplished when they expose the process application to a team. A developer verifies the
exposure settings on the Process App Settings Overview page. This menu has other functions that
pertain to process applications and the processes and services that are contained within.
Go to the Overview tab of the BPD, and next to the Expose to start option, click Select... to
select a team that has access to start this BPD.
The quickest way to demonstrate the process is to expose the BPD to the All Users team so
any participant with a valid account can start the process.
Exercise 6
Notes:
Complete exercise 6 in the exercise guide: Conducting playback 1.
Uempty
Exercise objectives
After completing this exercise, you should be able to:
Log on to the Process Portal
Create an instance of a process
Demonstrate that the process follows the various paths modeled
Notes:
Unit summary
Having completed this unit, you should be able to:
Describe the differences between Process Flow Data and Business
Flow Data
Add variables to a BPD
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
Validate process flow
Notes:
Uempty
Checkpoint questions
1. What are the three types of variables?
2. What two options are available only when configuring an attached
timer event?
3. When the assign to routing is set to Lane and distributed to Last
User, if the activity is the first activity in a lane in a top-level BPD,
then whom is the task assigned to?
4. What page provides a list of all the BPDs and the teams they are
exposed to?
Notes:
Write your answers here:
1.
2.
3.
4.
Checkpoint answers
1. Private, Input, and Output.
2. Interrupt Activity closes the attached activity after time elapses, and
Repeatable resets the timer to countdown again after time elapses.
3. The runtime task is routed to the user who started the BPD.
4. The Process App Settings Overview page provides a list of exposed
items inside that process application.
Notes:
Uempty
Unit 8. Conducting playback 2
Unit objectives
After completing this unit, you should be able to:
Build a business object
Initialize a complex object and a list
Build a service
Use coaches to define and implement guided user interactions
Implement a service for an activity in a BPD
Map variables between a nested service and an activity in the overlying
BPD
Use object methods
Create a snapshot of a process application for deployment
Notes:
Uempty
Playback 2
The goal is to demonstrate data
flows from one coach to
another, and from one task to
another inside of the BPD
All data is bound on the
coaches, and if the same data
is shared across multiple tasks,
playback participants can see
the data move through the
different activities 2
Notes:
The goal is to demonstrate data flows from one coach to another, and from one task to another
inside of the BPD. All data is bound on the coaches, and if the same data is shared across multiple
tasks, playback participants can track the data when it moves through the different activities.
Topics
Creating a data model
Building services
Building coaches
Implementing services in a BPD
Creating a snapshot for deployment
Notes:
Uempty
Notes:
Notes:
Until now, simple variables are implemented to drive process flow. Process flow data is only part of
the data necessary for the process to function correctly. Much of the process flow data is derived
from or dependent upon business data. In playback 2, the project development team defines the
business data model for the process.
Uempty
Figure 8-6. Defining the business object data model WB814 / ZB8141.0
Notes:
Business objects are used to represent the business data that is relevant in the context of your
business process. Create a data model that accurately reflects the business data and its structure.
Do not allow existing web pages, existing systems, coaches, web services, database tables, or
other influences to affect the development of your process business objects that belong in your data
model.
It is best to loosely couple your business objects from the external sources and use either an ESB
or an internal service to map business objects to other schema. That way any changes to external
variable structures do not affect your data model, and vice versa. Changes can be made in the
adapter or translator, limiting the changes necessary for the designer library artifacts.
Notes:
When the System Data toolkit types or the other business objects do not match the project
specifications, you can create custom business object types. In IBM Business Process Manager,
you can use a base business object type or define a new complex structure to create a custom
business object type. You can create rules about complex data that is nested, or hierarchical. Data
that is referenced within the text of a rule is not limited to simple object types such as String,
Integer, or Date. You can also create complicated rules with nested object structure.
Uempty
Notes:
When data is defined, organize the data into different logical units. An example might be a street
address, city, and state that become a unit that is called address. Some organization is obvious, but
other data is more difficult to organize. Look to existing data models in the organization for ideas.
However, it is not necessary for these models to match what is specified. These models can be
starting points for a robust data model solution.
An example of a business object is a structure that contains multiple elements all pertaining to the
same subject. This subject is what the structure represents (for example, a name and phone
number would be relevant to a customer identification). In the example on screen, consider the
creation of a parameter called customerID to place the given name, surname, phone number, and
email.
Notes:
Business objects begin with an uppercase letter. Adopt this convention to differentiate variables and
business object types. If the business object consists of more than one word, capitalize the first
letter of each word. In the example that is provided on screen, the employeeData variable uses the
business object type EmployeeInformation. Variables and business objects are case-sensitive.
Uempty
Refactoring
Limited refactoring support for the following cases:
Business object rename in processes and services
Business object attribute rename in processes and services
Local variable rename in the specific process and related services
Notes:
With time, applications change and business objects, their attributes, and variables might be
renamed. However, many parts of a business process might reference or have a dependency on a
business object, an attribute, or a variable. Therefore, renaming can produce unexpected results.
Refactoring business objects:
To rename a business object, you right-click the business object that is in the process application
library in the Data category list. You then rename the business object. Make sure that the Update
references check box is selected. When you click OK, the refactor window is shown. If the Update
reference check box is not selected, the refactor window is not shown, and none of the references
to the business object are updated.
In the refactor window, the pane shows the business processes and services that reference the
business object. You select the business processes and services that you want updated and click
OK. If there are no references, the pane is blank; however, you continue to click OK to rename the
business object. If you want to analyze the list later, you can copy the names of the business
processes and services to a clipboard by clicking Copy To Clipboard. Afterward, you check all the
artifacts that you expected to be updated, particularly in JavaScript sections. The refactor function
updates all fully qualified references that are instantiated with the keyword new for the old business
object and old business object lists, for example: new tw.object.OldBusinessObject or new
tw.object.listOf.OldBusinessObject.
Refactoring business object attributes:
Business objects are themselves composed of other variables called attributes. You rename
attributes of a business object, and the rename function and the refactoring window shows you the
business processes and services that are affected. To rename a business object attribute, select
the attribute in the Parameters list for the business object. When you change the name in the
Name field, a message is shown that says to refactor the value, press Alt+Shift+R. Pressing this
combination starts the rename window. You change the attribute name in the New Name field. By
default, when you click OK, you see the references to the attribute in the subsequent refactor
window. However, you have the option of clearing Update references. In that case, none of the
references to the attribute are updated.
In the refactor window, the pane shows the business processes and services that reference the
business object and the attribute. As in the rename of a business object, you select the business
processes and services that you want updated and click OK. Because the process is now the same
as in a rename of a business object, the same approach is taken to check all the artifacts you
expect to update. The refactor function updates attributes on objects in the following situations:
The object is assigned to a fully qualified business object that is instantiated with the keyword
new or to any ancestral attribute of the object. An example of an ancestral attribute that would
be refactored is:
GreatGrandparentBusObj.GrandparentBusObj.ParentBusObj.busobj.name
The object is assigned to a local variable that does not have an ANY type or to any ancestral
attribute of the object.
If you refactor a business object while another developer changes one of its references, the
reference is not selected. A message specifies the user who is editing the reference. When you
start the refactor window, the business object that is being refactored is locked, as are any
references that are selected to be refactored. When the refactor operation is finished, the business
object and the references are unlocked.
Refactoring limitations:
JavaScript codes in coaches are not updated.
To be listed as selectable for refactoring, the business processes or services must reference the
business object with the variables or variable fields that are found in the Variables tab.
Property names are not updated when the square bracket notation is used; for example, in the
following code, firstname would not be updated:
customer['firstname'] = "John"
Rename variables:
Variables are found within a business process or a service. In other words, renaming a variable
does not affect another business process or service. However, renaming a variable can affect a
reference to it within the same business process or service. To rename a variable, you click the
Variable tab and select the variable to rename. When you change the name in the Name field, a
message is displayed that says to refactor the value, press Alt+Shift+R. Pressing this combination
starts the rename window. You change the variable name in the New Name field. By default, when
Uempty you click OK, all references to the variable are updated. However, you have the option of clearing
the Update references check box. In that case, none of the references to the variable are updated.
Unlike renaming a business object or attribute, you do not see a subsequent panel where you
select references or are shown no references.
Notes:
Declaring lists:
Developers can declare any variable to be a list, or an array, of a business object type. This
statement means instead of containing only one of the types declared (String, Date, Integer), the
business object holds many of the same business object type. Therefore, if developers want to
create a business object that contains multiple integers, they create a private list variable of type
Integer.
To create a variable list, select the Is List: check box and the list object will add the (List)
designator after the variable type in the variable.
Uempty
You must also initialize lists before you use them by using .listOf
tw.local.yourStringList = new tw.object.listOf.String();
Notes:
In IBM Business Process Manager, all complex business objects and all lists (arrays) must be
initialized before they are used in a BPD or service. If the complex business object or list is not
initialized, the BPD receives runtime errors, or notices that the coach controls to which the business
objects are bound do not behave as expected.
Before implementing a complex business object, create a script like the following to initialize it:
tw.local.requisition=new tw.object.Requisition();
In the preceding script, the name of the variable that is being initialized is tw.local.requisition.
The name of the complex business object type is Requisition.
Note
If a business object includes nested complex business objects, then you must initialize the nested
business objects before are used.
You also initialize lists before they use them with .listOf. This command works for simple and
complex business object types. If a variable is a list of Strings, initialize it by creating a script:
tw.local.yourStringList = new tw.object.listOf.String();
Then, add elements to the list:
tw.local.yourStringList[0] = "First Element";
Or:
tw.local.yourStringList.insertIntoList(tw.local.yourStringList.listLength, "First
Element");
Uempty
Notes:
Carefully consider how variables are passed from the parent process to other processes when
using nested processes. Subprocesses, event subprocesses, and linked processes handle
variables differently.
A subprocess has access to the data of the parent process, and data mapping is not required to
pass data into or out of the subprocess. However, you can also declare private variables within
the subprocess that are not visible to the parent BPD.
Event subprocesses are just a special type of subprocess, and variables that are defined in the
parent BPD are accessible by the subprocess. Instead of being a step in the process as part of
the process flow, event subprocesses are triggered because of an event that occurs in the
parent process.
Linked processes require developers to create input and output variables in the nested process
and to map variables from the parent process to the linked process. The variables must be of
the same variable type when mapping. This input and output variable declaration allows the
data value to pass successfully from one process to another.
Notes:
When a custom business object is created in a process application, that object is available for all
BPD and services included in the process application. To share a custom business object across
process applications, create or store the custom object in a toolkit. Then, create a dependency on
that toolkit from the process applications that require the variable.
The Shared Object check box of the business object and its values must be accessible to other
instances at run time. The business object becomes a shared object. Shared business objects
apply only to a complex structure type. The data within a shared business object is shared between
business processes and tasks.
A shared business object uses database resources. The data within a shared object is persisted to
the database when the shared object is created. The business process or task is persisted to the
database when the JavaScript method save() is applied to the shared business object.
Uempty
Building a complex
business object
Building a data
model
Standardizing the
business object
naming convention
Refactoring
Declaring lists
Initializing complex
objects and lists
Notes:
Creating an object type:
Create a business object in the Data menu of the library.
Provide an appropriate name for the new type.
Select the appropriate definition type.
If complex, add parameters to the object type to identify the data structure. The parameters can
be any number of simple objects and other complex types.
Creating a business object:
Make sure that the Variables tab is selected in the BPD or service.
Add your variable as output, input, or private.
Provide a suitable name and select the appropriate objectType (String, Boolean, or other
types) or select a custom type.
Variables can be identified as an array of the business object type (simple or complex) by
selecting the Is List: option.
Building services
Notes:
After modeling the business process, it is time to think about these processes as sets of
interactions. The goal of this playback involves building interactions.
These interactions represent a critical piece of business process management (BPM). Instead of
focusing solely on the chains of activities with their sets of inputs and outputs, think about the
protocols and agreements that are made between the users.
Services provide a strategy for choreographing these protocols and agreements. Choreography is
an abstract notion of process. It is used to describe the interactions of collaborating entities, each of
which can have its own internal orchestration (modeling) processes.
Uempty
Notes:
Services are made up of steps that define what happens when service (task) activities are triggered
in a process. Each step enables the service to do a different job, from integrating with an external
data source to generating HTML forms that are called coaches.
Creating services
Notes:
IBM Process Designer is where you build reusable services that implement the activities in your
process definitions. Services differ from processes in that there are no lanes. The service palette is
customized with what items you can use to build the service. For example, in playback 2, you are
examining human services. A coach can be added only to a human service. Also, for a web service,
there is no need for a service modeler and palette. Consult the appendix of this guide for a detailed
service chart.
The following types of services can be modeled in IBM Process Designer:
Human service
General system service
Integration service
Decision service
Web service
Ajax service
External implementation
Types of services
Process data in
services
Notes:
Creating a service and declaring variables
Create a service that is named after the activity to which the service is implemented.
Define the necessary variables with the appropriate scope.
Building coaches
Notes:
A human service presents a web form for a process participant to interact with. This web form in
IBM Business Process Manager is an HTML page that is called a coach. This topic covers the
fundamentals of building coaches, and enables developers to create coaches in a short amount of
time.
During playback 2, developers do not look to alter the appearance or add any extra functions to
their coaches. Developers concentrate on creating forms that can be filled out and ensure that data
is posted back to the server. The process gathers all the necessary data from the users in the
process to complete the overall process.
Uempty
Coach overview
Two types of user interface for human services:
Dashboards
Task completion
Coaches provide a way for team members to input business and
process data into the process in a dashboard or task completion
Coaches provide a wizard-like approach for team members to complete
their tasks
The coach is rendered in a browser for the business user when the
coach service (the BPD activity of the participant) is run
Similar to building BPDs and services, developers use a WYSIWYG
interface to build coaches by dragging and dropping objects from a
coach view and widget palette onto the coach designer canvas
Notes:
Coaches are the user interfaces for human services. There are two types of user interfaces for
human services: dashboards and task completion. To build either type of user interface for human
services, the developer creates a coach. Coaches provide a way for team members to input
business and process data into the process. Coaches provide a wizard-like approach for team
members to complete their tasks. The coach is rendered in a browser for the team members when
the coach service (the BPD activity of the participant) is run. Similar to building BPDs and services,
developers build coaches by using a WYSIWYG coach designer interface. The coach designer
allows developers to drag objects from a coach view and object tray palette onto the designer
canvas.
Notes:
Coaches are web-based forms or dashboards that a developer builds for business users to
complete the tasks or follow process or task performance metrics that are assigned to them at run
time. All development occurs inside a web browser, so developers have a what you see is what you
get (WYSIWYG) view of the rendering of the coach.
Coaches are made of up of coach views and controls. The coach view provides the user interface
elements and layout for the coach through sections and controls. Each coach view can contain one
or more coach views, which creates a parent-child relationship between these coach views. At run
time, the parent coach view is rendered as a <div></div> tag that contains a nested <div></div>
tag for each child coach view. Each coach view also has a binding function to use data values from
a business object, CSS code to control its visual layout, and JavaScript to define its behavior. More
information on coach views is covered later in the course.
To access a section or control for the coach designer canvas, the developer selects the View tray
palette on the right side of the interface. View contains all the coach view sections and controls in
the Process Designer library and toolkits. Each coach view is arranged in the category that is
assigned to it, either through a tag or as a general section or control. The other default tray palettes
are Advanced and Variables. Advanced is a control that provides JavaScript, CSS, or custom
Uempty HTML elements to customize the coach. Variables are directly tied to the data model for the
business process definition.
Note
If a developer imports a process application from a previous version of IBM Business Process
Manager, the assets that are created are called Heritage Human Services in the library.
Sections
Notes:
Coach views that are sections contain a group of sections or controls or both (other coach views).
Sections control the layout of your controls after they are rendered in the browser. The controls are
made of HTML div and span sections. Drag the horizontal or vertical sections onto the coach
designer canvas from the Sections category in the View tray palette, and then add the nested
sections or controls to these sections. A tabs section is also used to group similar sections. All the
sections can be nested within each other.
Uempty
Controls
Notes:
Controls are objects (or widgets) that are placed directly on the coach designer canvas or in
sections on the canvas. Controls are coach views that include buttons, check boxes, input boxes,
date time pickers, select controls, and other standard HTML objects. Also, there is a mobile ready
set of control objects that are formatted for a mobile environment. Although the standard objects
cover most of a developers needs, IBM Business Process Manager allows developers to
customize the controls. Controls are customized by using a custom HTML block on the coach
designer that includes JavaScript, CSS, or custom HTML elements. When the controls are laid out,
it is easy to copy and paste them into a coach view to share with other coaches across your
process application or other installations. The Advanced tray palette Custom HTML object in the
coach is used to create this customization.
Notes:
Coach view object settings:
Coach view objects, whether sections or controls, contain settings for use in the coach. The
property settings are separated into four categories:
General: describes the common properties of the object, such as the control ID, and the
behavior, such as binding and label visibility
Positioning: set the padding, margins, height, width, and overflow of the objects on the canvas
Configuration: allows developers to modify the configuration attributes of an object
Visibility: sets the visibility of the object through a variable value, a rule, or a script
HTML attributes: allows developers to add classes and attributes to the HTML objects that are
rendered in the browser
Uempty
Notes:
There is a quick and easy way to add controls to a coach bound to server-side variables. The first
step is to make sure that the simple and complex variables (input, private, or output) are defined in
the service.
When creating a coach, developers see the variables that are defined for the service are listed on
the right side. Drag the variables onto the coach designer canvas, and controls are created and
bound automatically to the variable. The developer can drag the individual elements of a variable or
the entire variable.
If the output of this coach controls the process flow, add the process flow variables necessary to
control the process directly on the coach. They look like input boxes when running the coach, and
when doing a playback, developers enter the process flow data into that input box to control the
gateways.
Think ahead to playback 3. The project team plans to implement a rule service or some other logic
to drive process flow that is based on the business data that is obtained on this coach. In this case,
the actual process flow variables that are used to control the gateway are added to the coach
during this playback. Input the expected results of the logic in the input box of the coach when
conducting a playback.
Later, in playback 3, the project team implements the required logic to decide on business data and
create the process data required. When the project team beautifies the coach in playback 4, they
remove the process flow variable input on the coach before the coaches are finalized.
Uempty
Notes:
Next, the developer needs the ability to submit the coach to the server and move the service along.
Buttons allow the form to post the data back to the server from the client. Developers model
services, such as saving progress or retrieving external data, after the user fills out some form data.
After developers add the number of buttons that they want to the coach, sequence flow is
connected in the service diagram. Each button requires drawing a new line in the diagram as each
button item corresponds to one line or flow.
In the slide, a line was sequence flowed from the coach to the end event as there is a button on the
coach that is called Complete. There is another button, Postpone Task, that is going to an
intermediate postpone event.
Notes:
Use the controls above the palette to see your coach in a different screen size. The settings resize
the coach to match three different formats: small, medium, and large. These resolutions
approximate the resolutions for mobile devices, tablets, and desktop displays.
Screen size settings:
Small: 640 pixels or less
Medium: 641 - 1024 pixels
Large (default): More than 1024 pixels
Uempty
Coach interface
overview
Investigating
the anatomy of
a coach
Working with
coach sections
Working with
coach controls
Adding controls
Adding buttons
Sequence flow
and buttons
Notes:
Creating a coach:
Add a coach to the service palette.
Name your coach appropriately.
Drag the variables onto the coach to create your inputs.
Add the sequence flow corresponding to the coach buttons.
Implementing services in a
BPD
Notes:
Now that coaches are built, developers enable BPD-level activities to use human services. In this
topic, the activities are implemented with the artifacts that were previously built.
Uempty
Implementing services
Notes:
Implementing services:
When developers first add an activity to a lane in a process, it has default functions. To specify what
happens when an activity is triggered at run time, you must attach a service. Services are attached
in the Implementation section in the Properties tab of an activity.
Data mapping
Automap the
process variables
Notes:
Data mapping:
Data mapping is used to pass the values of variables between an activity (task) in a BPD and a
service. When you attach a service to an activity, the Data Mapping section must be populated with
the input and output variables of that service. The Data Mapping section is used to map the input
and output variables of the service to variables in the process so that runtime variable values can
be passed to and from the service. Variables are automatically mapped to the process variables, or
they are manually specified.
Uempty
Data mapping sets the input and output map to pass variables to an
activity or a step
Requires a set of declared variables and an activity, or a service that
contains a set of declared variables and a step
The activity or step must implement a service or linked process,
which also contains a set of declared variables
Set the input and output mapping for each activity in a BPD
The subprocesses and services that implement the activities
generate variable values
These variable values map to the variables from the main BPD
Auto-mapping works only when variable names and types match
exactly
Always use an identical name and data type for a set of input and
output variables that are passed in, processed, and then passed back
Copyright IBM Corporation 2014
Figure 8-33. Mapping input and output data for an activity or step WB814 / ZB8141.0
Notes:
Restriction: Mapping input and output data is applicable only if the client-side human service is
used within a BPD. Data mapping is not applicable if the client-side human service is used for a
dashboard.
tw.local.myString.toLowerCase();
Namespace Object Method
Notes:
Understanding object methods:
JavaScript methods corresponding to the object type are available with the standard syntax.
For example, the JavaScript method toLowerCase can be called on an object of type String. In this
example, the results of the call are used to convert the value of tw.local.myString to all
lowercase.
Uempty
Implementing services
Data mapping
Understanding object
methods
Running and debugging
services
Running and debugging
processes
Notes:
Implementing a service for an activity:
Select the activity on the BPD.
In the Implementation section of activities properties, select the appropriate implementation
type.
Change the properties of the implementation as the business requirements dictate.
In the Data Mapping section, map each of the input and output variables of the service to the
appropriate BPD variables.
Running and debugging services:
Open a human service.
Click the run button and view the coach.
Click the debug button and view the debugger information and the variables that are being
populated.
Running and debugging processes:
Open a BPD.
Click the run button to create an instance.
View the debugger information available in the process inspector.
Uempty
Exercise 7
Notes:
Complete exercise 7, implementing a human service for playback 2, in the exercise guide.
Exercise objectives
After completing this exercise, you should be able to:
Determine and organize data when provided with a written process
Add business objects and object types
Create a new client-side human service
Add variables and business objects to a process application
Create and configure a coach to obtain process participant input
Add coach controls to control process flow
Create a client-side human service and coach for the General Manager
review activity
Implement an activity by attaching a service and mapping data
Notes:
Notes:
At major phases during the playback schedule, it is necessary to create a snapshot of the process
application. In a typical engagement with a testing team, the end of playback 2 would be an
opportune time to deploy a snapshot to the test environment. This deployment allows for
incremental testing and validation of the artifacts that were created, in addition to helping to find any
bugs in the development so far.
To deploy a process application, it is essential to create a snapshot of the process application. This
snapshot is the artifact that is deployed to a runtime environment by an administrator.
Uempty
Notes:
Snapshots allow project teams to capture and record a process application at a specific point in
time in the development cycle. Snapshots are often taken to use during playbacks or at other
phases in development.
The team compares different snapshots and reverts to previous snapshots as needed during
development. For example, suppose a developer fixed a problem with a service and took a
snapshot at that point. Then, a different developer made several more changes to the same service
and took a new snapshot. The project manager can compare the two snapshots to determine which
changes were made when and by whom. If the project manager decides that the additional
changes to the service are not worthwhile, the project manager can revert to the snapshot of the
original fix.
Snapshots are also used for installing or moving applications from the development Process Center
to other environments, such as testing or production.
Creating snapshots:
A snapshot is created in IBM Process Designer with the button in the upper-right corner or in the
Process Center process application management interface. All snapshots for an application show
up in the lower-left corner window.
Uempty
3
4
Notes:
To create a snapshot of a process application in the Process Center, the developer completes the
following steps:
1. Click the Process Apps tab to access the process application repository.
2. From the repository, click the process application to get to the management interface.
3. In the process application management interface, click the Snapshots tab.
4. From this interface, click the Create New Snapshot option on the right to create a snapshot for
the process application.
Any snapshot that is created for a process application is listed in the snapshot list for the process
application in both the Process Center and the Process Designer for the application.
Notes:
Some guidelines for using snapshots for a process application:
Snapshots can take up large amounts of space in a database, so create snapshots that are
targeted to important phases in development. Agree on intervals in your organization and take
snapshots at agreed-upon milestones.
Define a meaningful naming convention for snapshots and use that naming convention for all
projects.
Work closely with IBM Business Process Manager administrators to come up with a snapshot
deployment and activation plan. Administrators and developers with administration privileges
are the team members who can deploy snapshots to other environments.
Uempty
Understanding snapshots
Creating snapshots
Notes:
Create a snapshot from inside IBM Process Designer:
Inside IBM Process Designer, click Snapshot.
Give the snapshot a descriptive name.
Click a prior snapshot and see the differences between the two for any of your library artifacts.
Playback 2
The project team is ready for
playback 2
The goal is to demonstrate data
flows from one coach to
another, and from one task to
another inside of the BPD
All data is bound on the
coaches, and if the same data
is shared across multiple tasks,
playback participants can see
the data move through the
different activities
2
Notes:
The project team is ready for playback 2. The goal is to demonstrate data flows from one coach to
another, and from one task to another inside of the BPD. All data is bound on the coaches, and if
the same data is shared across multiple tasks, playback participants can see the data move through
the different activities.
The presenter logs on to the Process Portal and demonstrates the coaches. The screens that are
presented to users have fields that require business data. During the playback, if there are any
questions about appearance, visibility, JavaScript functions, or other enhancement questions, the
team logs the items, but they focus the discussion on the data and not on the presentation style.
Appearance and design for coaches can eat up a significant amount of development time.
Therefore, it is important for the team to spend this time to ensure that the function is correct, and
return to the presentation concerns in playback 4. That way, if timelines shrink or development falls
behind, the emphasis lies in the function of the coaches. If it becomes critical to deploy a version
without the preferred appearance, a functional snapshot can be taken. The enhancements to
appearance can continue to be refined, and usability testing can run in parallel.
To ensure that the team is ready for playback 2:
Exercise 8
Creating a snapshot
Notes:
Complete exercise 8 in the exercise guide.
Uempty
Exercise objectives
After completing this exercise, you should be able to:
Create a snapshot of a process application
Notes:
Unit summary
Having completed this unit, you should be able to:
Build a business object
Initialize a complex object and a list
Build a service
Use coaches to define and implement guided user interactions
Implement a service for an activity in a BPD
Map variables between a nested service and an activity in the overlying
BPD
Use object methods
Create a snapshot of a process application for deployment
Notes:
Uempty
Checkpoint questions
1. True or false? Capitalize the first letter of object types. Use a camel
case data type for a variable when creating an instance of the object
(for example, employeeId).
2. When creating a business object, what setting allows the variable
values to be shared with other instances at run time?
3. Coaches are made up of what two types of components?
4. How do you define what should occur in order for a participant to
complete an activity?
5. Which two tools can developers use to create a snapshot of a
process application?
Notes:
Write your answers here:
1.
2.
3.
4.
5.
Checkpoint answers
1. True. This naming convention makes it easier to identify whether a
business object is the object type or an instance of the object.
2. If the business object and its values must be accessible to other
instances at run time, check the Shared Object check box.
3. Sections and controls. Sections control the layout of your controls
after they are rendered in the browser. Controls include buttons,
check boxes, input boxes, date time pickers, select controls, and
other standard HTML objects.
4. Services define what happens when users try to complete their
activity or when the system must run an activity on a BPD. Services
are attached to an activity from the Implementation section in the
Properties view.
5. Snapshots can be created by using IBM Process Designer or the
Process Center console.
Notes:
Uempty
Unit 9. Conducting playback 3
Unit objectives
After completing this unit, you should be able to:
Create a decision service
Create a message start event
Create an enabling service
Create and configure an undercover agent (UCA)
Start a BPD with a message start event
Organize assets with favorites, tagging, and smart folders
Define the basic function of an integration service
Identify the components of the IBM Business Process Manager
integration architecture
Describe how integration components interact with services
Configure and define integration services for outbound integration
Describe the differences between an environment variable and an
exposed process variable
Copyright IBM Corporation 2014
Notes:
Uempty
Playback 3
The goal is to demonstrate
real data, real time
Show the business rule logic
and show tasks that are being
created as a result of the
decision service
Demonstrate message events
in the BPD that affect process
flow
Some of the integrations that
3
are created in playback 3
enable coach functions
Notes:
The goal is to demonstrate real data, real time. Log on to the portal and demonstrate any
integrations that your process depends on. Show the business rule logic and show tasks that are
being created as a result of the decision service. Demonstrate message events in the BPD that
affect process flow. Some of the integrations that are created in playback 3 enable coach functions.
Those integrations are demonstrated in the next playback.
When this development phase is complete, some external services for this playback might be
incomplete. Continue to use mock data services to enable your BPDs and services, but focus the
playback discussion on those integration endpoint services that are still not available. All artifacts to
enable the integration are already created in the library, and a quick switch of flow is all that is
necessary when the new integration comes on board.
Topics
Creating a decision service
Implementing message events
Applying asset tagging
Accessing and manipulating external data
Exposed process variables (EPVs) and environment variables (ENVs)
Notes:
Uempty
Notes:
Notes:
Developers build a decision service when they want a decision or condition in a business rule to
determine which process implementation is started. For example, when a certain condition
evaluates to true, IBM Process Designer implements the associated activity or action.
IBM Process Designer supports business analysts and business users who create business rule
authoring tasks, who are rule designers rather than programmers. Business rule designers can
express business logic with rule syntax that resembles natural human language. This rule syntax is
called Business Action Language (BAL), which is a declarative language that relates business
concepts to business data and actions.
Business rules are an expression of business policy in a form that business users can understand
and a rules engine can interpret. Business rules formalize a business policy into a series of
if-then statements.
Uempty
Notes:
Business rules are included in a BPD by adding a decision service to the business process
definition. Add a decision service to a process application when the actions that take place in the
process depend upon one or more conditions. For example, if an employee holds the position of
director and submits a meal expense for more than $250, then a rule is created and a variable set in
the rule. A rule such as approvalRequired routes the process sequence flow into a specific
approval activity.
When building a decision service, follow these guidelines:
Build the rule hierarchy so that the rule conditions are ordered from most complex to least
complex.
Create a final condition that is a catch-all rule. This rule is necessary if the team cannot verify
that the variable that they want to modify in the rule is set before running the process that
triggers the decision service.
Consider encapsulating the rules in a single-function decision service that allows the service to
be available to any other part of the process application that needs the same rule logic.
Notes:
In the library panel, click the plus symbol next to the Decisions item to create a decision service. A
decision service contains one or more components. There are three types of components:
BAL Rule: Use the rule editor in this component to author business rules with Business Action
Language (BAL), a natural language technology.
JRules Decision Service: IBM Business Process Manager integrates with IBM WebSphere
ILOG JRules with the JRules Decision Service component. You can use this rule component to
connect to and implement rule applications that are available on a JRules Rule Execution
Server.
Decision Table: The Decision Table component contains a rule table. Each row in the rule table
represents a Boolean condition that evaluates to true or false at run time. When a rule
evaluates to true, the JavaScript expression that you provide as the rule action is run.
Uempty
Notes:
The Business Action Language (BAL) rule component provides a rule editor that allows rule
designers to author business rules with natural language technology. Using natural language
instead of JavaScript to author rules means that no programming expertise is required to create
business rules, and the rules are easier for people to read and understand.
Create the service with the necessary input, private, and output variables. The Decisions tab at the
top is where the author creates the rule with the service variables.
Add rules with the plus sign (+) at the top of the screen, and remove rules with the X next to the
condition to delete. Move the rules up and down with the arrows to the right of the corresponding
rule.
Notes:
The developer uses the BAL rule editor to build rules, add rule parts, statements, and fragments,
and replace placeholders with variables and values. Use the completion menu in the editor to insert
or edit constants, values, parts, or fragments of rule statements. While creating or editing rules, the
editor highlights errors to help you identify and resolve problems in the rules.
A business rule is composed of some or all of the following parts. The parts must be defined in the
following order:
1. Definitions part (optional)
2. If part
3. Then part
4. Else part (optional)
Use the Content Assist box whenever possible. It provides a developer multiple options to choose
from to build the rules. If developers get stuck, they press Ctrl+Space to open the menu and read
through the suggestions and the descriptions of the options available.
Uempty
Building a
decision
service
Adding a BAL
rule
Notes:
Create a BAL rule on a decision service:
Create a decision service.
Create the variables for the service.
Move a BAL onto the canvas.
Create a BAL rule.
Implement the activity on the BPD and map the variables.
Implementing message
events
Notes:
Events can occur at all points of a business process, and they affect the business process flow.
Thus, a major part of implementing business processes is knowing how to handle and react to a
dynamic event like a message event. These dynamic message events are internal or external to the
process. IBM Business Process Manager provides two components, message events and
undercover agents (UCAs) to model and complete these dynamic interactions at run time. The
result is that a process application has an interface to accept incoming messages (undercover
agents) and a listener (message event) that the incoming message triggers and runs a task or set of
tasks.
In Business Process Model and Notation (BPMN), a message generally signifies any signal from
outside the process. Like all intermediate events, the message intermediate event can be used in a
sequence flow or attached to an activity.
UCAs and messaging are topics that take time to understand. This topic is intended to introduce
you to messaging. To obtain a deeper understanding of messaging, consider taking the
Implementing with IBM Business Process Manager Level II course.
Uempty
Notes:
The project team already implemented a timer event, but what happens if a certain process
requires creation of instances on a regular time interval? Because a timer event cannot create
instances (it is an intermediate event, not a start event), they must look to another solution. That
need can be met with a start message event and a time-elapsed undercover agent (UCA).
In this example, a participant (a manager) is required to submit a monthly claim for the group
expenses. The system generates a generic claim shell for the manager to complete, and the
manager must complete the claim before it is submitted. Developers cannot use the intermediate
timer event to create instances, so they must turn to the time-elapsed undercover agent.
Notes:
When a message start event receives a message (specifying that an incoming message is to start a
process at run time), an instance of the business process definition is created. A unique BPD
instance ID is assigned to it. The message start event functions the same as a regular start event,
but a user does not create the process instance through the Process Portal. A message event
creates the instance.
Uempty
Notes:
To implement a start message event, the first step is to create an enabling service. This service is a
simple generic system service; but to distinguish the enabling service from other generic services,
add an ES suffix to the name. If variables are required for the process, this service must create the
output variables. The output of the enabling service defines what data is sent as part of the
message payload. Outputs of the enabling service are optional. There also cannot be a coach as
part of the enabling service.
For this example, you created an output that is called orderDetails of type OrderDetails, and you
created the data with a server script inside the enabling service. After you create the enabling
service, use it when you create the undercover agent.
Notes:
The next step is to create the UCA. There are two settings for the schedule type: Time Elapsed
and On Event. Select the Time Elapsed option to create instances of a process on a set schedule.
Click Finish to complete the creation of the UCA.
More in-depth coverage of the On Event UCA is included in the Implementing with IBM Business
Process Manager Level II course.
Uempty
2
3
Figure 9-16. Configuring a time elapsed undercover agent (UCA) WB814 / ZB8141.0
Notes:
When the UCA artifact is created, the team sees the undercover agent settings in the UCA
interface:
1. The team uses the Details section to select the attached enabling service that was created in
the last step.
2. The attached service is listed, and the output variables of the enabling service are listed in the
Parameters Mapping section as an output of the UCA. The output data of the UCA is sent as
part of the message payload.
3. At the bottom of the settings interface, developers create the time schedule that the UCA fires in
the Time Schedule section. When the Enabled check box is selected in the Details section,
the UCA is now active and is following the time schedule.
When the UCA fires, the enabling service runs, and the output of the enabling service is passed as
part of the message payload. Any message events that are listening to this UCA then react to the
message.
Time elapsed UCAs are also run on demand by clicking Run now.
Notes:
The final step is to implement the start event on a BPD.
Implementing message start events:
The following configuration settings are configured for the start message event to work properly.
Attached UCA
Undercover agents (UCA) are used to send and receive messages.
Condition
Occasionally, developers must set conditions on the processing of incoming messages. If the
condition that the developers specify evaluates to true, the message is accepted and
processing continues; otherwise, it is stopped. Because the message condition is evaluated
before the message values can be passed to the input variables of the process definition, the
message values are passed to the condition in a special namespace, tw.message. If the
message condition evaluates to true, the values are passed from the tw.message namespace
to the BPD input variables.
Consume message
Uempty Developers configure message events to consume messages. If they do, when a message is
delivered to a running process, the message consumes the first message event in the BPD that
can accept it. The UCA that is attached to the message event determines the consumption.
When a message is consumed, the message cannot be processed again if the execution of the
BPD instance loops back and reaches the same message event listener or listeners. If a new
instance of the message is delivered to the process instance, this message is available for
consumption again, and the message event accepts it.
Durable subscription
Allows an incoming message to be delivered to the message event when the token reaches the
message event in the future. This option is not available for message start events.
Notes:
The final step is to map the outputs of the start message event to the variables in the process.
Again, the variables that come from the start event are defined as outputs in the enabling service as
part of the UCA message.
Uempty
Implementing message
start events
Enabling services
Configuring UCAs
Triggering UCAs
Copyright IBM Corporation 2014
Figure 9-19. Instructor walk-through: UCAs and start events WB814 / ZB8141.0
Notes:
Implementing a message start event:
Add a message start event to the BPD.
Create the enabling service (ES) with appropriate outputs.
Create the UCA and attach the ES.
Map the UCA to the start event.
Configure the start event.
Set the start event output mapping to the appropriate BPD variables.
Trigger the UCA to create an instance of the process.
Notes:
When library artifacts are created, there is a constant necessity to organize assets throughout the
development cycle. Favorites, tagging, and smart folders can be used to provide quick access to all
of your assets.
Uempty
Creating favorites
Notes:
Organizing assets:
In IBM Business Process Manager, there are several ways to organize the library assets. Many of
these concepts are already familiar to developers.
Creating favorites:
Any asset can be marked for quick access by marking it as a favorite. All of these assets
automatically show up in the smart folders category favorites in the lower-left corner. Select the star
next to any asset to mark it as a favorite.
Notes:
Tagging library items:
Many of the library assets fall into categories. Developers can use a predefined set of tags or create
their own tags for groups of items. After developers tag a set of items, they can view them by asset
type or by tagged items.
Right-click an asset and click Tag to tag an item. To view by Tag, click the Type menu and then
click Tag.
Uempty
Smart folders
Notes:
Smart folders:
Assets are also organized into viewing folders. There are already some smart folders included by
default. For example, Changed Today includes all assets that are changed in the current day by
any user that can access the process application.
Smart folders work by creating rules to organize assets. Developers include library items that are
based on the presence of a particular tag, creation date, item type, or other groupings. Using a
smart folder does not move the library assets into folders, but provides developers a different way
to categorize and view the current assets.
The smart folder decisions evaluate the rules from top to bottom. If no rules match existing library
items, the smart folder is empty. Here are a few smart folder ideas that are good practices for an
organization: top-level business processes, UCAs, web services, utility services, BPD wrappers,
task services, and data access services. Share your smart folders that are standard; they are
probably helpful to other designers. In some cases, the library already organizes your items. For
instance, there is already a folder for human services so you would not create a smart folder for
coach services.
Creating favorites
Tagging library items
Smart folders
Copyright IBM Corporation 2014
Notes:
Creating favorites:
Click the star next to an asset in the library.
View the favorites category.
Tagging library items:
Click the item that you want to tag.
Select the appropriate tag or create a tag.
Smart folders:
Click the plus sign next to smart folders.
Give a name to the new smart folder.
Create rules to filter the items in the folder.
Accessing and
manipulating external data
Notes:
A major concern of any enterprise system is its integration capability with other systems. For
example, the project team wants users to choose from a list of products available from a web
service. Focus on integrating with other systems in this playback. When the team wants to
integrate, use an integration service. Integration services are in the library in the Implementation
category. The integration framework allows interaction with existing applications, ECMs, ERPs,
CRMs, web services, and external data sources with a number of protocols.
Uempty
IBM
Business Process Manager
ERP CRM
Notes:
Integrating with other systems:
IBM Business Process Manager provides support for outbound and inbound integration. When
communicating with an outside system like an enterprise resource planning (ERP) or customer
relationship management (CRM) system to retrieve, update, or insert data, it is known as an
outbound integration.
Integration services
Integration component
ERP CRM
Notes:
Most outbound integrations involve calling out to data sources and web services. In considering
what type of integration component to build, think about the available integration methods and
protocols:
Web service integrations tend to be easy to build and are useful, especially if you are not
passing volumes of information.
Java integrations are robust because they are built in Java, and sometimes you can find
existing Java connections to existing systems.
When you message other systems, you do so with an integration service and a Java or web service
integration component. The integration components handle the lowest level of communication to
the outside application or data source.
Uempty
Notes:
You can add an integration service to multiple general system services, or even use it in the same
service more than one time to produce different data from different sources.
When you run an integration service at run time, it calls the web service or Java integration
component, which in turn calls the external application.
The integration service does not show the output from the external application. It shows the output
from the integration component. That output is usually XML.
Do not load large results all at one time. Instead, break up those activities into chunks (IBM
Business Process Manager loads the entire query result into memory). You can also use one of the
other query methods that allow for a cursor-style database interaction. There are some use cases
where it makes sense. Make sure that you use appropriate indexing.
Notes:
This integration component is built with the Apache Axis Web Service Client framework, which is an
implementation of SOAP. Outbound web service integration components use the SOAP connection
to message web services by discovering the ports and parameters from the WSDL document.
The outbound web service integration component hides the complexity of the underlying WSDL,
SOAP request, and SOAP response. It also converts the inputs into the appropriate XML and the
outputs into the appropriate variables.
When designing the data to pass in and out with web services, avoid circular references in data
structures. They do not map correctly to the WSDL that is necessary to define the web service.
Uempty
Web services
Create an inbound web service to provide a way for an external system
or application to call into IBM Business Process Manager
Notes:
A web service (inbound) provides a way for an external system or application to call into IBM
Business Process Manager. The method for accomplishing this integration is to create and publish
a web service endpoint so that external applications can initiate a particular IBM Business Process
Manager service or set of services. The service starts the operation on the endpoint. By starting a
SOAP call, external applications can call the web service.
All operations that are exposed on a web service are exposed as request/response operations.
Even an operation that is bound to a service that has no outputs is exposed as a request/response
operation with no output. One-way operations are not supported.
In the Behavior section, the web service provides the WSDL URI. The Protected check box adds
user name and password security to an operation in the web service. The Target namespace
scheme menu list provides options for setting the target namespace.
The Security and Policy section allows developers to configure a policy set and a policy binding with
the web service. A system administrator configures the server before completion of an integration.
Figure 9-31. Policy set support for web services WB814 / ZB8141.0
Notes:
In IBM Business Process Manager, the Security and Policy determine the type of security that
developers use for the web service. In terms of the Use Policy Set, this selection means that a
policy set is used to define the configuration and security requirements for the web service.
When the User Policy Set is selected, developers select the actual Policy Set. Policy Set
specifies the name of the application policy set. Developers click Select to choose the policy set.
The list that they see depends on the policies available on the server. Some default application
policy sets include: WSHTTPS default, WSAddressing default, and Username WSSecurity
default. Developers can also create extra application policy sets in the WebSphere Application
Server administrative console. Clearing a policy set also removes the policy binding.
The next selection is the Policy Binding. The Policy Binding specifies the name of the general
client policy set binding, which contains system-specific configuration parameters like user name
and password information. Developers click Select to choose the policy binding. The list that they
see depends on the policy set bindings available on the server. Default policy set bindings include:
Client sample and Client sample V2. Developers also create extra policy set bindings in the
WebSphere Application Server administrative console. Clearing removes the policy binding.
Uempty
Figure 9-32. Simple configuration of inbound web service details WB814 / ZB8141.0
Notes:
Developers specify server-specific information in the Process Application settings. These server
settings are treated as environment variables. More detail on environment variables is covered later
in this unit. When all the server details are defined, developers can select the process application
settings in the Discovery section of the web service integration component implementation. By
selecting From process application settings, they choose the web service that is defined for the
server and the operations and security settings.
Figure 9-33. SOAP header support for inbound and outbound web services WB814 / ZB8141.0
Notes:
In IBM Business Process Manager, the Process Designer supports setting SOAP headers in an
outbound web services call and allows passing in SOAP headers through inbound web services.
IBM Business Process Manager provides SOAP header support through three mediums:
Presupplied SOAPHeaders and SOAPHeader types
JavaScript variables:
- tw.system.header.soap.request (inbound SOAP request)
- tw.system.header.soap.response (outbound SOAP response)
System automatic usage of JavaScript variables:
- Setting of inbound request and outbound response variables
- Reading of inbound response and outbound request variables
Uempty
Figure 9-34. SOAP header variable types in the system toolkit WB814 / ZB8141.0
Notes:
SOAP headers are used to communicate application-specific context information within SOAP
request and response messages. This context information can be anything that developers must
send along with the web service operation parameters. An implicit SOAP header is one that is not
defined in the web service WSDL document. As part of the outbound web service integrations,
developers add implicit SOAP headers to the web service request messages and retrieve SOAP
headers from response messages. IBM Business Process Manager provides both SOAPHeaders
and SOAPHeader variable types in the system toolkit.
Quick
integration with
most third-party
Java APIs
Add your own
custom built
JAR files either
directly in the
process
application or
with a toolkit
Notes:
As the name implies, the Java integration component allows quick integration with any Java API by
calling a class method with reflection. This extensible integration framework can interface with most
third-party Java APIs, allowing it to support many integration scenarios.
A single Java integration component can reference, or call, only one method of the class. To call a
different method within the class, developers must create an integration service with a separate
Java integration component. Before creating an integration service with a Java integration
component, the Java class and method must be present in the library. By default, the classes in the
Java package are available in the integration.jar file, which is included in the System Data
toolkit.
Developers add their own custom built JAR files either directly in the process application or with a
toolkit. JAR files included in a toolkit can be shared between process applications.
Uempty
Notes:
Prebuilt integration services:
IBM Business Process Manager contains several prebuilt integration services that already contain
integration components. These integration services support common database interactions,
including support for parameterized queries. In addition, these services can automatically map
query results directly into a specified variable type.
One example is the integration service that is named SQL Execute Statement.
The SQL Execute Statement integration service enables you to develop implementations to:
Read existing data from a database
Update existing data in a database
Write new data to a database
To use a SQL integration service in an implementation, you can:
Select a SQL integration service as the implementation for an activity
Nest a SQL integration service in another service by dragging it from the library to the diagram
of the parent service
Uempty
Notes:
System toolkit prebuilt integration services:
View the system toolkit integrations.
Figure 9-38. Exposed process variables (EPVs) and environment variables (ENVs) WB814 / ZB8141.0
Notes:
Business objects and variables were covered earlier in this course in terms of the data model for the
process application. There are two other kinds of data elements: the exposed process variable
(EPV) and the environment variable (ENV).
Uempty
Notes:
Environment variables:
IBM Business Process Manager has the capacity to define environment variables. Each process
application and toolkit that is created in the Process Center repository includes environment
variables. The project team sets these environment variables to ensure that the process
implementations are using correct values, whatever environment they deploy to or whatever
change occurs at run time in the environment. For example, suppose that your process includes an
implementation that requires the port number for an external application. With an environment
variable, you can set the port number for each environment in which the process runs. If the
process is running on a test environment, it might have a different port number than if the same
application were running on a production environment. Developers can specify a default value and
a value for each type of Process Server. There is a limitation of four environments (plus a default
value) for environment variables. If you need more than four environments, use an exposed
process variable for each environment needed.
Name environment variables by starting with lowercase letters and separating different words with
periods. Thus, connector.version is an acceptable name for an environment variable.
Notes:
Exposed process variables:
Another variable type that is used in BPDs and services is an exposed process variable (EPV).
EPVs allow business users to modify the value of a variable that is exposed in the Process Portal
without providing access to IBM Process Designer. Business users can also log on to the process
administrative console and change the value of an EPV if they have the required authorizations.
Uempty
Environment
EPV variable
Can be Yes No
scheduled to
change value in
the future
Notes:
This chart is a quick comparison of the EPV and environment variable.
Notes:
This chart is a continuation of the comparison of the EPV and environment variable.
Uempty
Notes:
Environment variables:
Create an environment variable.
Set the values for the different environments.
Exposed process variables:
Create an EPV.
Link to an EPV inside a service.
Show the EPV page in the portal.
Change the value and set the effective date in the future.
Playback 3
Playback 3 is now ready
The goal is to demonstrate
real data, real time
Show the business rule logic
and show tasks that are being
created as a result of the
decision service
Demonstrate message events
in the BPD that affect process
flow 3
Some of the integrations that
are created in playback 3
enable coach functions
Notes:
Playback 3 is now ready. The goal is to demonstrate real data, real time. Log on to the portal and
demonstrate any integrations that your process depends on. Show the business rule logic and
show tasks that are being created as a result of the decision service. Demonstrate message events
in the BPD that affect process flow. Some of the integrations that are created in playback 3 enable
coach functions. Those integrations are demonstrated in the next playback.
When this development phase is complete, some external services for this playback might be
incomplete. Continue to use mock data services to enable your BPDs and services, but focus the
playback discussion on those integration endpoint services that are still not available. All artifacts to
enable the integration are already created in the library, and a quick switch of flow is all that is
necessary when the new integration comes on board.
To ensure that you are ready for playback 3:
Log on to the portal:
- Log on to the Process Portal. The URL is: http://<server URL:port>/portal
Complete a human activity:
- Complete the coach.
Exercise 9
Notes:
Complete exercise 9, creating playback 3 assets, in the exercise guide.
Uempty
Exercise objectives
After completing this exercise, you should be able to:
Create a decision service
Create and configure a UCA
Start a BPD with a message start event
Use tagging to organize assets
Query a database to obtain information and populate a list variable
Create environment variables (ENVs) and exposed process variables
(EPVs)
Notes:
Playback 3
Playback 3 is now ready
The goal is to demonstrate
real data, real time
Show the business rule logic
and show tasks that are being
created as a result of the
decision service
Demonstrate message events
in the BPD that affect process
flow 3
Some of the integrations that
are created in playback 3
enable coach functions
Notes:
Playback 3 is now ready. The goal is to demonstrate real data, real time. Log on to the portal and
demonstrate any integrations that your process depends on. Show the business rule logic and
show tasks that are being created as a result of the decision service. Demonstrate message events
in the BPD that affect process flow. Some of the integrations that are created in playback 3 enable
coach functions. Those integrations are demonstrated in the next playback.
When this development phase is complete, some external services for this playback might be
incomplete. Continue to use mock data services to enable your BPDs and services, but focus the
playback discussion on those integration endpoint services that are still not available. All artifacts to
enable the integration are already created in the library, and a quick switch of flow is all that is
necessary when the new integration comes on board.
To ensure that you are ready for playback 3:
Log on to the portal:
- Log on to the Process Portal. The URL is: http://<server URL:port>/portal
Complete a human activity:
- Complete the coach.
Unit summary
Having completed this unit, you should be able to:
Create a decision service
Create a message start event
Create an enabling service
Create and configure an undercover agent (UCA)
Start a BPD with a message start event
Organize assets with favorites, tagging, and smart folders
Define the basic function of an integration service
Identify the components of the IBM Business Process Manager
integration architecture
Describe how integration components interact with services
Configure and define integration services for outbound integration
Describe the differences between an environment variable and an
exposed process variable
Copyright IBM Corporation 2014
Notes:
Uempty
Checkpoint questions
1. What does the acronym BAL stand for?
2. What are the three main steps required to implement a start
message event?
3. What smart folder automatically contains all the artifacts that have
stars attached to them?
4. Where is the first place you should look if you want to create an
outbound integration to a SQL database?
5. Which variable type is designed to allow business users to modify
the value of a variable without providing them access to the IBM
Process Designer?
Notes:
Write your answers here:
1.
2.
3.
4.
5.
Checkpoint answers
1. Business Action Language. Using natural language to author rules,
instead of JavaScript, means that no programming expertise is
required to create business rules, and the rules are easier for people
to read and understand.
2. Create the enabling service (which defines the payload of the
message); then create the UCA, and attach the UCA to the start
message event.
3. Attaching a star to an artifact makes it a favorite and puts it in the
favorites smart folder.
4. The system data toolkit contains numerous integration services that
you can drag easily into your service. For example, there are almost
20 different SQL integration services in the system data toolkit.
5. The exposed process variable (EPV) is designed for business users
to change values of business data in real time and without providing
a login to the IBM Process Designer.
Notes:
Uempty
Unit 10. Conducting playback 4
Unit objectives
After completing this unit, you should be able to:
Create tabs on a coach
Add a visibility rule to an input control
Apply a class to a control
Change the look of a control through CSS
Create a coach view
Notes:
Uempty
Playback 4
Show off all the new features
that you built into your coaches
Demonstrate how each coach
looks to the different
participants in your process
This playback garners intense
scrutiny
Before you enter this playback
session, make sure that no
regression errors occur 4
Ensure that all the coaches are
functioning correctly, and that
this playback shows off the
good results
Notes:
Playback 4 is your chance to show off all the new features that you built into your coaches. Log on
to the portal and demonstrate how each coach looks to the different participants in your process.
This playback garners intense scrutiny. Before you enter this playback session, make sure that no
regression errors occur; ensure that all the coaches are functioning correctly, and this playback
shows off the good results.
Business users always demand heavy user interface (UI) requirements. Traditionally, it is a struggle
between developers and project management. By debating the compromises to the UI, a
consensus can be built around what is necessary to help participants complete their tasks in the
least amount of time in the process. Compare this approach to spending a tremendous amount of
time to create a complex UI screen, which might hold little business value.
Topics
Enhancing coaches
Coach views
Notes:
Uempty
Coach view: Reusable asset that can be shared with multiple coaches
or even multiple process applications
Notes:
Enhancing coaches
Notes:
After modeling the basic coaches, and ensuring the data is flowing in the process, it is time to revisit
the coaches that were created during playback 2. Now is the opportunity to add functions,
interaction, stylization, menus to select from, and all the other user interface enhancements
necessary for users to complete their tasks.
This portion of the playback usually receives the highest scrutiny, so take enough time to meet the
business requirements, but balance this time with the overall project timelines. Avoid adding extra
functions when it does not provide value. This unit focuses on using controls that are included in the
IBM Business Process Manager coach toolkits. HTML, JavaScript, and CSS are used to enhance
the stock coaches; but if these stock controls do not meet your needs, feel free to create your own
by using coach views.
Now is not the time to cause a regression error. Because you verified the data flow, make sure that
you do not break something that was working in a prior playback.
Uempty
Notes:
Coaches use the same technology as any web development environment to serve web content to
users. Coaches are composed of HTML, JavaScript, and CSS. The three elements control the
content, functions, and presentation of every web page. All three elements are contained in coach
views, the widget components that are used in coach designer to create a final web form or
dashboard. Coach views are covered in more detail later in the unit.
Coaches are made of HTML divisions (divs) and spans, which control the structure of the page.
Controls and labels are inside these elements. The stock JavaScript and CSS files are linked
through <include> elements in the HTML. Although the coach views in coaches come preinstalled
with CSS and JavaScript to control the stock functions, any modification from the stock can be
accomplished. That includes creating custom HTML controls from scratch, creating custom style
sheets, and changing or adding JavaScript functions.
Some organizations might be hesitant to use coaches if they are unaware of the capabilities, but
there are no limitations to using coaches to create a web page. If it can be built and shown in a
browser, it can be done with a coach.
JavaScript libraries
Examples of libraries that developers are successfully using in their coaches:
YUI Library
Dojo
Ext JS
jQuery
Prototype
Notes:
Any JavaScript library can be loaded to assist development. Dojo is already included and available
for every coach, but if you are familiar with another library, feel free to add a custom HTML block
and include the library on your coach. Coach views also use AMD dependency for JavaScript
libraries. More details on coach views and AMD dependency are covered later in the unit.
Uempty
Coach tabs
Notes:
Large coaches have numerous disadvantages. The first might be that the performance of the coach
might be affected. The user might become confused or overwhelmed when working with such a
large amount of data. Similar fields that are near each other might not provide a user enough
contextual information about what information is included in the inputs. By grouping similar data into
tabs and providing a wizard-like interaction with the forms the user must complete, the coaches
become more useful and the overall user experience is improved.
Tabs can be added to any coach. Creating a tabbed coach is easy. Drag a tabs control onto the
coach designer canvas from the View tray palette and move the existing sections into the individual
tabs. All of the show and hide JavaScript functions are provided to the developer through the tab
coach view control.
Figure 10-9. Instructor walk-through: Group controls and tabs WB814 / ZB8141.0
Notes:
Creating tabs:
Create the tabs.
View the configuration options.
Move fields into the tab sections.
View the coach in a browser.
Uempty
Notes:
Implementing a select control:
Until now, a user might insert any type of data into an input box. One way to standardize the input
data is to provide options for a user to choose from. There are many different options to allow a user
to choose from a list of choices on a coach. The intent is to limit the values that a user can input for
a certain control. The solution that is provided in IBM Business Process Manager is to use the
select control that is provided in the System Data toolkit. This default control is a setup that uses an
Ajax service with specific inputs and outputs to feed the list in the control object. To learn more
about Ajax services and advanced coach views and coach design, sign up for the IBM Business
Process Manager Implementation Level 2 course.
Another common approach is to provide a selection of options for the user to choose from. The
control itself is bound to a variable, similar to any input. The selection data can come from a list that
is retrieved from a database.
The easiest way to accomplish a select control in a coach is to store the dynamic data in a list of
String or a list of NameValuePair. The step before the coach retrieves the data with a SQL
integration service that was created in playback 3 and saves the data in a list object.
Drag the integration service onto the palette and hook up the flows. Map the output of the
integration service to a local variable. The variable feeds the control on the coach.
Uempty
Notes:
The next step is to identify the input control that was created in playback 2 that must be changed
into a select control. At times, by using a toolkit that comes from other developers, the
implementation is quicker. The default select control is easily configured to show the list of options
to a user. As a developer, you have plenty of options to choose from, including building your own
coach view select control. Coach views are explained in more detail later in this unit.
To accomplish this change, in the View: option, the developer clicks Select to choose the Select
control from the system toolkit to replace the default Text view. The image on the palette changes
to reflect the new look of the select box.
Notes:
The final step is to set what values are displayed to the user in the control, and what values are
stored in the bound variable when the user makes the selection. The binding on the General tab
sets the list that the user can select from. When users select their choice, the selection is a member
of the type of variable that is configured as the binding variable. The variable is stored in the
Selected item variable.
Note
If the binding is a list of NameValuePair, the Selected item must be a simple NameValuePair
variable. If the binding is a list of String, the Selected Item must be a simple String variable.
Uempty
Notes:
Create a select control:
Select an input control.
Change the control type of the input control type to Single Select from the coach bonus toolkit.
Bind the NameValuePair list that is retrieved from an integration to the Configuration > Select
list.
If using a list other than NameValuePair, provide the value and name fields to the control.
Add a NameValuePair variable to the coach service.
Bind the new NameValuePair private variable to the binding listed under the General >
Behavior menu.
Notes:
Set the visibility of a coach view control when editing it in a Coach.
A common situation on a coach is when a field or control must show or hide, depending on another
field. Right now, all the fields are visible by default (Same as parent), but a developer can show or
hide individual fields with the visibility selector in the Visibility menu. Every setting in the visibility
selector is different when assigning a value to a control option.
Required: The coach view is editable and also has a decorator that indicates to users that they
must enter or set a value.
Important
Setting the Visibility property to Required does not validate whether a user enters or sets a value.
A developer must provide code that does this checking by, for example, implementing a validation
service or script for the coach that contains the coach view.
Uempty Editable: Users see the coach view and add or edit values in the coach view or otherwise
interact with it.
Read only: Users cannot edit the value of the variable
Hidden: Users cannot see the coach view. The generated HTML still contains the DOM node
for the coach view, and the space is maintained for the element on the screen. The parent
coach view reserves space in the layout to display the coach view if it becomes visible.
None: Users cannot see the coach view. The None value is the visibility of the coach view on
screen and not whether users can see it in the HTML source. The section exists inside the
DOM, but the area is not reserved for the elements, and if the element becomes visible, the
other elements shift to create space for this element.
To illustrate the difference between Hidden and None, suppose that you have a vertical section with
three text inputs. If you set the middle field to Hidden visibility, the section displays empty space
where the middle field would be if it were visible. If you set the middle field to None visibility, the
section collapses the space between the upper and lower fields. If the middle field becomes visible,
the lower field moves down to make room for the middle field.
Notes:
What if the visibility depends on the input of a different field? You can meet this dependent visibility
function by using the script option and inserting a variable. Most coach controls allow a variable to
be used instead of the selection from a selector box.
To create dependent visibility, you first add a coach view control on the coach designer canvas that
holds the visibility string value that is bound to the visibility control. Then, select the control that the
show or hide function is applied to, and bind the visibility variable to a visibility string field value.
Note
The different sources for visibility that are available for a coach view control are not available when
a text control is embedded in a coach view. A developer gets the different visibility sources only
when the control is on the actual coach designer canvas.
Uempty
Notes:
A visibility rule set has one or more rules and a default value for when no rules apply. The rules
have an OR relationship. The order of the rules is important because the coach view uses the
visibility value of the first rule that applies. The developer determines whether the first rule in the
rule set is based on a variable value or on a team membership and then selects Variable or Team.
The default value for the rule set is a selected value in the Otherwise field.
For a variable, the format of the rule is visibility variable condition value. To create a visibility rule
that is based on a variable value:
For visibility, set the value for the visibility in the Set to field if the rule applies.
For variable, click Select and then select the variable that is defined in the human service that
determines when the visibility value applies.
For condition, select the type of comparison that is used on the variable value.
For value, enter the variable value that triggers the application of the visibility value.
For a team, the format of the rule is visibility membership team. To create a visibility rule that is
based on team membership:
For visibility, set the value for the visibility in the Set to field if the rule applies.
For membership, select the membership type of the user in the team.
For team, select the team that the user belongs to.
To add extra variable values or team memberships to a rule, click the plus icon on the right.
Subsequent clicks add a variable value or team membership for each click. If there are multiple
variables or team memberships in a rule, they have an AND relationship with each other. That is, all
of them must be true for the rule to apply.
Uempty
HTML attributes
A section in the Properties tab where developers override styles for a
specific coach view instance
Notes:
The HTML Attributes is where developers override styles for a specific coach view instance.
Overriding a style consists of:
An HTML class attribute in each coach view instance that a developer wants to specifically style
A corresponding CSS rule for that class attribute
Important
Do not use the following names as CSS class names in your HTML source code because they are
reserved names:
CoachView
ContentBox
Notes:
A CSS class can be added to any coach view control through the HTML Attributes menu. This
class is added to the text input control, and through the cascading nature of CSS, the attribute is
applied to the control. In the example that is shown, the class largeInput is added to a text input.
The next step in changing the look of a control is to apply a class style.
To add a style change to the control, developers drag a Custom HTML control from the Advanced
tray palette onto the coach designer canvas. They then apply a style that targets the class. In this
example, the developer targets the CSS class that contains the text input box by using the following
CSS code:
.largeInput .dijitTextBox {width: 500px;}
The developer changes the width of the text box control to 500 pixels. The class is applied to
largeInput, which contains the input and the label. To apply the style to the container that holds
the input, the developer selects the child item, .dijitTextBox.
Uempty
Demonstrate
assigning a variable
to a control option
Implement dependent
visibility
Add a class to a
control
Implement a Custom
HTML control
Figure 10-19. Instructor walk-through: Dependent visibility and CSS WB814 / ZB8141.0
Notes:
Demonstrate assigning a variable to a control option:
Click an input control.
Demonstrate assigning a variable to a control option.
Implement dependent visibility:
Add a private variable to hold the visibility value.
Change the visibility of the explanation control.
Configure the visibility rule from the coach bonus toolkit.
Hide the visibility input box.
Add a class to a control:
Click a control.
Click the HTML Attributes menu.
Click Add Class.
Coach views
Notes:
Coach views are reusable sets of user interface (widgets or controls) that users can use to interact
with a business object or service. Coach views consist of one or more other coach views, data
bindings, layout instructions, and behavior. Coach views are stock (included, not customized) or
custom controls or dashboards. IBM Business Process Manager provides the stock controls, which
are coach views, and they are found in the Control category or in the Section category on the
View tray palette of the coach designer. Custom coach views are controls or dashboards that a
developer creates or that other programs or companies provide. In terms of use, IBM Business
Process Manager treats stock and custom coach views identically.
This topic covers how to create custom coach views.
Uempty
Coach views
Coach views are reusable assets that can be shared with multiple
coaches or even multiple process applications
Coach views and coaches can share parts of their user interface with
other coach views and coaches
In general, create highly reusable coach views in toolkits and more
specialized coach views in process applications
If the coach view is in a toolkit and then someone edits it, the changes apply to
all instances of the coach view in all applications that use that toolkit
You cannot directly edit the definition of the coach view from within the parent
coach or coach view
Instead, you must first open the coach view definition before you can change it
Notes:
Coach views are reusable assets (or coach controls) that can be shared with multiple coaches or
even multiple process applications. For example, after developers apply the CSS classes and
achieve the style that they want for a coach, they can create a custom coach view. By moving the
class into a coach view, the class can now be a shared asset.
Because coach views are reusable, coach views and coaches can share parts of their user
interface with other coach views and coaches. For example, suppose you create a coach with a
coach view that contains a set of address fields. If you create a second coach that needs address
fields, you can reuse the coach view from the first coach. In both cases, the coach is using an
instance of the coach view. You can edit the properties of each instance independently. For
example, changing the label of one coach view instance does not change the label of the other.
Both instances of the coach view use a reference to point to the coach view definition. This
approach means that if the coach view definition changes, you can see the change reflected in the
instances of the coach view.
You can create a coach view in the process application or in a toolkit. In general, create highly
reusable coach views in toolkits and more specialized coach views in process applications.
Choosing the process application means that you can reuse it only within the process application.
However, it also means that if someone edits the coach view, the changes apply to the instances of
the coach view in the process application. If the coach view is in a toolkit, when someone edits it,
the changes apply to all instances of the coach view in all applications that use that toolkit. Because
editing a coach definition can affect many instances, be careful in your changes. For example,
deleting a content box in the coach view definition means that coaches or coach views that contain
instances of that coach view cannot display the content.
You cannot directly edit the definition of the coach view from within the parent coach or coach view.
Instead, you must open the coach view definition first before you can change it.
Uempty
Notes:
To create a custom coach view, the developer clicks the plus icon next to the User Interface
category in the library palette in the Process Designer. After naming the coach view, the developer
is directed to the coach view definition page.
You can also create a coach view in the Client-side human service designer.
Notes:
When developers create a coach view or open an existing coach view to edit it, they see the
following sections available:
Overview
This page displays the coach view name, information about the coach view, the images that are
used to represent the coach view during design time, and how the coach view is used. You can
also tag your coach view to make it easier to find in the library and on the palette.
Behavior
This page displays the scripts and CSS files that are contained in the coach view. The Behavior
page is also where you define event handler code. The event handlers are the entry points for
the code of the coach view. While the coach view might reference supporting JavaScript files,
the event handlers contain the functions that the IBM Business Process Manager framework
calls.
Variables
Uempty This page displays the business data binding, configuration options (which includes Ajax
services), and localization resources that are available to the coach view or what the coach view
uses.
Layout
This page displays the coach views and controls that are contained within the coach view and
their relative positions. The layout page also displays the palette, which contains items that you
can add to the coach view. These items consist of coach views, which are categorized with
tags, advanced items, and variables.
Notes:
In the Behavior section of the coach view definitions, a developer includes reusable scripts or adds
inline JavaScript or CSS code to the coach view. The developer can also define events.
To define the behavior for the coach view in the Behavior page, the developer adds existing script
files from the library through the Included Scripts section. The developer adds CSS code and
JavaScript to the coach view definition through the Inline CSS and Inline JavaScript sections. In
general, a developer includes scripts for reusable code and the inline options for JavaScript and
CSS code that is not reusable.
For .css files, a developer specifies whether to include or exclude styles for a browser or for the
media type.
If developers are using JavaScript calls inside HREF <a></a> tags, they make sure that they
discover and handle events properly. JavaScript on-click events should end with return false;
If developers use dojo.connect events, they must use dojo.stopEvent(e);
Otherwise, they experience problems with browser connection; for example, connections to IBM
Sametime close prematurely. If the coach view requires modules that are written in the AMD
(Asynchronous Module Definition) style, they register the dependent modules by using AMD
Uempty dependencies. To insert code like <meta> tags into the header of the coach view, developers use
Header HTML.
Define the functions for the coach view in the event handlers. For example, if developers select Can
Fire a Boundary Event on the Overview page, they add code to fire the boundary events. To fire
the event, they code the JavaScript to call this.context.trigger(callback) at the appropriate
time.
Notes:
Create a coach view:
Click the plus sign next to User Interface and select coach view.
Give the coach view a name.
Add the controls to the layout, variables, and behavior.
Uempty
Playback 4
Playback 4 is now ready
It is your chance to show off all
the new features that you built
into your coaches
Demonstrate how each coach
looks to the different
participants in your process
This playback garners intense
scrutiny
Before you enter this playback
session, make sure that no
4
regression errors occur
Ensure that all the coaches are
functioning correctly, and that
this playback shows off the
good results
Copyright IBM Corporation 2014
Notes:
Playback 4 is now ready. It is your chance to show off all the new features that you built into your
coaches. Log on to the portal and demonstrate how each coach looks to the different participants in
your process. This playback garners intense scrutiny. Before you enter this playback session, make
sure that no regression errors occur; ensure that all the coaches are functioning correctly, and this
playback shows off the good results.
Business users always demand heavy user interface (UI) requirements. Traditionally, it is a struggle
between developers and project management. By debating the compromises to the UI, a
consensus can be built around what is necessary to help participants complete their tasks in the
least amount of time in the process. Compare this approach to spending a tremendous amount of
time to create a complex UI screen, which might hold little business value.
To ensure that you are ready for playback 4:
Log on to the portal:
- Log on to the portal. The URL is: http://<server URL:port>/portal
Run a task:
- View the coach.
Uempty
Exercise 10
Notes:
Complete exercise 10, enhancing a coach for playback 4, in the exercise guide.
Exercise objectives
After completing this exercise, you should be able to:
Create tabs on a coach
Change a text control to a single select control
Add a visibility rule to an input control
Apply a class to a control
Change the look of a control through CSS
Create a coach view
Change the coach layout for a mobile format
Notes:
Uempty
Unit summary
Having completed this unit, you should be able to:
Create tabs on a coach
Add a visibility rule to an input control
Apply a class to a control
Change the look of a control through CSS
Create a coach view
Notes:
Checkpoint questions
1. Coaches consist of what three things?
2. What JavaScript library is included on every coach?
3. What are the five visibility value settings you can apply to a control?
4. What are the four pages (tabs) that contain the settings of a coach
view?
Notes:
Write your answers here:
1.
2.
3.
4.
Uempty
Checkpoint answers
1. HTML, JavaScript, and CSS.
2. Dojo.
3. Editable, Required, Read Only, Hidden, and None.
4. Overview, Behavior, Variables, and Layout.
Notes:
Uempty
Unit 11. Conducting playback 5
Unit objectives
After completing this unit, you should be able to:
Catch an error in a BPD and a service
Notes:
Uempty
Playback 5
Playback 5 is the final playback
The goal of this playback is to
demonstrate what happens
when your process encounters
an error, and to demonstrate
how that error is handled
Consider demonstrating the
different error handling patterns
that are used in your process
application 5
Conveys the general principles
that are used for error handling
without having to demonstrate
every instance of error handling
in your process app
Copyright IBM Corporation 2014
Notes:
You arrived at the final playback. The goal of this playback is to demonstrate what happens when
your process encounters an error, and to demonstrate how that error is handled. Demonstrating
error handling might take some test harnesses to generate the errors internally.
Because your processes and the sheer number of artifacts that are created might be large,
demonstrating all of the error handling can be overwhelming. Consider demonstrating the different
error handling patterns that are used in your process application so stakeholders have a good idea
of the general way errors are handled when they occur. It conveys the general principles that are
used for error handling without having to demonstrate every instance of error handling in your
process app.
Topics
Handling errors in BPDs
Handling errors in services
Notes:
Uempty
Notes:
Notes:
When modeling error handling as part of your business process definitions (BPDs), developers
discover errors with error intermediate events or event subprocesses, and they can cause errors
with error end events.
Uempty
Notes:
Catching errors with error intermediate events
For BPDs, you can attach an error intermediate event to an activity and connect that event to an
error handling flow or activity.
To determine whether to use error immediate events, consider the following points:
- If an error occurs while a process is running an activity with an attached error event at the
boundary, the process flows along the sequence line that is attached to the error event.
Errors are handled in the flow and then proceed with the normal processing.
- Error intermediate events must be attached to an activity.
- You can have multiple error events for an activity, but only one catches the error.
- Consider specifying the error data to catch specific errors, filtering on the error code for the
types of errors that are caught, and mapping to a variable after the errors are caught. When
all errors are caught, or if only an error code is specified, the error data is captured in an
XMLElement in the tw.system.step.error variable.
Catching errors with error event subprocesses
An event subprocess is a specialized type of subprocess that is not part of the normal sequence
flow of its parent process. An error event subprocess is an event subprocess that contains an
error start event. The event subprocess does not connect with sequence flow and runs only if
the start event in the event subprocess is triggered. You can use error event subprocesses to
handle errors in your BPD.
To determine whether to use error event subprocesses, consider the following points:
- Define a readable process by locating the error event in the event subprocess instead of
defining it in the process.
- To reuse the error-handling flow for multiple tasks in your process, use event subprocesses.
To reuse an error-handling flow with attached events, you must attach an intermediate event
for each of the tasks and then connect those events to the error-handling flow.
- Define data objects that you can access only from within the event subprocess. You can
define only those data objects that belong to a subprocess. The parent process is not
cluttered with unnecessary variables.
Throwing errors
You can use an error end event in your BPD to specify an error code and map to an error type
on errors that are thrown from the flow of a BPD or a service.
When working with either error events or event subprocesses, think about whether errors can
be handled immediately, and normal processing can continue, or if another error can be thrown
at another level. Then, implement error handling from the bottom up. In other cases, it might be
more efficient and readable if a subprocess can be reused. Build each linked process and
service so that errors can be captured and corrected. If a correction is not possible at the lowest
level of the implementation, you can allow the error to move up a level. Do not include an error
event to rethrow the error to the calling service or process, as shown in the following section.
Uempty
Catching errors
Errors are caught in
the following order
in your runtime
environment:
1. The boundary
events catch errors
that the attached
activity raises
2. Errors are caught in
the error event
subprocesses if the
subprocess is in a
BPD or in an
unattached
intermediate error
event in a service
3. Errors are
propagated to the
next level
Notes:
Use error events to specify how errors are thrown and caught in your runtime environment.
You can assign error codes and error data to errors that the error end event throws.
Errors are caught in the following order in your runtime environment:
The boundary events catch errors that the attached activity raises.
Errors are caught in the error event subprocesses if the subprocess is in a BPD or in an
unattached intermediate error event in a service.
Errors are propagated to the next level.
Specifying the variable name in the mapping controls filtering by error data type. If there is a
mismatch between the type of variable and the error data type displayed on the Properties tab, the
variable and its type determine the behavior.
Notes:
Processes that you develop in IBM Business Process Manager include integrations with external
systems, server scripts, and other complex implementations. Anticipate potential system
exceptions and create the components that are required to handle those exceptions when they
occur. For example, if a BPD includes an integration with a database system, that database might
not be available when each new instance of the BPD runs. So, when you develop the integration in
IBM Business Process Manager, you must build in exception handling to detect errors and recover
in a predictable manner.
You can build error handling capabilities into both BPDs and services with the available exception
components.
Exception handling is a topic that is explored with system administrators, developers, and other
interested stakeholders to plan what actions are taken when dealing with errors.
Uempty
Notes:
For services, you can use error intermediate events to catch errors, and you can use error end
events to throw errors.
To determine whether to use error events in your services, consider the following points:
You must attach error intermediate events to steps in your service.
Include error intermediate events in the service flow so that they can act as global error
handlers in the service.
Determine whether errors can be handled immediately, and normal processing can continue, or
if another error can be thrown at another level. Then, implement error handling from the bottom
up.
Use an error end event to throw a specific error. You can specify an error code and error data for
the error.
Consider specifying the error data to catch specific errors. For example, you might filter on the
error code for the types of errors that are caught and map the error code to a variable after the
errors are caught. When all errors are caught, or if only an error code is specified, the error data
is captured in an XMLElement in the tw.system.error variable.
When building services that include integrations with external systems or other implementations,
use error intermediate events when it is possible to handle errors in the steps in the service. Be
sure to include the appropriate logic and an error end event in your service to throw errors when
they still exist after attempts to handle them. Throwing the errors ensures that the errors are passed
to parent processes and services and can be handled at a higher level.
Uempty
Demonstrate error
handling in BPDs
Demonstrate error
handling in services
Notes:
Demonstrate error handling in BPDs:
- Attach an error intermediate event to the boundary of an activity.
- View the options to include an error code and message.
- Create an event subprocess.
- Change the start event to an error event and view the error properties.
- Create an error end event to throw the error to a higher level.
Demonstrate error handling in services:
- Create an attached error intermediate event.
- Create an error intermediate event that is not attached to a step to act as a global error
handler, and demonstrate that only outgoing flow is allowed.
- Create an error end event to throw the error to a higher level.
Playback 5
You arrived at the final
playback
The goal of this playback is to
demonstrate what happens
when your process encounters
an error, and to demonstrate
how that error is handled
Consider demonstrating the
different error handling patterns
that are used in your process
application
5
Conveys the general principles
that are used for error handling
without having to demonstrate
every instance of error handling
in your process application
Copyright IBM Corporation 2014
Notes:
You arrived at the final playback. The goal of this playback is to demonstrate what happens when
your process encounters an error, and to demonstrate how that error is handled. Demonstrating
error handling might take some test harnesses to generate the errors internally.
Because your processes and the sheer number of artifacts that are created might be large,
demonstrating all of the error handling can be overwhelming. Consider demonstrating the different
error handling patterns that are used in your process application so stakeholders have a good idea
of the general way errors are handled when they occur. It conveys the general principles that are
used for error handling without having to demonstrate every instance of error handling in your
process app.
Consider adopting some of the practices from a community-developed toolkit that is called the
General Exception Handling Toolkit (GEX) on the IBM Business Process Manager wiki. This
toolkit can be a starting point toward your own organizational error handling framework.
To ensure that you are ready for playback 5:
Log on to the portal
- Log on to the portal. The URL is: http://<server URL:port>/portal
Exercise 11
Notes:
Complete exercise 11 in the exercise guide.
Uempty
Exercise objectives
After completing this exercise, you should be able to:
Harden a service with a catch exception component
Notes:
Unit summary
Having completed this unit, you should be able to:
Catch an error in a BPD and a service
Notes:
Uempty
Checkpoint questions
1. When an error occurs in an activity on a BPD, which takes the
highest precedence in catching the error?
A. An event subprocess in the same BPD as the activity.
B. A flow that is exiting the activity and going to an error end event.
C. An attached error intermediate event.
2. What are the types of error events that can be modeled in services?
Notes:
Write your answers here:
1.
2.
Checkpoint answers
1. C. Boundary events take first precedence.
2. Error intermediate event and error end event.
The error intermediate event can be attached to a step or can be
placed on the palette to catch errors globally inside the service.
Notes:
Uempty
Unit 12. Course summary
Unit objectives
After completing this unit, you should be able to:
Explain how the course met its learning objectives
Access the IBM Training website
Identify other IBM Training courses that are related to this topic
Locate appropriate resources for further study
Notes:
Uempty
Notes:
Notes:
Uempty
Notes:
Notes:
Uempty
Notes:
Unit summary
Having completed this unit, you should be able to:
Explain how the course met its learning objectives
Access the IBM Training website
Identify other IBM Training courses that are related to this topic
Locate appropriate resources for further study
Notes:
AP
Appendix B. List of abbreviations
A
Ajax Asynchronous JavaScript and XML
AMD Asynchronous Module Definition
APAR authorized program analysis report
API application programming interface
B
B2B business-to-business
BAL Business Action Language
BPD business process definition
BPD business process diagram (used primarily in Blueworks Live)
BPEL Business Process Execution Language
BPM business process management
BPMN Business Process Model and Notation
BPMS business process management system
BWL Blueworks Live
C
CICS Customer Information Control System
CRM customer relationship management
CS coach service
CSS cascading style sheets
D
DB database
DB2 Database 2
E
ECM Enterprise Content Management
EJB Enterprise JavaBeans
ENV environment variable
EPV exposed process variable
ERP enterprise resource planning
ES enabling service
ESB enterprise service bus
G
GB gigabyte
GEX General Exception Handling Toolkit
GUI graphical user interface
H
HR human resources
HS human service
HTML Hypertext Markup Language
HTTP Hypertext Transfer Protocol
HTTPS Hypertext Transfer Protocol Secure
I
IBM BPM IBM Business Process Manager
I/O input/output
IP Internet Protocol
IT information technology
J
J2C J2EE Connector architecture
J2EE Java 2 Platform, Enterprise Edition
JAR Java archive
JDBC Java Database Connectivity
JMS Java Message Service
JNDI Java Naming and Directory Interface
JSON JavaScript Object Notation
JVM Java virtual machine
K
KPI key performance indicator
L
LAN local area network
N
NVP name-value pair
O
ODM Operational Decision Manager
OMG Object Management Group
OS operating system
P
PC Process Center
PDF Portable Document Format
PDW Performance Data Warehouse
POJO plain old Java object
PS Process Server
R
RACI responsible, accountable, consulted, informed
RAD rapid application development
REST Representational State Transfer
RUP Rational Unified Process
S
SaaS software as a service
SDK software development kit
SIPOC suppliers, inputs, process, outputs, customers
SLA service level agreement
SME subject matter expert
SMTP Simple Mail Transfer Protocol
SOA service-oriented architecture
SOAP A lightweight, XML-based protocol for exchanging information in a decentralized,
distributed environment. Usage note: SOAP is not an acronym; it is a word
(formerly an acronym for Simple Object Access Protocol)
SQL Structured Query Language
SSL Secure Sockets Layer
T
TS task service
U
UCA undercover agent
UI user interface
UML Unified Modeling Language
URI Uniform Resource Identifier
URL Uniform Resource Locator
V
VM virtual machine
W
W3C World Wide Web Consortium
WECBT WebSphere Education Coach Bonus Toolkit
WS web services
WSDL Web Services Description Language
WYSIWYG what you see is what you get
X
XML Extensible Markup Language
XPath XML Path Language
XSD XML Schema Definition
XSL Extensible Stylesheet Language
XSLT Extensible Stylesheet Language Transformation
Training
IBM Training website
- Bookmark the IBM Training website for easy access to the full listing of IBM
training curricula. The website also features training paths to help you select
your next course and available certifications.
- For more information, see: http://www.ibm.com/training
IBM Training News
- Review or subscribe to updates from IBM and its training partners.
- For more information, see: http://bit.ly/IBMTrainEN
IBM Certification
- You can demonstrate to your employer or clients your new WebSphere,
CICS, or SOA mastery through achieving IBM Professional Certification.
WebSphere certifications are available for developers, administrators, and
business analysts.
- For more information, see: http://www.ibm.com/certify
Training paths
- Find your next course easily with IBM training paths. Training paths provide a
visual flow-chart style representation of training for many WebSphere
products and roles, including developers and administrators.
- For more information, see: http://www.ibm.com/services/learning/
ites.wss/us/en?pageType=page&c=a0003096
Twitter
- Receive short and concise updates from WebSphere Education a few times
each week.
- Follow WebSphere Education at: twitter.com/websphere_edu
Facebook:
- Become a fan of IBM Training on Facebook to keep in sync with the latest
news and career trends, and to post questions or comments.
- Find IBM Training at: facebook.com/ibmtraining
YouTube:
- Visit the IBM Training YouTube channel to learn about IBM training programs
and courses.
- Find IBM Training at: youtube.com/IBMTraining
Support
WebSphere Support portal
- The WebSphere Support website provides access to a portfolio of support
tools. From the WebSphere Support website, you can access several
downloads, including troubleshooting utilities, product updates, drivers, and
Authorized Program Analysis Reports (APARs). To collaboratively solve
issues, the support website is a clearing house of links to online WebSphere
communities and forums. The IBM support website is now customizable so
you can add and delete portlets to the information most important to the
WebSphere products you work with.
- For more information, see:
http://www.ibm.com/software/websphere/support
IBM Support Assistant
- The IBM Support Assistant is a local serviceability workbench that makes it
easier and faster for you to resolve software product issues. It includes a
desktop search component that searches multiple IBM and non-IBM
locations concurrently and returns the results in a single window, all within
IBM Support Assistant.
- IBM Support Assistant includes a built-in capability to submit service
requests; it automatically collects key problem information and transmits it
directly to your IBM support representative.
- For more information, see: http://www.ibm.com/software/support/isa
WebSphere Services
IBM Software Services for WebSphere are a team of highly skilled consultants
with broad architectural knowledge, deep technical skills, expertise on suggested
practices, and close ties with IBM research and development labs. The
WebSphere Services team offers skills transfer, implementation, migration,
architecture, and design services, plus customized workshops. Through a
worldwide network of services specialists, IBM Software Service for WebSphere
makes it easy for you to design, build, test, and deploy solutions, helping you to
become an on-demand business.
For more information, see:
http://www.ibm.com/developerworks/websphere/services/
backpg
Back page