IBM WebSphere Process Server 7 and Enterprise Service Bus 7 : Monitoring WPS/WESB applications

There is also a need to understand, from a runtime perspective, what is happening within the deployed solution. Some of the common visibility items include:

  • Overall System/Server Health-CPU usage, memory usage, IO usage, connection pool, thread pool, event logs, disk space, and so on

  • Module Health-Status of modules, failed events, status of process instances, and so on

  • Services Health and Performance-Response time, throughput, periodic statistics, failure rates, and so on

  • Diagnostic Information-Logs, trace, threads, and so on

  • Business Process/Activity Performance-One of the goals of modelling a business process is to measure the efficiency and the performance of the process itself based on KPIs and other instance metrics

From an overall system monitoring perspective, you need to make sense out of the raw data you are looking at. You need meaningful information and capabilities that give you this information that you are looking for. Also, we need to understand and act on various exceptions that are being thrown by the SCA components and associated escalations, human tasks, compensation, and escalation chains. So from a WID/WPS/WESB point of view, let’s look at the tools and capabilities available to get visibility into the solution.

WebSphere Business Monitor and the WebSphere Monitor Toolkit provide business activity monitoring capabilities that offer real-time insight into the business processes. It provides visualization dashboards (through Business Space) such as business process information, human task activities, process diagrams, Key Performance Indicators (KPI), dimensional views, visualizing a process flow, and so on. These products allow you to monitor the processes that are being executed on WPS and analyze them for further and future tuning.

Tools and capabilities provided

We will see in this section how to monitor the business processes and the SCA modules and components using BPC Explorer, BPC Observer, Business Space, and CEI Browser.

To monitor the modules including Business Process Components for throughput and performance-related issues, WPS provides the following capabilities:

  • Business Process Choreographer Explorer (BPC Explorer): Used to monitor process instances and also to determine whether you need to take action so that the process can run to completion.

  • Failed Event Manager: Used to monitor errors in asynchronous communication. If, for example, a message could not be delivered to a target component, the user may use the Failed Event Manager to resubmit this message after either correcting a message payload or after correcting the error.

  • Service Integration Bus Browser: Used to monitor and administer the SIBus topology underneath WPS.

  • Business Space Health Monitor: Provides an aggregated and high-level view on application and component health, which are part of WPS.

  • Common Base Event browser (CBE browser): To retrieve and view events in the Common Event Infrastructure (CEI) event database.

You can use Tivoli Performance Viewer to do performance tuning of a Business Process Management production environment. This is a separate product from IBM.

 

All of the mentioned tools are web-based utilities and can be launched from WID. Right-click on your Server | Launch. The tool will be launched within WID itself.

Now let us look at how we use the BPC Explorer, Business Space, and CBE Browser.

Monitoring with BPC Explorer

No discussion around WPS administrative capabilities and features would be complete without BPC Explorer. Business Process Choreography Fundamentals. BPC Explorer provides a robust runtime environment to manage all aspects of Business Process Execution Language (BPEL). BPC Explorer supports short-running and long-running business processes, as well as synchronous and asynchronous services and human tasks. You can launch BPC Explorer from WID by right-clicking on the UTE server and selecting Launch | Business Process Choreographer Explorer from the context menu. You can also directly launch it from a web browser and browse to http://<Server_HostName>:<Server port> / bpc. If security is enabled, then enter your username and password. Your privileges within the BPC Explorer depend upon authorization granted to the group that you belong to. This has been covered in brief in the previous section under security.

Once you are logged into BPC Explorer, you can view process templates that you can launch. For example, you can launch an instance of the HandleCustomerContactProfile BPEL process, as shown in the following screenshot:

You can also look at the Process Instance you started or Process Instances that are currently running. For example, the following screenshot shows that a Process Instance named Submit Customer Order for Jack Coxley of the TrackAndManageCustomerOrder BPEL process template is running.

You can click on the Process Instances to find out the details behind the instance including who started it, when it was started, process input messages, which step in the process it currently is in, and so on. You can also view the graphical view of the process by clicking on the View Process State, and it will display the state of the process, tasks completed, and task currently waiting for/executing marked as green. You can also terminate and suspend Process Instances from this view. Under the Task Instances | My Escalations, you will be able to see the escalation that belong to you or needs your attention.

Configuring BPC Explorer

In order to use BPC Explorer, it must be first configured under Servers | Clusters | WebSphere application server clusters | Cluster name or Servers | Server Types | WebSphere application servers | Server name. Then on the Configuration tab, in the Business Integration section, expand Business Process Choreographer, and click Business Process Choreographer Containers. Make sure that you restart your server once the configurations have been made.

Ensure that the Business Process Choreographer Containers, Human Task Manager, and Business Process Choreographer Explorer applications are installed on the WPS.

Service Monitoring with Business Space

With the Business Space Service Monitor widget, you can measure various performance characteristics of an SCA module including the Response Time and request Throughput. You choose which specific operations, within a module that is exposed to requestors (SCA exports) and consumed (SCA imports), to monitor.

The widget plots Response Time and Throughput data on graphs, visually distinguishing those calls that exceed any Threshold you have defined. The graphs always show the latest monitoring statistics. However, you can see historical data by increasing the length of time shown on the graphs. With this widget, you can get the following information that can be used to monitor ongoing problems and pinpoint which part of your solution is not responding as expected.

  • How much time do specific services require?

  • Does service duration degrade over time?

  • Service invocation count

  • Throughput adherence against the defined values and how much it degrades over time

Ensure service monitoring is configured and enabled. By default, service monitoring is enabled for servers or clusters created as part of deployment environment and standalone server profiles. If you have created a new server with the admin console, however, you must configure and enable the service monitor before you can use the Service Monitor

 widget. 

As shown in the next screenshot, on the Service Monitor | Edit Settings, you can specify the operations from the modules you would like to monitor.

Monitoring with Problem Determination Space

Using the problem determination space in Business Space, you can track the health of the overall system and also the administrative artifacts that comprise a module (queues, messaging engines, data sources, servers, and clusters, to name just a few).

You can do this by creating a space within Business Space using the predetermined problem determination template provided by WPS to monitor the health of your solution. This space has all the necessary widgets needed. As shown in the following screenshot, for a given module, you can find information including which applications are running, topology status, queue depth, messaging engines status, failed events, and so on. You can use this information to determine which part of your solution is not responding and act appropriately.

Common Event Infrastructure (CEI) and CBE Browser

Introducing IBM BPM and ESB, Common Event Infrastructure (CEI) provides the foundation architecture for the management and handling of events produced by business processes. Common Base Event (CBE) specification provides the XML-based format for business events, system events, and performance information. When we implemented the TrackAndManageCustomerOrder and HandleCustomerContactProfiles BPEL processes, we specified events to be monitored. However, in the business process editor and the human task editor, there are CEI and Audit Log checkboxes that enable you to choose where to log the generated events. If you select the CEI checkbox, business events relating to business processes and inline and standalone human tasks will be generated into the CEI data store. If you select the Audit Log checkbox, the same business events will also be generated as audit events in the process choreographer database.

It is important to note that unlike audit events that are logged in the process choreographer database, CEI events are generally accessible to all components and event consumers. For this reason, unless you have a specific need to work with audit events, it is recommended that you enable the generation and monitoring of CEI events rather than audit events.

You launch the Common Base Event Browser from WID by right-clicking on the UTE server and selecting Administration | Common Base Event Browser from the context menu. From here, you can view the defined events that may include logging, tracing, management, and business events from the event database.

Here is a summary of the tools and capabilities provided by WPS/WESB, other external capabilities/tools that you would need, and what to use from the perspective of visibility.

Tools Capabilities
Overall System/Server Health Standard logs (system out, system error)

OS/Hardware monitoring software

Database monitoring software

JVMPI (Java Virtual Machine Profiler Interface)

Admin console

JMX Beans

ITCAM for WebSphere

Business Space-problem determination space

Module Health Common Business Events (CBEs)

Logging API

Failed Event Management (FEM)

BPC Explorer

Business Space-problem determination space

Services Health and Performance Logging API (instrumentation)

Logging and Tracing in the WAS

Admin console

Business Space-service monitor space

ITCAM for SOA

Diagnostic Information Logging API (instrumentation)

Logging and tracing in the admin console

Cross Component Trace (XCT). XCT analyzes local or remote logs. XCT defaults to the server console of the running WebSphere Test Environment (WTE).

First-failure data capture (FFDC)

IBM Log Analyzer

IBM Support Assistant

Business Process/Activity Performance CEI and CBE Browser

BPC Explorer

WebSphere Business Monitor