160 Managing Information Access to an EIS Using J2EE and Services Oriented Architecture
6.5 Qualities of service for integration using JMS
The first sections of this chapter discussed the functional characteristics of MOM.
Qualities of service refers to the non-functional requirements on a messaging
infrastructure.
The basic non-functional requirements such as security, high-availability, and
performance are addressed in various publications and redbooks. This section
focuses on transactions in a mixed application server and messaging
environment. Furthermore, it discusses management and problem determination
in a complex messaging infrastructure.
6.5.1 Transactions
Business processes that are implemented in new composite applications and
that integrate with legacy EIS systems often require transactional behavior
across all components and systems. For instance, in our trading firm scenario,
the debit of the customer’s account and the ordering request and its confirmation
are tightly coupled. If the ordering request fails, the debit must be rolled back,
because customers typically complain if their account is debited although no
stock is added to their portfolio.
From a business perspective, the sending of the request message from the
business process, the transport of the message over the network, the invocation
of the business process, and the sending and receiving of the confirmation
message must form a single transaction. From a technical perspective, the
requirement results in a distributed transaction across business process,
integration components, and EIS system. Although distributed transactions
involving physically remote systems are technically possible, a number of issues
are related to this approach. Among others, performance of distributed
transactions over a network is often poor because of the complex interaction
patterns that are required (for example, for the XA protocol).
A better solution is provided by MOM. The overall transaction scope is split into
multiple transactions of smaller scope. Figure 6-14 on page 161 depicts the
logical architecture of the integration building block that uses JMS including the
MOM. The basic idea is to rely on the MOM’s ability to guarantee the delivery of
a message once it is handed over to the MOM. This characteristic, often referred
to as
assured delivery, allows you to split the actual technical transaction into
three separate transactions of local scope. Hand-over of the message from
application server to the MOM is the first transaction, delivering the message to
the application server on the EIS host and sending the reply back to the MOM is
the second, and finally, another transaction is required to receive the reply in the
application server.