Business Process Management with SOA, Part 4: Monitoring IBM FileNet P8 and WebSphere Process Server processes

Part 4 of this series shows you how to use WebSphere Business Monitor to monitor business processes running on both WebSphere Process Server and FileNet P8. You can correlate events from both platforms using a monitor model and use WebSphere Business Monitor dashboards to view the status of complete transactions in real time with metrics and KPIs.

Christina Lau (clau@ca.ibm.com), Distinguished Engineer, IBM

Christina LauChristina Lau is an IBM Distinguished Engineer. She leads the BPM Architecture, Strategy and Advanced Technology Team, focusing on next-generation BPM technologies. You can reach Christina at clau@ca.ibm.com.



Shili Yang (shiliy@ca.ibm.com), Advisory Software Developer, IBM

Shili Yang photoShili 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.



Bhadri Madapusi (bhadrim@ca.ibm.com), Advisory Software Developer, IBM

Bhadri MadapusiBhadri Madapusi is a Software Developer working in the IBM Toronto Lab. He earned his MSc in Information Systems from BITS, India, and his MSc in Computer Science from Queens University, Canada. His interests include software modeling, design patterns, and data management. You can read Bhadri at bhadrim@ca.ibm.com.



14 May 2008

Introduction

Part 3 of this series showed you how to create and deploy a BPM solution that can run on both WebSphere Process Server (Process Server) and FileNet P8. Using standard Web services techniques, a Process Server process can invoke a FileNet process seamlessly, and use the FileNet content engine to create, manage, and store documents or business objects that are associated with a business process. In Part 4, you'll learn how to use WebSphere Business Monitor V6.1 (Monitor) to monitor a business process that runs on both Process Server and FileNet. We'll describe the overall topology, how events are emitted from both platforms, and show you how to correlate them by authoring a monitor model.

How it works

Figure 1 shows a view of the overall architecture. The FileNet P8 process engine records events associated with the running processes to the P8 event log database. The P8_BPM_CBE_Adaptor reads the P8 database and converts the data to Common Base Events (CBEs), then sends them to the Common Event Infrastructure (CEI). Process Server components such as BPEL emit CBE events directly to the CEI.

A monitor model correlates events coming from the multiple sources. The monitor model defines business measures, such as metrics and key performance indicators (KPIs), and their dependencies on the incoming events. Conditions that require business actions can also be captured in the monitor model.

The Monitor database contains meaningful metrics aggregated by the monitor models deployed on the Monitor server. The Monitor dashboards use Web 2.0 technologies to display business performance data dynamically in highly customizable views such as the Instances, KPI, Dimensions and Report views.

Figure 1. FileNet, WebSphere Process Server and WebSphere Business Monitor integration
Figure 1. FileNet, WebSphere Process Server and WebSphere Business Monitor integration

Setting up the environment

Your environment should contain the standard installation for Process Server, Monitor, and IBM FileNet P8 Platform (FileNet). In order to integrate FileNet with Monitor, you need to install the FileNet BPM CBE Adaptor to the Monitor server, as shown in Figure 2. This involves creating the database, work manager, and JNDI settings required by the CBE adapter. For more information on how to deploy the FileNet BPM CBE Adaptor, refer to the Process Engine Administration section of the IBM FileNet P8 Platform Product Documentation.

Figure 2. P8 BPM CBE Adaptor running on the Monitor server
Figure 2. P8 BPM CBE Adaptor running on the Monitor server

Configuring the FileNet and Process Server processes to generate events

In order for Monitor to present meaningful real-time information about the business processes that are running, the processes must generate meaningful business events as each activity executes. For processes running on Process Server, use the event monitor in WebSphere Integration Developer (Integration Developer) to enable event generation for the BPEL elements you want to monitor. Figure 3 shows the Event Monitor pane for the Process Claim human task. Select Full to include the business object attributes in the emitted event.

Figure 3. Integration Developer event monitor
Figure 3. Integration Developer event monitor

For processes running on FileNet to include any of the business object attributes in the emitted event, you must add them as Data Fields in the Event Log Properties. In the FileNet workplace, select Admin => Process Configuration Console to open the Process Configuration Console. Select the Event Logs folder, as shown in Figure 4, and double-click to open DefaultEventLog.

Figure 4. Open event log properties
Figure 4. Open event log properties

The Event Log Properties view opens. Use this view to add any additional user-defined attributes that you want to have emitted in the CBE. In our example, we want to correlate FileNet events with BPEL events so that we can associate the FileNet ArchiveClaim workflow with the Process Server SimpleClaim BPEL process. To do this, we'll add the ClaimNumberRep on the Data Fields tab of the Event Log Properties, as shown in Figure 5. Notice that the data field name matches the data field name defined in the workflow properties of the ArchiveClaim workflow (see Part 3). This enables the claim number used in the ArchiveClaim workflow to be included in the CBE that is emitted from FileNet and used for correlation later.

Figure 5. Add ClaimNumberRep as a data field in FileNet
Figure 5. Add ClaimNumberRep as a data field in FileNet

