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
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
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
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
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
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
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
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
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)
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)
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)
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
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.
- Business Process Management with SOA, Part 1: Gathering monitoring metrics to analyze your business process (developerWorks 2007): 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.
- Business Process Management with SOA, Part 2: Improving your business process with business rules, forms and content management (developerWorks 2008): Part 2 shows you how to use some of the new features in WebSphere Business Modeler V6.1 to enhance your business process definitions so that process owners can model their end-to-end business processes regardless of where they are deployed.
- Business Process Management with SOA, Part 3: Combining process execution, content management and user interactions (developerWorks 2008): Part 3 of this series shows you how to integrate a long-running business process running on both WebSphere Process Server and FileNet P8. The business process includes multiple steps that involve system and human interactions as well as structured and unstructured content.
- IBM FileNet P8 Platform Product Documentation
- Event Correlation Options for Business Activity Monitoring and WebSphere Business Monitor V6.0.2 (developerWorks 2007): This article discusses the different correlation options that are available with WebSphere Business Monitor 6.0.2, and looks at the advantages and disadvantages of each option. Learn how built-in application or component level events can be easily correlated with custom events specific to certain instances of a process, or more generally, of any service implementation.
- FileNet Business Process Manager: Get product information, including features and benefits.
- Build BPM applications using FileNet, Part 1: A guided tour to content and process modeling with the FileNet P8 platform (developerWorks 2007): This is the first in a series of three articles introducing you to the process of building Business Process Management (BPM) applications using the IBM FileNet P8 platform and the Business Process Framework (BPF).
- developerWorks BPM zone: Get the latest technical resources on IBM BPM solutions, including downloads, demos, articles, tutorials, events, webcasts, and more.
- Business Process Management enabled by SOA: Get product information, including features and benefits.
- WebSphere Business Modeler: Get product information, including features, benefits, demos and trial downloads.
- WebSphere Business Monitor: Get product information, including features, benefits, demos and trial downloads.
- WebSphere Integration Developer: Get product information, including features and benefits.
- WebSphere Process Server: Get product information, including features and benefits.