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.
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.
- IBM WebSphere Business Process Management Version 6.1 Information Center: Get complete product documentation on BPM products.
- WebSphere business process management zone: Get the latest technical resources for WebSphere BPM solutions, including articles, tutorials, events, downloads, and more.
- Business Process Management enabled by SOA: Get complete product information on IBM BPM software, including features and benefits, downloads, and more.
- Jump-start Business Activity Monitoring (BAM) (developerWorks): This developerWorks series describes the features of WebSphere Business Monitor V6.0.2, and how you can use them to monitor your business activities.
Get products and technologies
- "Clips and Tacks: Getting started with the IBM BPM suite of products" tutorial: Take the BPM tutorial and get the sample described in this article.
Dig deeper into Business process management on developerWorks
Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.
Experiment with new directions in software development.
Software development in the cloud. Register today to create a project.
Evaluate IBM software and solutions, and transform challenges into opportunities.