Monitoring your business applications, Part 1: Products offering first-class integration with IBM Business Monitor

IBM Business Monitor dashboards provide insight into the performance of your business based on events sent from your applications. In this series, you'll learn which IBM products offer out-of-the-box business event emission instrumentation, as well as how you can programmatically instrument your applications to emit custom business events.

Share:

John W. Alcorn, Senior Software Engineer, IBM

author photo

John Alcorn is the lead architect for the IBM Business Activity Monitoring (BAM) platform. He has worked as a software engineer with IBM for 19 years, with more than 14 years on WebSphere products, including roles in both product development and software services. John has been a technical leader with the IBM Business Monitor product for seven years, and works closely with the wider IBM Business Process Management (BPM) team.

John is IBM-certified in XML technologies, SOA technologies, and in multiple WebSphere® products, and is Sun-certified in Java™ programming. He is currently privileged to work with an excellent team of software engineers at IBM's Research Triangle Park lab in North Carolina.


developerWorks Contributing author
        level

Latha Sivakumar (lsivakum@us.ibm.com), Advisory Software Engineer, IBM

Latha Sivakumar photoLatha Sivakumar is currently a member of the WebSphere DataPower development team. Prior to that, she was a developer on the WebSphere Business Monitor development team, focusing on integration with other IBM products.



04 February 2016 (First published 04 May 2011)

Also available in Chinese

Overview

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 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
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
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

IBM Business Process Manager V7.5

IBM Business Process Manager V7.5 includes support for event emission from WebSphere Lombardi Editon processes to IBM Business Monitor V7.5, and for generating monitor models from its Process Designer tool. This article is focused on IBM Business Monitor.

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
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
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
Generate 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 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.

Summary

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!

Resources

Learn

Discuss

  • Get involved in the My developerWorks community. Connect with other developerWorks users while exploring the developer-driven blogs, forums, groups, and wikis.

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=656186
ArticleTitle=Monitoring your business applications, Part 1: Products offering first-class integration with IBM Business Monitor
publish-date=02042016