Skip to main content

Business Process Management with SOA, Part 1: Gathering monitoring metrics to analyze your business process

Christina Lau (clau@ca.ibm.com), Senior Technical Staff Member, IBM
Christina Lau is a Senior Technical Staff Member at IBM. Christina leads the BPM Architecture and Advanced Technology Team in WebSphere, focusing on next-generation BPM technologies and consumability improvements in the BPM solution stack. You can reach Christina at clau@ca.ibm.com.
Scott Peddle (peddle@ca.ibm.com), Advisory Software Developer, IBM Japan
Scott Peddle photo
Scott Peddle is an Advisory Software Developer on the Business Process Management Architecture and Advanced Technology team. He is responsible for developing integration strategies within the WebSphere BPM product suite. You can reach Scott at peddle@ca.ibm.com.
Shili Yang (shiliy@ca.ibm.com), Advisory Software Developer, IBM Japan
Shili Yang photo
Shili Yang is an Advisory Software Developer at the IBM Toronto Lab. Shili has been a member of the BPM Architecture and Advanced Technology team for the past year, focusing on the end-to-end integration aspect of the WebSphere BPM product portfolio. You can reach Shili at shiliy@ca.ibm.com.

Summary:  In this technical series, you'll learn how WebSphere® V6.1 products can help you get the full benefits of a BPM solution enabled by SOA. Part 1 shows you how to use WebSphere Business Monitor and WebSphere Business Modeler to analyze monitored data to help identify processes that need improvement.

View more content in this series

Date:  12 Dec 2007
Level:  Intermediate
Activity:  397 views

Introduction

Over the last few years, IBM products have made great progress in enabling customers to create a Business Process Management (BPM) solution. However, creating a new solution powered by WebSphere BPM is only the beginning. In this new technical series, we'll look at techniques you can use to further optimize your WebSphere solution to allow you to derive the full benefits of a BPM solution enabled by SOA.

Previous developerWorks articles provide an overview of the various entry points customers can use to begin their BPM projects. The various WebSphere V6.1 product releases added many additional capabilities and tighter integration between the products. So how can you further optimize your solution to use these new features? In this new series based on V6.1, we'll show you several new tips and techniques to address the following questions:

  1. How do you analyze the monitoring data that you have gathered for process improvements?
  2. How can you further improve your processes using some of the V6.1 capabilities, such as Lotus® Forms support?
  3. How can you model processes that are deployed on both WebSphere Process Server (Process Server) and FileNet?
  4. What are some techniques to invoke activities running on both Process Server and FileNet?
  5. How can you customize and configure WebSphere Business Monitor (Monitor) to monitor the entire workflow with subprocesses running on both the Process Server and FileNet engines?

This part will focus on the first question: How can you analyze the monitoring data that you have gathered to make process improvements? As in previous series, we'll anchor the discussions in this technical series around a single, simple but fictitious business scenario that you can easily adapt to your business problems.


The business scenario

Figure 1 shows the simple business scenario. A simple insurance claim process is first modeled in WebSphere Business Modeler (Modeler). The process has two paths: when a client submits a claim request, based on the claim amount, it can either go to the Express Claim path or the High Touch Claim path. The Express Claim path is a modern self-service solution for processing claim requests. The High Touch Claim path is an older process that is necessary for larger claim amounts in order to comply with government policies. The claim department wants to improve the overall claim process. However, due to budget constraints, the claim department can automate only one part of the solution in this quarter. Although at first glance the High Touch Claim path seems to be the one that takes the longest time, in reality, it might not be the right path to optimize to get the best return on investment. One of the simplest ways to determine which task to improve is to conduct real testing so that you can gain business insights based on real data. With WebSphere BPM V6.1 products, you can create and deploy such a test environment in no time. The rest of this article will show you how.


Figure 1. Simple claim process
simple claim process

Simulate a process

You can use Modeler to simulate the running of the process. Simulation allows you to assess the performance of the process, generate statistics, and pinpoint potential areas for improvement. For example, you can enter the processing time estimate for a particular task by selecting the Duration tab in the Attributes view. On the Duration tab, you can enter an estimated time for the task to finish, as shown in Figure 2 for the ExpressClaim task.


Figure 2. Enter processing time estimated value
Enter processing time estimated value

In order for the processing time label and value to show up in the process diagram, select the Visual Attributes page, and enable Processing time for the process element such as a Local task, as shown in Figure 3. You can now run a simulation to generate a report for the cost and revenue based on the estimation you entered.


Figure 3. Enable processing time label and values to be displayed
Enable processing time label and values to be displayed

Monitor the process

Simulation allows you to estimate your cost based on the projected values. To get a really accurate picture, you can use WebSphere Business Monitor to monitor the BPEL process and get the actual duration for each task. To indicate which process element you want to monitor and what kind of measures you want to collect, switch to the Monitored Values tab, as shown in Figure 4. For this example, we'll select the check boxes to monitor the processing time for three tasks: AccessClaim, ExpressClaim and HighTouchClaim.


Figure 4. Monitor processing time for various tasks
Monitor processing time for various tasks

Customize the Monitor model

Next, you can export the process model and the Monitor model from Modeler so that you can complete their implementations in WebSphere Integration Developer (Integration Developer). Since this has been discussed in previous articles (see Resources), we won't get into the details here. The basic steps are the same as in V6.0.2 of the products. Figure 5 shows the exported BPEL running in Integration Developer V6.1 with event monitoring turned on for the process and various activities.


Figure 5. Simple claim process exported as BPEL
Simple claim process exported as BPEL

