Business Monitor server

The Business Monitor server is responsible for processing events, calculating business metrics, and responding to business situations. It consists of the IBM® Business Monitor model manager, the Monitor action services, Monitor data security, and the data movement service.

Monitor model manager

The monitor model manager acts as the execution engine for the monitor model that is created using the IBM Business Monitor development toolkit. During model development, you can define the metrics and key performance indicators (KPIs) to monitor and the events that are used in calculating them. The monitor model manager then uses the model, receives the events, and calculates the metrics to be persisted for future display on dashboards.

The monitor model manager handles all of the metric calculations and business situation detections that are required for business process management. It creates, reads, updates, and terminates context instances and calculates the metric values of these instances.

The monitor model manager consumes events from the processes you are monitoring to update the metrics and KPIs displayed on dashboards. It also sends outbound events, as defined by the monitor model.

Monitor action services

Monitor action services is a component of IBM Business Monitor that starts an action or actions when it receives defined situation events emitted by IBM Business Monitor and other applications. The actions are based on user-defined action templates.

For example, assume that within a business process, you want to detect a particular business situation when it happens and be notified that it has occurred. First, you must define the particular business situation that you want to detect (for example, when a metric exceeds its acceptable threshold). Then, you define one or more events to be emitted when this situation occurs.

After the monitor models are deployed, each time the situation occurs, an event is emitted, which is detected by the monitor action services. The monitor action services component dispatches a notification of the business situation and takes one or more user-defined actions to address the situation.

To ensure that the notifications and actions take place, you must perform the following tasks:
  • Define the business situation and events to be emitted when the situation occurs.
  • Define templates for the action services that you want to invoke as a result of the event. The templates are used by an action handler such as an alert handler or mail handler to start the action services that send a dashboard alert or a mail event. The delivery channel for the alerts can be the following types:
    • Dashboard alert
    • Email
    • Cell phone (email address)
    • Pager (email address)
  • Bind the situation events with the template definitions. The binding defines the configuration used at run time so that Monitor action services can determine what actions must be invoked upon receiving the situation event.

When monitor action services receives those situation events, it invokes the action identified by the template definitions bound to the situation event and notifies you of the situation as you specified.

Monitor action services uses Federated repositories to locate user information to enable it to send notifications. Federated repositories can be configured to use a number of user registries such as Lightweight Directory Access Protocol (LDAP), file-based user registry, and custom user registry. Monitor action services can also use an explicitly supplied user ID or email address to send notifications, which is useful in an integrated test environment.

Monitor action services:
  • Receives situation events and invokes one or more action services.
  • Administers the configuration of templates and event-to-action service bindings.
  • Emits events before and after action invocation.
  • Supports the following action service types:
    • Notification
    • Invocation of a web service

REST APIs

The Representational State Transfer (REST) APIs are public APIs that you can use to extract monitor data or to create custom dashboards and reports based on monitor data. The REST implementation allows for easy to use HTTP services that are language- and platform-independent, stateless, scalable, and easily parsed. The REST APIs are extremely useful for creating AJAX-style web applications, in the same vein as the Monitor dashboards.

REST Services provide a set of Uniform Resource Identifiers (URIs) that allow you to interact with Monitor resources such as monitoring context definitions, key performance indicators (KPIs), and instance data. The services, which can be invoked by any HTTP client application, define an expected response in the form of a JavaScript Object Notation (JSON) object. The JSON format can be easily parsed and consumed by JavaScript and other products, tools, and languages, which allows you greater flexibility in using IBM Business Monitor in your own environment.

Many of the services take a simple HTTP GET URI as input. More complicated services take a JSON input HTTP GET (for retrieval), POST (for create) or PUT (for update). Results are typically returned in JSON, with the exception of services that are naturally XML-based, such as the diagram service, which returns an SVG XML document. Any error messages and status indicators are returned in the HTTP response as JSON output.