One of the goals of service-oriented architectures is to design application infrastructure that more closely matches business processes. These business processes often involve exchanges with multiple systems. For example, placing an order for a product can involve exchanges with an inventory system as well as an accounting system. When service consumers and producers are communicating with each other in a coordinated fashion to accomplish a business process, it is called a transaction.
Transactions are central to many businesses that have implemented service-oriented architectures for their information systems. Monitoring the performance and metering the usage of transactions based on Web service technology can be a challenge. This can be further complicated by the evolving technologies and standards used by vendors to implement transactions in the service-oriented infrastructure. JaxView provides operations management the capability of monitoring SOAP transactions.
A transaction instance is an instance of the sequence of messages required to complete the steps of a business process. The loosely-coupled nature of Web services presents a challenge to controlling and coordinating the steps of transactions. The details of how message coordination is implemented can vary. The transaction monitor supports WS-Transaction and WS-Coordination protocols. In general, the messages are associated with each other by way of context data that is included as part of the message payload. JaxView uses this context to identify transaction instances for monitoring and reporting purposes. There may also be transaction-specific notification content within the messages. This notification content is often used to communicate success or failure states for transaction steps. JaxView can be configured to monitor message for select notification content and use this in the event threshold logic for the monitor.
There are two types of transaction monitors in JaxView:
|
Type |
Description |
|---|---|
|
Monitors messages received by JaxView for a sequence of steps related by a specified message context pattern. |
|
Actively sends a sequence of synthetic requests to a group of services or operations to test for system availability and performance. |
It is important to note that Generic SOAP Transaction monitoring is passive. JaxView does not synthesize the requests for the steps of the transacation to the service endpoints. For this monitor type, JaxView is simply listening to messages being exchanged in the service infrastructure and looking for sequences of monitored messages that are related by the sequence in which they are executed and the context data they share. The Multi-step Transaction HeartBeat monitor type does generate message traffic to the applicable services.
Transaction monitoring is unique in JaxView in that transaction monitor object are not displayed in the Services tab. You use the Transactions tab to work with transaction monitoring in JaxView. The Transactions tab is divided in to two main sections. On the left side is the Transactions object tree that you use to add, edit and navigate to Transaction definitions. On the right is a display panel you use to edit Transaction definitions or view transaction results as recorded by JaxView. The following sections describe how you work with transactions in JaxView.
The Transactions object tree is a hierarchy of transaction definition objects defined in JaxView.
The contents of the right side display panel of the Transactions page is determined by the context selected in the left Transactions object tree. Each object node in the left Transactions object tree includes an action menu that you access by selecting the node and then use the right mouse click to display the node action menu. The following table describes the nodes in the tree and their associated actions:
| Object Node |
Action Menu Item |
Description |
|---|---|---|
| Transactions Root node |
Add New Transaction |
Add a new Transaction definition to the Transactions object tree |
|
|
Add New Group |
Adds a new group to the transaction tree |
| Transaction definition node |
Add Rule |
Add a new rule definition to the Rules object tree |
| Assign Rule |
Assign a rule definition to the selected Transaction definition |
|
| Edit Transaction |
Edit the selected Transaction definition |
|
| Delete |
Delete the selected Transaction definition from the Transactions object tree |
|
| Enable |
Enable the selected Transaction definition (if it has been previously disabled) |
|
| Disable |
Disable the selected Transaction definition. |
|
| Move To Group | Move this transaction to a new group. If left blank it will be moved under root | |
| Group Definitaion node | Edit | Edit this group |
| Add Subgroup | Adds a new sub group under this group | |
| Move To Group | Moves this group under a new group as sub group | |
| Delete | Deletes this group and moves the transactions in this group under root node |
Clicking on a node in the Transactions object tree displays the View Transaction table for the node content in the right panel. This table is the history of the transaction as monitored by JaxView . The following figure is an example of an View Transaction table displayed in the right side panel when either the Transaction Root node or a specific transaction definition node is selected.

The View Transaction tables include seven columns of data. The following describes the table contents.
See the section SOAP Transaction Monitor for the steps you use to create a passive SOAP transaction monitor. See the section Multi-step Transaction HeartBeat for the steps you use to create an active SOAP transaction monitor.