Business transaction monitoring

Business transaction monitoring involves monitoring a message across multiple message flows, so you can track and report the lifecycle of a payload message through an end-to-end enterprise transaction.

Business transaction monitoring enables you to track the outcomes of work passing through a message flow, allowing you to see which aspects of your business transaction are working correctly and which aspects are failing.

The following terms describe aspects of business transaction monitoring:
Business transaction
A self-contained business function; for example, the booking of an airline ticket. A business transaction might be implemented as multiple user transactions or activities.
Business transaction instance
One instance of a business transaction. Multiple instances of a business transaction can be running concurrently, such as when multiple customers are booking airline tickets.
Business transaction definition
The definition of the business transaction, which you create in the web user interface. The business transaction definition defines which flows are part of your business transaction. It also describes which monitoring events signify the start and end of the business transaction, which events show that a business transaction is in progress, and which events correspond to a failure in the transaction.
Business transaction event
A monitoring event that signifies the start, end, or failure of a business transaction or shows how the transaction is progressing. Monitoring events are defined for the message flows in your business transaction. When you create a business transaction definition, you select appropriate monitoring events and flag them as start, end, failure, or progress business transaction events. Not all monitoring events need to be flagged as business transaction events.

A start business transaction event typically corresponds with an input node in a message flow. This event signifies that when a message is received on that input node, the business transaction starts.

An end business transaction event typically corresponds with a transaction end event for an input node. This event signifies that when a message reaches the end of that flow, the business transaction is complete.

A failure business transaction event typically corresponds with a node that handles error processing. This event signifies that when a message reaches this node, the business transaction has failed.

A progress business transaction event can correspond with any type of node in a message flow. This event signifies that a message has reached a particular node in the flow.

These business transaction events are used to show the progress of a business transaction on the View tab of the business transaction monitor:
  • If a start event is issued for a business transaction, but the end event or failure event is not yet issued, that business transaction instance is shown as being In progress.
  • If an end event is issued for a business transaction, that business transaction instance is shown as having Ended.
  • If a failure event is issued for a business transaction, that business transaction instance is shown as having Failed.
  • If an in-progress event is received after an end event, the business transaction is shown as being Inconsistent. Other situations can also result in an inconsistent business transaction.

You can use business transaction monitoring to track the lifecycle of a message through an end-to-end enterprise transaction. Business transaction monitoring uses events that are emitted from message flows, and a transaction is correlated across a set of events using the global transaction ID that is defined in an event. The global transaction ID can be inferred from an upstream node by using the Automatic property, or you can set it explicitly with an XPath expression.

Tip: It is not necessary to flag all monitoring events in a business transaction as business events, and doing so can adversely affect the performance of business transaction monitoring. The extent to which performance is affected depends on the number and complexity of business transaction events, and the rate at which they are being processed. When business events are emitted by the flows, they are read from MQ topics and put to an MQ queue, which is defined in the default DataCapture policy as: <queueName>SYSTEM.BROKER.DC.RECORD</queueName>. Performance of the business transaction monitor can be impacted if the business events are emitted to the queue faster than they can be written to the database. To improve performance, focus on flagging events that occur in error conditions, so that you can monitor when and why a business transaction might have failed.

For event monitoring, the presentation of data is event-oriented. For business transaction monitoring, presentation of data is transaction-oriented. Initially, business transaction data is presented as a summary of transactions. You can then view the details of the business transaction, the system-level transactions, and a list of events by inspecting individual transactions.

The web user interface is used to monitor business transactions. You create a business transaction definition to identify the message flows that form the business transaction, and define how they interact with each other. You can view the monitoring events that are defined for the message flows that make up the business transaction. Some of these events are significant to the business transaction. The business transaction definition defines how these events apply to the business transaction. Existing monitoring events can be selected as start, end, and failure events in the business transaction.

A default DataCapture policy specifies information to be used by the business transaction definition, such as the database location where the business data is stored. You set the database location by specifying the data source name in the Configure tab of the business transaction monitor when you create the business transaction definition; the default DataCapture policy is updated with the new data source name as a result. It is not necessary to make any other changes to the default DataCapture policy; however, if you want to change any other properties in the policy, you can modify it by using an external editor. For information about how to modify the policy, see Updating the default DataCapture policy. For more information, see Creating a business transaction definition and DataCapture policy.

The results of business transactions can also be viewed in the web user interface. You can see which instances of business transactions are in progress, which instances completed successfully, and which instances failed. Detailed information is also shown for the transaction-specific events of a business transaction.

The business transaction monitor in the web user interface has three tabs: Define, Configure, and View.

The Define tab

Use this tab to define the message flows that participate in the transaction, and to define the events that are significant to the business transaction. For an event to be part of a business transaction, the event must be configured so that it has a global transaction ID specified in the Correlation tab. This can be automatic or set to a value derived from the message. The Define tab consists of three sections: the business transaction, the message flow, and the business transaction event definitions.
Business transaction
The business transaction section contains a graphical representation of the message flows that took part in the business transaction.
You can add to the business transaction any message flows that have been deployed to your integration node, and the system analyzes those flows. A warning icon is shown if correlation information or monitoring events are not defined for a flow. A business transaction events icon is shown if at least one business transaction event has been defined on the flow:
This graphic shows that business events are defined for a message flow.
A green tick indicates that the flagged events in the flow are correctly configured.
Message flow
When you select a message flow from the Business Transaction section, the Message Flow section shows the nodes and connections in that flow. An icon is shown on the nodes for which monitoring events are defined:
This graphic shows that a monitoring event is defined for the selected node.
Business transaction event definitions
The event definitions table shows the event definitions for the business transaction, or for a particular message flow if you selected one. Hover the cursor over the Details column to see detailed information for that event.

From the list of available events shown in the events table, you can select the role that an event has in the business transaction.

The Configure tab

Use this tab to show the data source name that is used for recording events in your business transaction, and to show the monitoring status of message flows.

If a data source name has been set for the business transaction definition, the name is shown in this tab. You can select a different data source name by clicking Click here to modify the data source name, and then selecting the required name from the list that is displayed in the Data source configuration section of the Configuration window.

If no data source name has been specified for the business transaction definition, click Click here to specify a data source name, and then select the required data source name from the list that is displayed.

If you have selected message flows for which flow monitoring has not been enabled, a warning message is shown. You can enable flow monitoring in the web user interface at a message flow level, application level, or integration server level from the Servers section in the navigator.

The View tab

Use this tab to see instances of the business transaction, and the status of those instances and associated events. To show all the latest business transactions, click Refresh. Alternatively, you can show only the instances that have a particular status, or instances with a specified global transaction ID, by clicking Filter and then specifying the selection criteria. For more information, see Filtering business transaction monitoring information.

The View tab consists of two sections: Transaction results and Detailed events.

Transaction results
The transaction results section lists all instances of a business transaction. For each instance, you can see the following information:
  • Transaction ID
  • Start time
  • Time when the last update was received
  • Status (whether the instance is still in progress, or has ended or failed).

To show only the instances that have a particular status, or instances with a specified global transaction ID, click Filter and then specify the selection criteria. For more information, see Filtering business transaction monitoring information.

Detailed events
Select one of the transaction instances in the transaction results section to view information about the events for that instance.