WebSphere Business Monitor provides real-time business activity monitoring for your business processes, regardless of where those processes execute. You can visualize your business performance using the WebSphere Business Monitor dashboards, and be alerted if any key performance indicators (KPIs) go outside of their desired range or are predicted to do so in the future based on current trends. The dashboards (Figure 1) can display data at both the individual instance level and the aggregate level, and offer sophisticated dimensional analysis. WebSphere Business Monitor is a key part of the WebSphere BPM suite, giving you insight into the health of your business and the ability to take action to improve results.
Figure 1. WebSphere Business Monitor dashboard
WebSphere Business Monitor is designed to accept and process events from any source. Applications can be instrumented to emit events containing a business payload which WebSphere Business Monitor consumes. WebSphere Business Monitor extracts and analyzes the business data from the incoming events for later reporting purposes in the dashboards. In this article, we'll describe the IBM products that provide out-of-the-box business event emission instrumentation, and explain how you can code custom event emission if your application is running in an environment that does not provide automatic event emission.
Introduction to WebSphere Business Monitor
At its core, WebSphere Business Monitor processes XML, extracts metric data of business relevance, stores it to a database, then its dashboards query the database to display information relevant to a business user. Regardless of how an application is implemented, whether in Java, C++, COBOL, or otherwise, and regardless of where it runs, whether on a smartphone, a PC, or a mainframe, as long as it can provide such XML to WebSphere Business Monitor, the application can enjoy the benefits of business activity monitoring. This article covers how to get this XML to WebSphere Business Monitor.
Figure 2. Simple architectural view of WebSphere Business Monitor
The preferred way to get events to WebSphere Business Monitor is to run your application in one of the many IBM products that are enabled for automatic event emission; in such an environment, you can just "check a box," and the events will flow, without any coding whatsoever. In such environments, you don't need to worry about how to structure your XML, what kind of wrapper to use, what protocol will carry it, or the endpoint to which it will be delivered; this is all taken care of for you by virtue of using an IBM runtime with built-in business event emission support.
Figure 3 shows the IBM products that offer automatic event emission.
Figure 3. Products Integrated with WebSphere Business Monitor
The following sections describe the IBM products that are already enabled for event emission to WebSphere Business Monitor. When hosting your business processes is one or more of these products, you don't need to worry about how to emit events; you can focus on implementing your applications, and let the IBM product take care of the what, when, and how of the event emission necessary for business activity monitoring of those applications.
There are two classes of products with WebSphere Business Monitor support: those with "first-class" support, which emit events and generate monitor models, and those with "basic" support, which only emit events, but leave the monitor model creation up to the user. In Part 1, we'll look at the products that offer the first-class support. In Part 2, we'll look at products with the basic support.
Hosting business processes with WebSphere BPM
The preferred environment for hosting business processes in the WebSphere BPM suite is as BPEL/BPMN processes running in WebSphere Process Server. This environment has the fullest support for WebSphere Business Monitor; in addition to the declarative event emission support, there is full authoring time integration, allowing you to generate a monitor model from within either WebSphere Business Modeler or WebSphere Integration Developer, and test that monitor model directly within the Eclipse authoring environment, in conjunction with testing the processes being monitored. Since WebSphere Process Server implements widgets for the Business Space as well, you can have a single dashboard from which to execute and administer your processes, and from which you can monitor such processes.
You can use WebSphere Business Modeler to model and test your business processes, as well as the monitoring for these processes. You define the business measures that you want to track, then choose Verify Process Design, as shown in Figure 4. A monitor model is generated and deployed (along with the process and human tasks being monitored), and a pre-configured Business Space is created so that you can execute the process and see its monitoring results.
Figure 4. Testing a process and its monitor model in WebSphere Business Modeler
The primary tool for authoring BPEL and the services upon which it depends is WebSphere Integration Developer. As of Version 7, WebSphere Integration Developer has a built-in Business Monitoring perspective. It is selected by default to be installed when you install WebSphere Integration Developer, as shown in Figure 5. In addition to the monitor model authoring environment, you can also create a WebSphere Test Environment that can host both WebSphere Process Server processes and monitor models in the same stand-alone profile. Note that the monitor model authoring and test environments can also be installed into Rational Application Developer V7.5, if desired.
Figure 5. Business monitoring built-in to WebSphere Integration Developer
Once you have authored your BPEL process, you can generate a monitor model for that process. From the context menu on a module containing one or more BPEL processes, you can choose Generate Monitor Model, which launches a wizard in which you can choose which elements of your process and its tasks you want to monitor, as shown in Figure 6. You can choose from a set of predefined monitoring templates that produce metrics, KPIs, and cube measures such as "state," "working duration," and "assigned user." You can also select individual events that the process can emit, such as the events emitted whenever variables in your process are updated, and the monitor model that gets generated will subscribe to such events and understand the schemas of such events so that you can create custom metrics based on fields of the business objects embedded in these events. In WebSphere Integration Developer V7, you can also easily tell the processes being monitored to turn on emission of the events that the monitor model cares about.
Figure 6. Generating a monitor model from WebSphere Integration Developer
In addition to the ability to generate monitor models for your BPM processes from WebSphere Business Modeler or WebSphere Integration Developer, a global monitor model is also provided for WebSphere Process Server applications. This monitor model collects generic information applicable to all BPEL applications, enabling you to immediately see some monitoring results for your BPM processes prior to ever authoring a custom monitor model. This monitor model collects a superset of the data that WebSphere Process Server exposes via its Business Process Choreographer (BPC) Observer component, and enables you to see such data via the Monitor widgets in the dashboard.
The project interchange file for the global monitor model is available, in case you want to customize it or just learn from it when creating your own monitor models. Pre-configured dashboards are also provided for the global monitor model. In addition to the generic information it captures about processes, the global monitor model also captures all variables, or business objects, used by each process as string metrics. If the variable is a primitive type, the metric directly holds its value; if it is a complex type, the metric holds its XML. Using the dashboard, you can build your own KPIs atop these process variables, as shown in Figure 7, and create alerts based on these KPIs.
Figure 7. Global monitor model for WebSphere Process Server
Monitoring WebSphere Message Broker events
WebSphere Business Monitor can monitor the events published by WebSphere Message Broker. You can configure your message flows to emit events that carry transaction monitoring, auditing, or business payload. The business information that is currently passing through your message flows can be emitted as events using the Message Flow editor, provided with the WebSphere Message Broker Toolkit, to identify and configure the event sources.
Important fields from a message payload can be captured and added to the events emitted by message flows and forwarded to WebSphere Business Monitor. The event emitted by WebSphere Message Broker contains information about the source of the event, the time of the event, and the reason for the event.
The WebSphere Message Broker Toolkit enables users to configure, enable and disable events from message flows. Two kinds of events can be emitted:
- Transaction events are emitted only from input nodes
- Terminal events are emitted from any terminal of any node, including input nodes
The events contain the following information:
- Source of the event
- Name of the event
- Sequence number or creation time
- Correlation ID for events emitted by the same transaction or unit of work
- Optionally, application data extracted from the message
- Optionally, part or all of the entire message bit stream
The events emitted by the message flows can be published to a WebSphere MQ topic. A WebSphere Message Broker supplied application, which runs in WebSphere Application Server, subscribes to the event topic and sends the messages as event XML to WebSphere Business Monitor.
The Monitor Model Editor is used to import monitoring information exported from the WebSphere Message Broker Toolkit, and generate a monitor model that can be used to monitor your Message Broker application, as shown in Figure 8.
Figure 8. Generate Monitor Model from Message Broker Monitoring Information
WebSphere ILOG JRules BRMS
IBM offers a sophisticated business rule management system (BRMS), allowing business users to dynamically control aspects of the execution of their business processes without requiring assistance from the IT department whenever a business rule needs to be updated. The JRules environment allows you to insert business rules into the desired points of variability in your processes, and to control the thresholds under which such rules fire.
Support Pac LB01 for WebSphere ILOG JRules provides the ability to emit events to WebSphere Business Monitor, capturing the information about the business rules that executed as part of a ruleset. It also provides the ability to generate a monitor model from a rule application, so that you can quickly get a dashboard that provides you insight into the points of variablity in your processes, and the effectiveness of rules authored/customized by your business users.
Figure 9. ILog JRules integration with WebSphere Business Monitor
WebSphere MQ Workflow
You can monitor WebSphere MQ Workflow processes, defined using the Flow Definition Language (FDL), with WebSphere Business Monitor. The business event emission occurs asynchronously to the execution of the processes, by periodically mining the audit trail and forwarding batches of events to WebSphere Business Monitor.
WebSphere MQ Workflow Version 3.6 Service Pack 6 or later enhances WebSphere MQ Workflow to emit the container data (holding the business payload) into the MQ Workflow audit trail. WebSphere MQ Workflow SupportPac for WebSphere MQ Workflow Event Converter converts the audit trail data to an event XML that can be consumed by WebSphere Business Monitor.
The WebSphere Business Monitor development toolkit includes an FDL to monitor model plugin that enables you to import an existing FDL file and generate a monitor model that will process the events sent from that FDL application. You can then customize that monitor model as desired, deploy it, and view the results from the business dashboards.
Figure 10. WebSphere MQ Workflow integration with WebSphere Business Monitor
WebSphere Enterprise Service Bus is designed to provide an Enterprise Service Bus (ESB) for IT environments built around open standards and SOA. WebSphere ESB delivers easy to use functionality that is built on the messaging and Web services technologies of WebSphere Application Server. It is based on WebSphere Application Server Network Deployment and inherits its built-in messaging provider and qualities of service.
WebSphere Enterprise Service Bus provides uniform invocation and data-representation programming models and monitoring capabilities for the following components that run on WebSphere ESB:
- Service Component Architecture (SCA): You can monitor every invocation of any SCA service, if desired. SCA offers the ability to emit three events related to SCA services: an entry event, containing any input parameters (business objects) to the service, an output event, containing any return value from the service, and a fault event, in case an exception occurred during the execution of the service. Via this approach, you can unobtrusively monitor an application running in WebSphere ESB without having to author that application any differently.
- Event Emitter Primitive: WebSphere ESB also provides the ability to wire in any number of primitives for use in a mediation; one provided with WebSphere ESB is the event emitter primitive which, when wired into a mediation used by a WebSphere ESB application, allows fine-grained control over what gets placed in the business events that are emitted when the WebSphere ESB application is executed. When modifying the WebSphere ESB application is an option, this explicit form of event emission allows you to send events at exactly the point you want, containing exactly the business payload you want.
In Part 1, we've shown you the products that offer first-class support for WebSphere Business Monitor. These products dramatically improve time-to-value by producing monitor models customized to the application you want to monitor. In Part 2, you'll learn about additional products that can send events to WebSphere Business Monitor, with some additional required at model authoring time. In Part 3, you'll learn how to programmatically instrument an application to send events.
Some scenarios require more work on the part of IT developers than others, but all provide for a rich experience for the business users of the dashboards, providing them insight into the performance of their business and suggesting areas for improvement in their business processes, wherever such processes may run.
You can realize the full potential of business process management by adding business activity monitoring to your enterprise, regardless of what kind of business processes you are using, and whether they are hosted in an IBM runtime or in a homegrown environment. You can empower your business users by giving them a business dashboard from which they can monitor their business processes and optimize their business results today!
- Implementing event processing with CICS
- Event processing topic (CICS Transaction Server for z/OS, Version 4.1 Information Center)
- Monitoring business events emitted from IMS applications (for Fix Pack 1) (Tutorial)
- Business Activity Monitoring with WebSphere Business Monitor V6.1: (Redbook) Includes sections on WebSphere Process Server, MQ Workflow, and FileNet.
- Connecting Your Business Using IBM WebSphere Message Broker V7 as an ESB (IBM Redbook)
- Put new capabilities of business activity monitoring (BAM) to work, Part 8: Enabling WebSphere Business Monitor V6.1 to receive events via WebSphere MQ (developerWorks, 2008)
- Put new capabilities of business activity monitoring (BAM) to work, Part 13: Publishing event messages to IBM WebSphere Business Monitor V6.1 with Web Services Notification (developerWorks, 2008)
- Put new capabilities of business activity monitoring (BAM) to work, Part 14: Publishing event messages to IBM WebSphere Business Monitor V6.1 with WS-Notification: Continued (developerWorks, 2008)
- Business Event Processing with WebSphere Business Events, Part 5: Integrating Business Events with WebSphere Business Monitor (developerWorks, 2008)
- Integrating WebSphere Sensor Events with WebSphere Business Monitor (WebSphere Sensor Events Information Center)
- Business-level monitoring with Message Broker Version 7.0 (WebSphere Message Broker Information Center)
- Integrating WebSphere Business Events with WebSphere Business Monitor (WebSphere Business Events Information Center)
- IBM FileNet P8 Version 4.0 System Overview (PDF)
- WebSphere Business Process Management V7 Production Topologies (Redbook)
- Building IBM Business Process Management Solutions Using WebSphere V7 and Business Space (Redbook)
- WebSphere Business Process Management and WebSphere Enterprise Service Bus V7 Performance Tuning (Redpaper)
- developerWorks BPM zone: Get the latest technical resources on IBM BPM solutions, including downloads, demos, articles, tutorials, events, webcasts, and more.
- IBM BPM Journal: Get the latest articles and columns on BPM solutions in this quarterly journal, also available in both Kindle and PDF versions.
- Get involved in the My developerWorks community. Connect with other developerWorks users while exploring the developer-driven blogs, forums, groups, and wikis.
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.
Keep up with the best and latest technical info to help you tackle your development challenges.
Software development in the cloud. Register today to create a project.
Evaluate IBM software and solutions, and transform challenges into opportunities.