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

WebSphere® 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.

John W. Alcorn (jalcorn@us.ibm.com), 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 May 2011

Also available in Chinese

Overview

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

WebSphere Lombardi Edition

WebSphere Lombardi Edition is an important new part the WebSphere BPM suite. Lombardi V7.2 and earlier are not enabled for automatic event emission to WebSphere Business Monitor, but you can use one of the approaches outlined in Part 3 of this series to embed event emission logic in your Lombardi processes. The newly announced IBM Business Process Manager V7.5 includes support for event emission from your Lombardi processes to the newly announced IBM Business Monitor V7.5, and for generating monitor models from its Process Designer tool. This article is focused on WebSphere Business Monitor V7; stay tuned for articles discussing the V7.5 capabilities of BPM and BAM later this year.

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
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
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
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
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
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
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 MQ Workflow integration with WebSphere Business Monitor

WebSphere ESB

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.

Summary

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!

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 WebSphere Business Monitor
publish-date=05042011