INETCO has introduced the Unified Transaction Model (UTM) – this is Part 2 of the introductory blog posting. Read Part 1 here.
The basic UTM implementation comprises four levels:
- Business level – business processes that employ applications
- Application level – end-to-end applications interacting with users
- IT services level – inter-operating processes running on nodes
- Network level – nodes with interfaces connected via a network
The network level is the most elementary. It corresponds to a distributed network connected infrastructure of servers (or virtual machines). Each server constitutes a node in the network level where the nodes are inter-connected via networks. The UTM describes a link as any pair of nodes that are communicating. The nodes exchange packets that define network messages. Sets of exchanged packets compose link transactions. A link transaction defines a network event such as a connection setup or tear down, or the transfer of a data payload between nodes.
The service level describes IT services. Each service is at least a pair of processes, each running on a network node, exchanging application messages. An IT service represents a specific set of functionalities that may be employed by other services. Each service is composed of one or more network links and a collection of inter-connected services forms a service topology. A specific exchange of application messages between the nodes of an IT service defines a service transaction. A typical service transaction is a request/response message pair between a browser client and a Web service.
The application level defines end-to-end applications in terms of an end-user. An application is composed of one or more IT services that are configured to inter-operate. In most cases, a given application is defined by a particular group of end-users who are interacting with the system via an interface service (ex. Web service, thick client, mobile). The end-user performs actions at the interface that subsequently triggers transactions within other services. For example, an end-user might log in, select an item for download, or perform a search. The set of service transactions related to a specific end-user action composes an application transaction.
The business level describes the activities of an end-user in terms of a particular business goal. A business has certain objectives which are at least partially fulfilled through the interaction of users with applications. A sequence of end-user actions may result in a high level goal being achieved – for example, the transfer of money from one bank account to another, the purchase and delivery of a book, or the answer to a question such as the birth date of 3rd president of the United States. An end-user will follow a series of steps or a workflow to to achieve the goal. Each step accomplished through an application corresponds to an application transaction. A business transaction then is composed of a set of application transactions.
Implemented in a network-based transaction monitoring or business transaction management system, the UTM defines and organizes different transaction types. It provides a means for mapping the services and infrastructure elements of a distributed application into distinct and recognizable entities. The network traffic between nodes provides the basis for constructing transaction events according to type and relating them to the elements of the resulting IT service topology across a hierarchy of levels. As a direct consequence, both the statistical and individual performance of transactions at a high level can be directly related to performance at lower levels – for example, measures of degraded end user experience can be traced to poorly performing services or even to network issues arising between services.
Consequently, application operations teams can constantly monitor the end-to-end performance of an application while maintaining detailed shareable information at the level of servers and the network. Degraded performance is quickly detected and causes identified and isolated. Further, the UTM provides for distinct performance metrics on each of the levels so that different teams can measure system performance in terms specific to their responsibilities – network, service, application and business.
The UTM framework transforms the complexity and opacity of modern applications into ordered and visible meaning. It maps physical and virtual IT infrastructure into well-defined entities that have explicit relationships with one another within a hierarchical framework. Further it defines the functional nature of applications that run on the infrastructure and the types of events that take place within the framework. The events are kinds of transactions that take place at different degrees of granularity, with higher-level transactions composed of lower-level transactions. With this approach, the UTM can account for performance at multiple levels of the distributed application, from the network to the service components to the end-user experience, and simplify troubleshooting and diagnostic processes.