The Monitor model that has been customized for this example is provided as a download with this article. A new usability enhancement has been added in V6.1 to make it easier to work with the tracking key. To return a run-time value collected from Monitor to the associated process element in Modeler, a tracking key that plays the role of a cookie is required to make the correlation. In V6.0.2, this tracking key is generated when you export the Monitor model from Modeler. However, it is not an easy to use key and can be difficult to maintain.

In V6.1, you can define your own tracking key in the Monitor model editor by following a simple naming convention. Figure 6 shows an example of defining the tracking key for the processingTime measure in the AccessClaim task. You must include the project name (Insurance), process name (Processes/SimpleClaimProcess), and task name (AccessClaim) to properly scope the tracking key processingTime attribute.


Figure 6. Customize the tracking key
Customize the tracking key

Deployment is much improved in Monitor V6.1. You can simply generate the EAR from your Monitor model, add that to the Monitor server, and start monitoring events from your BPEL process.


Customize business dashboards

Monitor V6.1 includes major improvements to business dashboards using Web 2.0 AJAX technologies to provide a richer user experience with more dynamicity. Business users can personalize and customize their dashboards by simply dragging and dropping to create new key performance indicators (KPIs) without requiring a new development and deployment cycle. Figure 7 shows an example of the Monitor dashboard for our simple claim process showing the KPIs, Instances, Diagrams and Reports views. The Reports view shows the total number of daily claims in each of the four regions over a time period.


Figure 7. Monitor dashboard for simple claim process
Monitor dashboard for simple claim process

The Monitor dashboard supports cooperative connection between Instances and Diagrams views so that the SVG diagrams can be dynamically annotated with monitoring data specific to a monitor instance at run-time. To enable the cooperative mode of the Instances view, click Personalize, then go to the Cooperative tab and check Cooperative mode. Repeat this for the Diagrams view. This enables the SVG diagrams to be annotated with metrics data that corresponds to the particular instance. The annotations are defined in the visual part of the Monitor model.


Export monitoring metrics

After the claim process executes for some time, you can export the actual values captured by Monitor to an XML file. Go to the Export view on the Monitor dashboard, select the Claim Monitor model, and click Export as shown in Figure 8.


Figure 8. Export Values view
Export Values view

An XML file is created, as shown below. If you examine the content of the XML file, you'll find entries for each of the three monitored values selected in Figure 4. The trackingKey element corresponds to the tracking key that we customized in Figure 6 for each of the measures.

<measure>

  <trackingKey>Insurance/Processes/SimpleClaimProcess/AccessClaim/processingTime
    </trackingKey>
   
  <valueType>double</valueType>
   
  <value>30000000</value>
   
</measure>


Import measures into Modeler

The last step is to import the monitoring results back into Modeler. To do this, open the Import wizard and select Monitoring result, as shown in Figure 9. Select the XML file that you exported from Monitor and follow the prompts to complete the import.


Figure 9. Import monitor metrics into Modeler
Import monitor metrics into Modeler

Compare metrics to the simulation

As shown in Figure 10, the process diagram is now updated with the actual metrics. If you compare Figure 10 to the picture in Figure 1, you can see that over the period of time when the measures were gathered, the ExpressClaim task is taking up more time than the HighTouchClaim task. Therefore, to achieve a better return on investment, the claim department should first work on improving the ExpressClaim task.


Figure 10. Revised process estimates based on real metrics
Revised process estimates based on real metrics

Summary

This article showed you how to use real monitoring data to help identify areas where you can further improve your process. In the next article in this series, you'll learn about some of the new WebSphere V6.1 BPM capabilities you can use to extend your process model, such as the new business rule and the Lotus Forms support in Modeler. You'll also find out how you can use Modeler to create processes that can be deployed to FileNet for automating different parts of your overall business processes.


Download instructions

The download provided with this article contains the artifacts necessary to follow the sample we used in the article. To view the artifacts, do the following:

  1. Import modeler_before\insurance.mar into Modeler to see the original insurance claim process model (shown in Figure 1).
  2. Import bpel_mon_pi.zip into Integration Developer with the Monitor toolkit to see the BPEL process implementation and the Monitor model (shown in Figure 5).
  3. Look at modeler_after\exportvalues.xml to see the monitoring results exported from the Monitor dashboard (shown in Figure 8).
  4. Import modeler_after\insurance.mar into Modeler to see the insurance claim model with actual metrics data (shown in Figure 10).


Download

DescriptionNameSizeDownload method
Artifacts for the sampledownload.zip760KBHTTP

Information about download methods


Resources

Learn

Get products and technologies

About the authors

Christina Lau

Christina Lau is a Senior Technical Staff Member at IBM. Christina leads the BPM Architecture and Advanced Technology Team in WebSphere, focusing on next-generation BPM technologies and consumability improvements in the BPM solution stack. You can reach Christina at clau@ca.ibm.com.

Scott Peddle photo

Scott Peddle is an Advisory Software Developer on the Business Process Management Architecture and Advanced Technology team. He is responsible for developing integration strategies within the WebSphere BPM product suite. You can reach Scott at peddle@ca.ibm.com.

Shili Yang photo

Shili Yang is an Advisory Software Developer at the IBM Toronto Lab. Shili has been a member of the BPM Architecture and Advanced Technology team for the past year, focusing on the end-to-end integration aspect of the WebSphere BPM product portfolio. You can reach Shili at shiliy@ca.ibm.com.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=WebSphere
ArticleID=273195
ArticleTitle=Business Process Management with SOA, Part 1: Gathering monitoring metrics to analyze your business process
publish-date=12122007
author1-email=clau@ca.ibm.com
author1-email-cc=crothemi@us.ibm.com
author2-email=peddle@ca.ibm.com
author2-email-cc=crothemi@us.ibm.com
author3-email=shiliy@ca.ibm.com
author3-email-cc=crothemi@us.ibm.com

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers