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
|