Monitoring your business applications, Part 1
Products offering first-class integration with IBM Business Monitor
This content is part # of # in the series: Monitoring your business applications, Part 1
This content is part of the series:Monitoring your business applications, Part 1
Stay tuned for additional content in this series.
IBM 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 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. IBM Business Monitor is a key part of the IBM Business Process Management suite, giving you insight into the health of your business and the ability to take action to improve results.
Figure 1. IBM Business Monitor dashboard
IBM Business Monitor is designed to accept and process events from any source. Applications can be instrumented to emit events containing a business payload which IBM Business Monitor consumes. IBM 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 IBM Business Monitor
At its core, IBM 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 IBM Business Monitor, the application can enjoy the benefits of business activity monitoring. This article covers how to get this XML to IBM Business Monitor.
Figure 2. Simple architectural view of IBM Business Monitor
The preferred way to get events to IBM 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 IBM Business Monitor
The following sections describe the IBM products that are already enabled for event emission to IBM 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 IBM 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 IBM BPM
The preferred environment for hosting business processes in the IBM BPM suite is as BPEL/BPMN processes running in the IBM Process Server component of IBM Business Process Manager (BPM). This environment has the fullest support for IBM Business Monitor; in addition to the declarative event emission support, there is full authoring time integration, allowing you to generate a monitor model from IBM Integration Designer, and test that monitor model directly within the Eclipse authoring environment, in conjunction with testing the processes being monitored. Since IBM BPM also implements widgets for the Business Space component, you can have a single dashboard from which to execute and administer your processes, and from which you can monitor such processes.
The primary tool for authoring BPEL and the services upon which it depends is IBM Integration Designer, which has a built-in Business Monitoring perspective. It is selected by default to be installed when you install Integration Designer, as shown in Figure 4. In addition to the monitor model authoring environment, you can also create a WebSphere Test Environment that can host both IBM BPM 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 4. Business monitoring built-in to Integration Designer
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 and later, you can also easily tell the processes being monitored to turn on emission of the events that the monitor model cares about.
Figure 5. Generating a monitor model from Integration Designer
Monitoring IBM Integration Bus events
IBM Business Monitor can monitor the events published by IBM Integration Bus. 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 IBM Integration Bus 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 IBM Business Monitor. The event emitted by IBM Integration Bus contains information about the source of the event, the time of the event, and the reason for the event.
The IBM Integration Bus 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 an IBM MQ topic. A IBM Integration Bus supplied application, which runs in WebSphere Application Server, subscribes to the event topic and sends the messages as event XML to IBM Business Monitor.
The Monitor Model Editor is used to import monitoring information exported from the IBM Integration Bus Toolkit, and generate a monitor model that can be used to monitor your Message Broker application, as shown in Figure 6.
Figure 6. Generating a monitor model from Message Broker monitoring information
IBM Operational Decision Manager BRMS
IBM Operational Decision Manager (ODM) 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 IBM ODM provides the ability to emit events to IBM 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 7. IBM ODM integration with IBM Business Monitor
IBM Integration Bus
IBM Integration Bus is designed to provide an Enterprise Service Bus (ESB) for IT environments built around open standards and SOA. The ESB capabilities are easy to use, built on the messaging and Web services technologies of WebSphere Application Server. Based on WebSphere Application Server Network Deployment, the capabilities inherit built-in messaging provider and qualities of service.
IBM Integration Bus provides uniform invocation and data-representation programming models and monitoring capabilities for the following components:
- 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. Through this approach, you can unobtrusively monitor an application running without having to author that application any differently.
- Event Emitter Primitive: The ESB capabiltiies also provide the ability to wire in any number of primitives for use in a mediation. The event emitter primitive which, when wired into a mediation used by an IBM Integration Bus application, allows fine-grained control over what gets placed in the business events that are emitted when the IBM Integration Bus application is executed. When modifying the 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 IBM 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 IBM 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 (IBM Redbooks publication)
- Event processing (CICS Transaction Server for z/OS, Version 4.1 product documentation)
- Business Activity Monitoring with IBM Business Monitor V6.1: (IBM Redbooks publication) Includes sections on WebSphere Process Server, MQ Workflow, and FileNet.
- Business Event Processing with WebSphere Business Events, Part 5: Integrating Business Events with WebSphere Business Monitor (developerWorks, 2008)
- Business-level monitoring with Message Broker Version 7.0 (WebSphere Message Broker product documentation)
- Integrating WebSphere Business Events with WebSphere Business Monitor (WebSphere Business Events product documentation)
- WebSphere Business Process Management V7 Production Topologies (IBM Redbooks publication)
- Building IBM Business Process Management Solutions Using WebSphere V7 and Business Space (IBM Redbooks publication)
- WebSphere Business Process Management and WebSphere Enterprise Service Bus V7 Performance Tuning (IBM Redpaper)