Concepts

Overview

The following topics provide information about the components and concepts behind IBM webMethods BPM Optimize business activity monitoring. It describes the architecture of the Optimize implementation, and the processes by which data is collected and fed into the Optimize application. In addition, it discusses the interaction between Key Performance Indicators (KPIs), operational data, business processes, and rules in analyzing and displaying collected data. Finally, it describes the tasks that system and business users perform and the roles that users can be assigned.

webMethods Business Activity Monitoring (BAM) Components

Optimize supports various levels of Business Activity Monitoring (BAM) depending on customer needs. Business activity monitoring enables you to analyze real time business metrics information, including system performance, the volume of business activity and its responsiveness, serious errors that may have occurred, and other key performance indicators (KPIs). Aggregate analytics working in parallel with instance-level data provide actionable information that you can use to eliminate problems, increase efficiency, and take advantage of business opportunities.

Optimize uses special data collectors to gather data from other webMethods components that is used to support business activity monitoring. Note that there is no specific Optimize interface; rather, Optimize is an implementation of webMethods functionality that is available through the standard My webMethods user interface.

Two different implementations of Optimize are available to webMethods customers: Optimize for Infrastructure and Optimize for Process. These implementations are explained below.

  • Optimize for Infrastructure

    This implementation enables you to monitor system data in real time. System data consists of data about equipment and applications, such as queue length and whether a managed webMethods component is online or offline. You can monitor individual objects as well as the overall status of your system. Optimize for Infrastructure contains two components: Infrastructure Data Collector and Optimize. Optimize for Infrastructure uses the Infrastructure Data Collector to collect system data.

  • Optimize for Process.

    This implementation enables you to monitor business processes, in addition to managed objects and system status. You can track key performance indicators (KPIs) that relate to operational factors such as margin, revenue, customer satisfaction, and inventory levels. Optimize enables you to compare actual performance with rules you establish. If a monitored item goes out of compliance with a rule, Optimize alerts you so that you can address the problem. In addition, you can use Six Sigma to analyze your business processes. Six Sigma is a disciplined methodology for improving business process performance by eliminating defects. Using this methodology, you can measure the number of defects in a process and systematically determine how to eliminate them. Optimize for Process also includes business visualization tools that provide at-a-glance mashups of Optimize monitoring information.

Implementation

The following table describes the five main functions that the Optimize implementation performs.

Function Subcomponent
Data collection One or more Web Service Data Collectors

Infrastructure Data Collector, containing SNMP data collector

Data communication A JMS Server, usually either IBM webMethods Universal Messaging or webMethods Broker (deprecated)
Data processing and analysis One or more Analytic Engines
Data storage Database components
Data presentation My webMethods user interface

Each subcomponent can reside on its own separate host, or all subcomponents can reside on the same host.

Typical Optimize implementation:

A Typical Optimize Implementation

Data Collection

Optimize collects data from other webMethods applications, through the Infrastructure Data Collector, or through the Web Service Data Collector(s). For more information about data collection, see Data Collection.

Data Communication

Important: webMethods Broker has been deprecated.

Both IBM webMethods Universal Messaging and Broker (deprecated) provide a Java Message Service (JMS) communication layer that allows data collected by the Data Collector to be fed into the Optimize Analytic Engine for processing. For more information about IBM webMethods Universal Messaging, see the Terracotta website. For more information about Broker (deprecated), see the IBM webMethods Broker Client Java API Programmer’s Guide.

Data Processing and Analysis

Optimize processes data by way of one or more Analytic Engines. The Analytic Engine receives business, system, and process data from the data collection engine, and saves the data in the databases. Optimize analyzes data, saves the analysis in the database, sends information about the status of business and system activity to the My webMethods user interface, and performs other actions when problems occur, such as sending alerts to specified users.

An Analytic Engine contains the following things:

  • An event handler, which receives business and system data from the Infrastructure Data Collector and Web Service Data Collector and from other webMethods products. Business data consists of the underlying data that make up a business process, such as revenue and order number and is specific to Optimize for Process. System data consists of data about equipment or applications, such as queue length and whether a managed component is online or offline. The analytic engine writes this data to the database in a format that business intelligence software can use to generate reports.
  • A process tracker, which receives business process data from the Web Service Data Collectors and other webMethods products, and tracks the state of executing processes. As a process executes, the process tracker takes measurements about the process instance and its steps, such as wait time and cycle time. This information can be used to track performance of a business process or to alert you when certain conditions exist, such as performance degradation or a failure in process execution.
  • An analysis engine, which runs algorithms on the data.
  • A rules engine which compares the data it receives from the Analytic Engine to rules that detect when a process or resource requires user attention.
  • A Web services layer, which sends the results of the analysis to the IBM My webMethods Server. The My webMethods user interface presents the results, along with icons that indicate that a rule violation has occurred or that Optimize has diagnosed a trend.