Correlating events using the monitor model

A single monitor model is used to handle and correlate events generated from both the Process Server and the FileNet processes. The monitor model receives events from both run-times, correlates them, and records metrics that can be used to track the status of the processes. Within the monitor model, a number of monitoring contexts are created to collect the data for the process or activity that it is watching, by extracting values from the incoming events. Listing 1 shows the monitoring contexts and their parent-child relationships. These contexts and their relationships are modeled after the process and activity relationships. For example, the ExpressClaim monitoring context gathers data about the Express Claim process running on Process Server, and the ArchiveClaim monitoring context gathers data about the Archive Claim processing running on FileNet.

Listing 1. Monitoring contexts and relationships
SimpleClaimProcess
     AccessClaim
     ExpressClaim
          Assign Insurance Adjuster
          Process Claim
          ArchiveClaim
     HighTouchClaim

At run-time, a monitoring context instance is created for each object that is being observed. When an event arrives, attributes in the event are used to locate the monitoring context instance. To determine which monitoring context instance an event should go into, you have to set up a correlation expression at authoring time. Figure 6 shows an example of how to create a correlation expression for the ExpressClaimENTRY inbound event. This event is designated for the ExpressClaim monitoring context instance and its uses Process Server-generated event attributes, such as ECSParentID and ECSCurrentID to do the correlation. You can use system-generated event attributes effectively in this case, because both SimpleClaimProcess and ExpressClaim are BPEL processes running on Process Server.

Figure 6. Correlation using system-generated IDs
Figure 6. Correlation using system-generated IDs

In other scenarios, you might need more control of correlation. In those cases, you can design your correlation expression using your own event attributes. Figure 7 shows an example of a correlation expression that was created for the ArchiveClaimEntry inbound event. This event is designated for the ArchiveClaim monitoring context instance and uses the user-defined Claim_Number attribute to do the correlation. The reason for this is that ExpressClaim is running on Process Server and ArchiveClaim is running on FileNet, and there are no system-generated event attributes that can correlate the two. The claim number is a unique ID specific to this application, and can be used to reliably correlate the end-to-end transaction regardless of which run-time it is executing on.

Figure 7. Correlation using user-defined ID
Figure 7. Correlation using user-defined ID

Viewing events using Monitor dashboards

Monitor enables users to monitor and optimize their business processes in real-time. Through visual dashboards, users can receive immediate notification based on alerts they set, and then take appropriate actions. Using the metrics and KPIs defined in their monitor models, users can proactively monitor the critical aspects of their processes.

Figure 8 shows the Monitor dashboard Instances view for the Simple Claim Process, showing three completed instances.

Figure 8. Simple Claim Process Instances view (Process Server)
Figure 8. Simple Claim Process Instances view (Process Server)

If you select the first instance (Claim Number = 100) and select the ExpressClaim drill-down, the corresponding Express Claim process instance opens, as shown in Figure 9. As you recall, the Express Claim Process is running on Process Server. The Express Claim Process Instances view shows you how long it takes to complete this process.

Figure 9. Express Claim Process Instances view (Process Server)
Figure 9. Express Claim Process Instances view(Process Server)

If you select the ArchiveClaim drill down, the corresponding Archive Claim Process instance opens, as shown in Figure 10. The Archive Claim Process is running on FileNet. The view displays the approval status of the claim.

Figure 10. Archive Claim Instances view (FileNet)
Figure 10. Archive Claim Instances view (FileNet)

By correlating events that are emitted from multiple engines, the Monitor dashboards give you visibility into your end-to-end processes regardless of where they are running.


Exporting monitoring metrics to Modeler

After the claim process executed for a while, you can export the monitor values using the Export Values view and import the resulting XML into Modeler. Figure 11 shows the actual processing time for the three tasks. By using a single monitor model, you can calculate the processing time for each task regardless of which run-time it is executing on, and see a consistent real-time view to the business.

Figure 11. Monitor metrics imported into Modeler
Figure 11. Monitor metrics imported into Modeler

Summary

This article concludes our four-part series showing you how you can use WebSphere Business Modeler V6.1, WebSphere Integration Developer V6.1, IBM Lotus Forms 3.0, WebSphere Process Server V6.1, IBM FileNet P8 4.0.2, and WebSphere Business Monitor V6.1 to create, to deploy and monitor a sophisticated business process managementsolution. Such a solution makes use of key IBM BPM capabilities including modeling, simulation, business rules, process execution, content management, human interactions, Web services, and system connectivity. As you've learned in this series, IBM's comprehensive set of BPM products provide a complete integration offering built entirely on a service-oriented architecture.


Download

DescriptionNameSize
Sample artifactsdownload.zip13.7KB

Resources

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Business process management on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Business process management, WebSphere
ArticleID=307635
ArticleTitle=Business Process Management with SOA, Part 4: Monitoring IBM FileNet P8 and WebSphere Process Server processes
publish-date=05142008