 | Level: Introductory Dr. Johny Mathew (jmathew@us.ibm.com), Senior Software Engineer, IBM Billy Rowe (browe@us.ibm.com), Senior Software Developer, IBM
16 Apr 2008 Updated 24 Apr 2008 This article introduces you to IBM® WebSphere® business
process management by describing how to use the Clips and Tacks tutorial to build and
deploy a business process and configure a business dashboard to monitor that
process.
Introduction
This article describes the
"Clips and Tacks:
Getting started with the IBM business process management (BPM) suite of
products" tutorial,
which walks you through the process of building and deploying a business process,
and configuring a business dashboard to monitor it. You can complete the full
tutorial sample yourself, or use the provided solutions to work only in those areas or with
those products of interest to you. Either way, you'll end up a complete BPM sample
that uses the latest V6.1 features, such as Lotus® Forms, and is monitored
using WebSphere Business Monitor dashboards.
The IBM BPM products and components used in the tutorial are:
-
WebSphere Business Modeler Advanced V6.1: WebSphere Business Modeler
(hereafter called Modeler) provides you with powerful business process modeling,
simulation, analysis, and reporting features to help you optimize the
performance of your business processes. In the tutorial, you'll learn how to model
a business process, create a business rule, and create human tasks that use
Lotus forms. The Lotus forms will provide the user interface in the business
client. You'll see how the business items, also known as business objects, are
created automatically from the form. In Modeler, you'll also specify you want to
the business process to be monitored.
-
WebSphere Integration Developer and WebSphere Process Server V6.1.
Integration developers use WebSphere Integration Developer (Integration
Developer) to assemble business solutions using business processes,
Java™ components, business rules components, state machine components
and human tasks. The visual tools in Integration Developer require minimal
skills and knowledge of the underlying implementations. Testing, debugging and
deployment tools are also included in the product. In the tutorial, you'll import
the model created in Modeler and complete the integration development. You'll
deploy the completed project into the Integration Developer and WebSphere
Process Server unit test environment.
-
WebSphere Process Server V6.1: WebSphere Process Server (Process Server)
delivers an integration platform with a fully converged, standards-based business process engine, using the power
of WebSphere Application Server. In the tutorial, you'll access the server from
the embedded test environment in Integration Developer.
-
WebSphere Business Monitor Development Toolkit V6.1: With the toolkit you can add an
implementation of the monitoring specification provided from Modeler. This
implementation is called a monitor model. Much of the monitor model is
generated for you from the process. You'll implement the rest using a wizard,
then convert the monitor model to J2EE run-time artifacts using point-and-click
functions. You'll then deploy the J2EE artifacts to WebSphere Business Monitor
to monitor business processes.
-
WebSphere Business Monitor V6.1: WebSphere Business Monitor (Monitor)
monitors business activity. It enables you to measure business performance,
monitor currently running and completed processes, and report on business
operations. It provides information to identify business problems, correct
exceptions, and change processes to increase business competitiveness by
improving process efficiencies. The data collected by Monitor can be imported
into the Modeler to improve the simulation results. This feedback loop enables
continuous process improvement based on real data. In the tutorial, you'll deploy
the monitor model and create a dashboard to monitor the performance of the
business process in real time. The Monitor run-time is accessed from the
embedded test servers in Integration Developer
-
Lotus Forms Designer: The Forms Designer is shipped with Modeler for
integration of Lotus forms with BPM solutions. In the tutorial, you'll import a
Lotus form into Modeler for use with human activities in the process.
-
Lotus Forms Viewer and Lotus Forms Server: The Forms Viewer and
Forms Server are shipped with Modeler and Integration
Developer for integration of Lotus forms with BPM solutions.
Figure 1 illustrates a set of related products that are grouped by stages
defining IBM's approach to BPM.
Figure 1. IBM's BPM product suite
WebSphere Enterprise Service Bus and WebSphere Service Registry and Repository
are not part of the tutorial, but are shown above for completeness.
Overview of the sample business
process in the tutorial
Clips and Tacks is a fictional office supply company. In our sample business
scenario, Clips and Tacks processes orders for office supplies and ships them to
customers. Processing orders follows these steps:
- The business process starts when an office supplies order form is submitted.
- A business rule evaluates the data from the order form to determine whether
the order can be automatically approved or whether it needs human approval. If
the total purchase price is $750.00 or less, then the order is automatically
approved, otherwise it is sent to a person for review.
- For orders that are automatically approved, the customer account is checked
to determine whether it is in good standing. If so, the order is sent for
shipment; otherwise, the order is sent to a person for review.
- If the order is approved by the person, then it is sent for shipment;
otherwise, the order is cancelled and a notification is sent to the customer.
- The orders that are ready for shipment are given a packaging slip number and
are sent to the customer.
Model the process
You'll use Modeler to model the Clips and Tacks order handling process. You'll
learn how to
- Create business items manually and by importing a Lotus form into the
modeling project. A business item is similar to a data structure that holds the
data exchange between different tasks. A Lotus form is an XML-based electronic
form where the business client users can enter or view data as if they are
working on a paper form.
- Create human tasks and attach Lotus forms to them. A human task represents
human activity in the business process. The Lotus form is presented to the
person during the business process so that the person can enter or consume data
from the form.
- Implement a business rule. You'll create a business rule template that
includes a rule condition, a rule action and a rule parameter. You can use the
rule template when using Integration Developer to easily build rules.
- Create and wire various tasks. You'll create simple tasks, simple decisions,
merge elements, human tasks, and business rules tasks and wire them together to
form a business process.
- Implement decision branch conditions. A decision branch has one input and two
outputs. It may be thought of as an if-then-else construct. The decision element
evaluates the condition from the input business item and, based on the
evaluation result, it branches to either the Yes or No branch.
- Specify what should be monitored in the business process by selecting
monitored values for business measures. The monitor model you'll build will keep
track of the monitored values selected in Modeler.
- Specify key performance indicators (KPI) that are important to Clips and
Tacks.
- Export the model. Once you finish modeling, you'll export the model to
continue the development in Integration Developer.
Figure 2 shows the process diagram you'll build in the tutorial.
Figure 2. Process diagram
Develop
the artifacts
You'll use Integration Developer to create deployable artifacts from the imported
model you create in Modeler. You'll do the following to complete integration
development of the process:
- Create rules. You'll create one action rule and another rule from the
template you create in Business Modeler.
- Create an inline invocation human task. Inline means that the human
task is part of the business process component, not a standalone component.
Invocation task means that it can start the business process. The other
types of human tasks are to-do and collaboration. To-do
tasks are invoked from business processes and collaboration tasks
represent collaboration between humans.
- Create simple Java implementations for the remaining components.
- Automatically generate the user interface for the business process. You'll
generate a Lotus Forms business client so that the Lotus form is displayed to
process participants.
Figure 3 shows the assembly diagram for the sample. In this diagram,
OrderHandlingFuture1 is the business process component,
CheckOrderhandlingPolicyforAutomaticApproval is the business rules component, and
CheckCustomerAccountStatus and the other two components are Java components.
Figure 3. Assembly diagram
Create the monitor model
A monitor model describes metrics, aggregate measures, and KPIs, their
dependencies on incoming events, conditions warranting business actions (business
situations), outbound events that report such conditions and might trigger
business actions, and business analytics. In Modeler, you specify what is to be
monitored and model the KPIs. You'll use the monitor model editor (part of the Monitor
Development Toolkit) to complete the definition of the monitor model by
doing the following:
- Turn on events in the business process. The monitor model keeps track of the
performance of the business process by processing real-time events generated by
the execution of the business process.
- Generate a monitor model from the implemented business process and select
which measurement templates to use with the process. A measurement template is a
provided implementation of classic process measures such as process duration..
- Merge the monitor model from the implemented business process with the
monitor model generated in Modeler. Think of this as merging a high-level
specification of monitoring with the low-level implementation of monitoring.
The monitor model contains a monitor details model, KPI model, dimensional model,
visual model, and event model.
- Monitor details model: The monitor details model contains the monitoring
context definitions, which are containers for inbound event definitions (or
event subscriptions), outbound event definitions (that is, events to be sent),
and definitions for metrics, stopwatches, counters, and triggers. A monitor
context represents the "thing" you are monitoring, in this
case, the processing of the order. In the tutorial, you'll use a single monitoring
context called OrderHandling (Future1).
- KPI model: The KPI model defines KPI contexts, which group KPIs with their
associated triggers and events. To send outbound events based on the value of
the KPI relative to its target or ranges, create triggers and outbound events in
the KPI context. In the tutorial, you'll use Template KPI Context as the KPI
context. One of the KPIs you'll monitor is Average Process Duration, and an
outbound event will be generated when the average process duration exceeds 3
days.
- Dimensional model: The dimensional model is used for business analytics. When
you define a monitoring context, an associated data cube definition is created
automatically. On the Dimensional Model page, you can add measures, dimensions,
and dimension levels to the data cube. In the tutorial, you'll add Location and
Order Status as dimensions.
- Visual model: You can associate a Scalable Vector Graphics (SVG) diagram with
any monitoring context or KPI context. You can then annotate these diagrams in
the Monitor Model editor so that they 're dynamically updated at run-time on the
Monitor dashboards. Each diagram is associated with a set of shapes and a set of
actions describing how and when the diagram will be modified based on the values
of metrics (in a monitoring context) or KPIs (in a KPI context). The actions
include color changes and text displays based on the values, as well as
hyperlinks from specific areas of the diagram so that users can navigate to
other diagrams. In the tutorial, you'll add two visual models -- one for the
business process and another one for the KPIs.
- Event model: The event model is the part of the monitor model that contains
references to all of the elements of the event definitions used in the monitor
model. The event model references each event definition that you use as an
inbound or outbound event type in the monitor details model or KPI model. It
also includes references to any schemas that are used to describe the structure
of individual event parts. One of the event definitions you'll create is
ShippedPercentage.cbe.
Deploy the
projects and run the
business client
Once you've created a business process, a business client (generated by the UI), and a monitor model, the next step is to deploy and execute
the generated projects into the Integration Developer unit test environment. The
process is executed by filling in an order form for business supplies. The form is
accessed from the generated Web-based UI (the business client). Figure
4 shows the generated user interface.
Figure 4. Generated user interface
The business user client contains the human interfaces for all the human tasks in
the business process. You can click the New tab to start a new instance of
the business process by filling in the order. You can use the Status tab to
see the status of any running processes. The Open and Claimed tabs
represent the To-Do list for the users. You can see all the tasks waiting for
human input (or action) by cicking the Open tab. To work on one of the
waiting tasks, just select it and "claim" it. All the
claimed tasks are listed on the Claimed tab.
In the tutorial, you create an Lotus Forms client. When you click the New
tab, you'll see the Lotus form shown in Figure 5.
Figure 5. Lotus form
Enter the data in the form and start the business process by submitting the
form. After the automated tasks are executed in the process, the human tasks are
queued for the user to work on (the To-Do list). Access the To-Do list by
clicking on Open.
Configure
the business
dashboard
A business dashboard is a Web page that contains business performance
information, alerts, user actions, process data, and business analytics. You can
personalize the dashboard by dragging views from a palette and dropping them onto
the dashboard. You can add the following views to the dashboard as many times as
you like. Each view can be configured to show different information.
- KPIs: KPIs are quantifiable measurements of the improvement or deterioration
in the performance of an activity critical to the success of a business. These
measurements break down key areas of your business so that you can see how they
contribute to business results. In the tutorial, you'll monitor many KPIs,
including Average Process Duration.
- Instances: You can use Instances to view the instances of a selected
monitoring context and its metrics. In the tutorial, you'll view all the instances
of the OrderHandling (Future1) process.
- Diagrams: The visual model is the part of the monitor model that contains
visualizations. Each visualization contains an SVG diagram that is displayed in
the Monitor dashboards. In the tutorial, you'll add two diagrams, one for the
process and another for KPIs.
- Alerts: When a business situation is detected, an alert may be sent to the
Alert view of one or more specified users. In the tutorial, you'll receive two
alerts: "Percentage of Shipped Order < 85%" and "Average Process Duration
> 3 days".
- Reports: Use Reports on your dashboard to display performance reports
relative to a time axis. Reports help you to analyze historical values of
numeric business measures that belong to a cube, which is a multidimensional
representation of data needed for online analytical processing.
- Dimensions: Using dimensions, you can display multidimensional business
performance data in the form of charts and tables that you can drill down to see
performance details.
- Human Tasks: Human Tasks displays human task instances. By adding human tasks
to the dashboard, you can monitor all the human activities in the sample.
When you're in the Dashboard window, you can get an overview of all the above views
with sample displays by clicking the Getting Started tab and browsing.
You'll also see a Utilities tab, from which you can add KPIs on the fly. You
can also export the monitored values and import them into Modeler to complete the
feedback loop. The following figure shows part of the dashboard you'll create.
Figure 6. Sample dashboard
Use the dashboard
Business performance management dashboards are used to view the financial and
operational data of a business. The dashboards operate in a near real-time
environment to monitor business situations, allowing users to manage the situation
with appropriate actions. The dashboards show the performance of the business, not
IT events. In the tutorial, you'll monitor KPIs such as Average Process Duration and
Percentage of Orders Shipped. You'll be alerted when the Average Process Duration
exceeds 3 days and when the Percentage of Orders Shipped falls below 85%. Using
the dashboard gives business users a real-time view of the health and performance
of a business. They can monitor any measures or KPIs, such as the sale of certain
items or the total sales for the month. You can export monitored values and import
them back into Modeler to improve simulation with real data, thus continuously
improving your business process.
Summary
This article introduced you to the
Clips and
Tacks tutorial, which teaches you how to use IBM BPM products to model a business process
that uses Lotus forms, specify the business measures for that process, assemble
the deployable business process, generate the business client, and build the
monitor model. Most of this is done using point-and-click, drag-and-drop, or
automated generation. The tutorial also shows you how to deploy the artifacts, how to run the business
client to execute the business process, how to launch the Lotus form, and how to
create and use a business dashboard.
Using IBM BPM products, you can easily orchestrate, manage, and monitor your
business processes, human activities, and business activities. You can view
performance from a business dashboard or have the environment notify you of
business situations via alerts to your dashboard, PDA, email, or phone.
For step-by-step instructions on how to build the sample, refer to the
Clips and Tacks
tutorial.
The tutorial includes complete solutions for each section of this article, such as
the process model, the monitor model, and so on.
Note: You can also access the Clips and Tacks tutorial and other online samples
from WebSphere Integration Developer by doing the following:
- Select Help => Samples / Tutorials (WebSphere Integration
Developer).
- Select Retrieve next to
Online Samples to get a list of available samples.
Resources Learn
Get products and technologies
About the authors  | 
|  |
Johny Mathew is an architect with the IBM Business Process Management
(BPM) suite of products. Prior to this, he worked on Tivoli® products as an
architect and designer, and Communication Server products as Chief Programmer and
developer. Johny received his doctorate in Electrical Engineering (Computer
Networks) from City University of New York. You can reach Johny at
jmathew@us.ibm.com. |
 | 
|  |
Billy Rowe is a senior architect and manager focused on BPM strategy and partner integration within the IBM BPM suite of products. Billy has held various positions within IBM as a developer, architect, and consultant. You can reach Billy at browe@us.ibm.com. |
Rate this page
|  |