Transactional middleware, such as TP monitors and application servers, does a commendable job of coordinating information movement and method sharing between many different resources. However, although the transactional paradigm this middleware employs provides an excellent mechanism for method sharing, it is not as effective at simple information sharing-the primary goal of B2B application integration. For example, transactional middleware tends to create a tightly coupled B2B application integration solution, while messaging solutions tend to be more cohesive. In addition, in order to take advantage of transactional middleware, the source code in target applications has to be changed.
In truth, TP monitors are first-generation application servers as well as a transactional middleware product. They provide a mechanism to facilitate the communications between two or more applications and a location for application logic. Examples of TP monitors include Tuxedo from BEA Systems, MTS from Microsoft, and CICS from IBM.
The TP monitor performs two major services. On one side, a TP monitor provides services that guarantee the integrity of transactions (a transaction service). On the other side, a TP monitor provides resource management and runtime management services (an application server). The two services are orthogonal.
TP monitors provide connectors to resources such as databases, other applications, and queues. These connectors are typically low-level connectors that require some sophisticated application development in order to communicate with these various resources. Once connected, these resources are integrated into the transaction and leveraged as part of the transaction. As a result, they are also able to recover if a failure occurs.
TP monitors are unequaled when it comes to supporting a high transaction-processing load and many clients. They take advantage of queued input buffers to protect against peaks in the workload. If the load increases, the engine is able to press on without a loss in response time. TP monitors can also use priority scheduling to prioritize messages and support server threads, thus saving on the overhead of heavyweight processes. Finally, the load-balancing mechanisms of TP monitors guarantee that no single process takes on an excessive load.
The fastest-growing segment of the middleware marketplace is defined by the many new products touting themselves as application servers. What's interesting about this is that application servers are nothing new (and TP monitors should be considered application servers because of their many common features). Most application servers are employed as Web-enabled middleware, processing transactions from Web-enabled applications. What's more, they employ modern languages such as Java instead of traditional procedural languages such as C and COBOL (common with TP monitors). To put it simply, application servers provide not only for the sharing and processing of application logic, but also for connecting to back-end resources. These resources include databases, ERP applications, and even traditional mainframe applications. Application servers also provide user interface development mechanisms. Additionally, they usually provide mechanisms to deploy the application to the platform of the Web.
Application server vendors are repositioning their products as a technology that solves B2B application integration problems (some without the benefit of a technology that works!). Since this is the case, application servers and TP monitors are sure to play a major role in the B2B application integration domain. Many of these vendors are going so far as to incorporate features such as messaging, transformation, and intelligent routing, services that are currently native to message brokers. This area of middleware is in the throes of a genuine revolution.
Dig Deeper on Topics Archive
Related Q&A from David Linthicum
David Linthicum explains what advanced business application programming (ABAP)/4 means. Continue Reading
David Linthicum defines Service Component Architecture (SCA) and Service Data Objects (SDO) and explains how to best build these components to enable... Continue Reading
David Linthicum explains how it is possible that Apache Tomcat is both a Web server and an application server. Continue Reading