Data Presentation

Optimize presents data by way of the My webMethods user interface. My webMethods enables users to log in to all webMethods components that are incorporated into My webMethods using a single user name and password.

In addition to presenting data, the My webMethods user interface provides access to administrative functions. Using the My webMethods administrative functions, Optimize administrators can create users, groups, and roles; grant access to My webMethods functions using Lightweight Directory Access Protocol (LDAP) or other means; and configure system, business, and business process data. Optimize users can use other functional areas of My webMethods to create rules for comparing data, monitoring business and system data, and tracking business processes.

For more information about the My webMethods user interface, see Working with IBM My webMethods.

Database Components

Optimize stores data in relational databases. The Optimize database consists of four components: the Analysis, Process Tracker, Process Audit Log (PAL), and IBM My webMethods Server (MWS) database components. For more information about database components, see For Database Administrators in this guide.

Installation and Configuration Checklists

The Installation and Configuration checklists have been moved to Appendix A in Configuring BAM.

Data Collection

Data collected from many parts of the enterprise infrastructure is fed into the Optimize environment and stored. KPIs that represent information vital to the business are defined and applied to the data. These KPIs are analyzed in real time in order to learn normal behavior and detect abnormal behavior within the environment. Rules are applied to these KPIs and their analyses in order to define conditions that represent problems and opportunities. Violations of these rules can be reported to the appropriate people and automated corrective actions can be taken. Further detail can be provided about a particular violation to determine the true root cause of the situation. Optimize also allows you to correlate information from disparate parts of the enterprise, such as the system and infrastructure, business processes and business data, and services. In addition, it provides analytic mashups, which are graphical overlays of correlated data such as business process information overlaid with real-time statistics.

Optimize collects data from other webMethods applications, through the Infrastructure Data Collector, or through the Web Service Data Collector. The following diagram illustrates how Optimize collects, defines, stores, and analyzes data.

Optimize Data Handling

Infrastructure Data Collector

The Infrastructure Data Collector is the primary method for collecting infrastructure and SNMP data. The Infrastructure Data Collector uses the Monitoring API to pass operational data and monitoring model data to the Analytic Engine. The Monitoring API is designed as a programmatic interface to the systems monitoring functionality of a business integration platform. It communicates over JMS, utilizing a JMS queue, to provide secure and reliable communications between Optimize and the Infrastructure Data Collector.

The Infrastructure Data Collector lets you identify webMethods component resources that you want to monitor and analyze. Using the Infrastructure Data Collector, you can monitor the following:

  • Adabas (Deprecated) or Natural (Deprecated) Component assets
  • Apama (Deprecated) Server assets
  • ApplinX, EntireX, Adabas SOA Gateway (Deprecated), Com-plete (Deprecated) or Natural Ajax (Deprecated) Component assets
  • Broker Server assets
  • Event Routing Server assets (deprecated)
  • Integration Server assets
  • IBM My webMethods Server assets
  • MashZone NextGen (Deprecated) Server assets
  • SNMP Component assets
  • Terracotta Server Server and Terracotta Server Array assets
  • Universal Messaging assets.

For more information about discovering and monitoring components, see Discovering Assets and Monitoring Components.

Web Service Data Collector

The Web Service Data Collector is installed automatically with Optimize. Web services provide an interface to Optimize through which client programs can send operational data about applications or equipment in your enterprise (such as databases, printers, or disk drives), process data (such as the start and end time of each step in process instances), or business data (such as customers, order quantities, and revenues). Optimize then displays the data in the form of system KPI instances for operational data or business KPI instances for business process data.

Tip: You can use IBM webMethods Designer to generate the client program and the SOAP messages for the Web Service Data Collector automatically. For details, see the “Working with Web Services” section of the IBM webMethods Service Development Help.

