Chapter 6
257
When used for integration, an enterprise very likely requires that all partici
pating EIS systems communicate with each other by sending messages via the
messaging system. As a result, enterprises typically standardize on one vendor for
their MOM system, and they use that vendor's adapters to accommodate their
various EISs. In return, enterprises using messaging systems gain the benefits of
asynchronous messaging calls: Messages are queued and delivered when the
target system is available without constraining the sending system. The asynchro
nicity of messaging systems means that communicating applications need not be
currently running to receive messages. This protects the communicating applica
tions from system failures and other types of partial outages, conditions that are
not uncommon in network situations.
Messaging systems also bring a dynamic quality to EIS systems. Components
can be added or removed to the network without affecting other systems. Systems
do not need to have their throughputs perfectly match since they can interact with
the messaging system at their own pace. For example, if one application sends
messages more rapidly than the receiving application can retrieve these messages,
the messaging system keeps these messages in the queue indefinitely. As a result,
good overall throughput is achieved since each part of the system can work at its
optimum capacity.
Furthermore, messaging technology is considered a fairly mature technology.
Most MOM systems provide a number of quality of service features, such as reli
able once and only once delivery, load balancing, scalability, fault tolerance, and
transactional support.
However, the proprietary nature of MOM systems results in some significant
disadvantages. Since they use proprietary protocols over the network, it is usually
more difficult to mix and match MOM products from different vendors. Although
messaging systems decouple the sender and receiver and permit communicating
parties to run on different hardware and software platforms, they fall short of
achieving true interoperability because they tie developers to their proprietary
APIs to send and receive messages. As a result, application developers must cus
tomize their applications for different MOM systems.
6.2.2.2
Java Message Service
The Java Message Service (JMS) API, a standard Java API defined for enterprise
messaging systems, can be used across different types of messaging systems. A Java
application uses the JMS API to connect to an enterprise messaging system. Once
connected, the application uses the facilities of the underlying enterprise messaging
<
New Page 1
Clan Web Hosting