Depending on the size of your enterprise, you can distribute the load by deploying Web services to systems that host applications and processes you want to monitor. Web services gather the summarized data and send them to the Analytic Engine, which in turn stores the data in the database and displays it in the My webMethods user interface. In addition, the Analytic Engine runs algorithms on the data to produce a variety of diagnoses. These diagnoses enable Optimize to automatically and continually compare summarized data with a baseline of historical behavior and indicate when types of data are deviating from that baseline.

Note: You can provide your own definitions of what types of data are out of compliance by defining rules. For more information about defining rules, see Chapter 5 “Defining Rules” in IBM webMethods Optimize User’s Guide.

If you have IBM webMethods Integration Server and Designer, you can build Integration Server services that use Web services to gather data for Optimize. For example, you could do any of the following:

  • You can use Integration Server services to gather data about webMethods components. Suppose you are using webMethods Broker (deprecated). You could create an Integration Server service that uses Web services to create system KPI instances for types of data in certain Broker documents, listens for those Broker documents, gets the appropriate field values from the documents, and uses Web services to push the data to the created system KPI instances in Optimize. For more information, see Configuring and Using the Web Service Data Collector.
  • You can use webMethods adapters with Integration Server services to gather data about resources in your enterprise. Suppose your enterprise includes an SAP system and you use the webMethods SAP Adapter to connect that resource to your webMethods components. You could create an Integration Server service that uses Web services to create system KPI instances for types of data relating to the SAP system, uses the SAP Adapter to query the SAP system for the data at regular intervals, and uses Web services to push the data to the created system KPI instances in Optimize.
  • In Optimize for Process, you can use Web services to gather data about business processes in your enterprise. Suppose you want to monitor a business process. You would use Web services to push data about each process instance to Optimize as the process instance executes. Typically, you would push data about the start and end of each step in the process instance and about process run-time events that might indicate that an error or a warning occurred during process execution. You could obtain that data from a log file, from a database, or from the business process code itself.
  • Also in Optimize for Process, you can use Web services to gather data about your enterprise's business transactions. If you are monitoring business data, you would use Web services to push data about each transaction instance to Optimize as the instance executes. Typically, you would push data about customers, products, order quantities, and revenue.

Key Performance Indicators (KPIs)

You can monitor quantitative business and system data by defining key performance indicators (KPIs). KPIs are quantifiable measurements that reflect the critical success factors of an organization. Optimize uses KPIs to monitor data for exceptions and trends and to help you answer questions such as the following:

  • What is the queue length for this operating system?
  • How many orders over $10,000 have completed for this process? (Optimize for Process)
  • What is the revenue for the Southeast Region? (Optimize for Process)

For example, when using Optimize for Process, in an order management process, you might define KPIs for how many orders were received, their dollar amounts, and whether they were processed successfully. You can also define KPIs that compare volume by order channel or cycle time by customer type.

In Optimize, KPIs consist of the following things:

  • Dimensions, such as customer, region, dealer, or sales person
  • Event maps, which associate business data, such as dimensions, measures (measurable and monitorable numeric quantities such as revenue), and transactional attributes, with a particular business process
  • KPI definitions, which associate a measure with a dimension (a means for breaking out your data into slices), such as revenue by region or queue length by host
  • Hierarchies, which determine how dimensions are related. Optimize uses these relationships to aggregate and organize data on My webMethods business process and system monitoring pages.

KPI instances and KPIs

You can create a key performance indicator (KPI) for each type of data that the Web Service Data Collector collects. Optimize creates and stores data that corresponds to the KPI in a KPI instance. For example, for a KPI that tracks Broker client connection state, Optimize creates one KPI instance for each tracked Broker. For more information about the Web Service Data Collector, see Web Service Data Collector.

When you create a KPI, you can specify a collection interval to summarize the data stored for the KPI instance associated with the KPI. The Analytic Engine runs algorithms on the data to produce a variety of diagnoses. These diagnoses enable Optimize to automatically and continually compare summarized data samples to a baseline of historical behavior and indicate when types of data are deviating from that baseline.

Note: You can provide your own definitions of when types of data are out of compliance by defining rules. For more information about defining rules, see Chapter 5 “Defining Rules” in IBM webMethods Optimize User’s Guide.

System KPI instances store data about applications, and business KPI instances store data about business data and processes. In the My webMethods interface, each type of data that Optimize collects is represented by the KPI instance in which the data is stored.

Each KPI instance performs a specific function for its data, as described in the following table.

KPI instance Function
Sum Sums the data points collected over each collection interval. An example use for this type of KPI instance is to tally process step errors.
Average Calculates the average value of the data collected over each collection interval. An example use for this type of KPI instance is to track CPU usage.
Last Value Stores the value of the last data collected in the collection interval. An example use for this type of KPI instance is to track the size of a queue.
State Stores the value of last data collected in each collection interval, where the possible values are 1 (online) or 0 (offline). An example use for this type of KPI instance is to track the state of an application.
Count Counts the number of data points over each collection interval. An example use for this type of KPI instance is to count the number of older events.

Business Processes

Optimize for Process can analyze and display status information for the following two types of business processes:

  • webMethods-executed processes (processes that are executed and tracked by the IBM webMethods BPM Process Engine).
  • Externally-executed processes (processes that are not executed and tracked by the IBM webMethods BPM Process Engine). For externally-executed processes, Optimize has no knowledge of the rules and data that determine whether these transitions are valid. Therefore, for these processes, Optimize does not recognize invalid step transitions based on branch or split conditions and does not detect or report errors when such conditions occur.

You can use IBM webMethods Designer to design business process models. For more information about using IBM webMethods Designer to set up business processes and process steps, see the IBM webMethods Designer online help. For more information about setting up and identifying those business processes you want Optimize to monitor, see Configuring Business Processes.

Rules

Optimize evaluates data against rules you define. A rule identifies a significant condition under which a process or resource becomes problematic, requires attention, or is of interest. A rule can be configured to alert users or take programmatic action when the condition occurs. Rules can also be configured to send user alerts when the process or resource returns to compliance. You can define KPI rules, event rules and threshold rules.

When you define a rule, you identify the type of data to which to apply the rule (for example, Broker queue length). By default, Optimize then applies the rule to that type of data on all processes or applications (for example, all Brokers in your entire environment). However, you might want to apply the rule to that type of data for specific processes or applications only (for example, for certain Brokers only). In this case, you create a rule filter that identifies only the specific processes or applications. When you define the rule, you associate the rule filter with the rule.

During rule definition, you also identify the users to whom to send alerts when the rule is violated, or you can specify other actions to perform when a rule violation occurs (for example, send an SNMP alert to an SNMP manager or invoke a Web service).

KPI Rules

KPI rules apply to KPIs that were created for business or system data. Optimize evaluates data against a KPI rule over one or more intervals according to the collection interval specified when the KPI was first created.

Event and Threshold Rules

Event rules and threshold rules differ from KPI rules in that Optimize evaluates data points against the rule as they are collected (that is, in real time) rather than waiting for a KPI collection interval (that is, an aggregation of data points collected over an interval). Event and threshold rules generally apply to types of data that require immediate response, such as an application unexpectedly shutting down or CPU usage exceeding unacceptable limits. Optimize maintains state for event rules so that you can track data over multiple intervals, but it does not maintain state for threshold rules. On the other hand, for capturing any individual order with a size greater than a million dollars, a threshold rule would be preferable to an event rule.

For more information on KPI, event, and threshold rules, see Chapter 5 “Defining Rules” in IBM webMethods Optimize User’s Guide.

Users

Optimize has two types of users: administrators and business analysts. Note that “business analyst” is a type of user that exists only in the context of Optimize for Process.

Administrators

Administrators perform the following tasks:

  • Install Optimize.
  • Set up user access.
  • Identify the mail server to use to send alerts about problems to users.
  • Change interface and communication settings.
  • Specify settings for statistical intervals and statistical confidence.
  • Define business and system data and identify processes and system objects to monitor.
  • Configure data collectors and create rule filters.
  • Define rules to use to evaluate collected data.
  • Set up logging.
  • Maintain KPI instances and the database.

Business Analysts

“Business analyst” is a type of user that exists only in the context of Optimize for Process. Business analysts perform the following tasks:

  • Define rules to use to evaluate collected data.
  • Scan for business and system problems.
  • View analytic mashups, and rule details to help locate the source of a problem.
  • Respond to alerts to resolve a problem.

Users, Groups, and Roles

Optimize Administrators can use the My webMethods Roles, Groups, and Users pages (Navigate > Applications > Administration > User Administration) to create users, groups, and roles. Administrators can also grant access to My webMethods functions using Lightweight Directory Access Protocol (LDAP) or data-level security. For more information on users, groups, and roles, see Administering IBM My webMethods Server. For more information on data-level security, see the following sections in this guide: Enabling Data-Level Security and Granting User Access to Business Processes.