23.07.2013 Views

O'Reilly - Java Message Service

O'Reilly - Java Message Service

O'Reilly - Java Message Service

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Java</strong> <strong>Message</strong> <strong>Service</strong><br />

Figure 7.2. Using CLIENT_ACKNOWLEDGE, a JMS consumer can still ensure reliability<br />

when bridging to other protocols<br />

It is important to know that end-to-end quality of service may not be guaranteed when<br />

using bridges to other protocols. In Figure 7.2, the HTTP send may succeed, yet the<br />

acknowledge( ) may fail.<br />

7.5 Bridging to Other Messaging Systems<br />

JMS does not provide for interoperability between JMS providers. A JMS client from one<br />

vendor cannot talk directly to a JMS server from another vendor. Interoperability between<br />

vendors was not a goal of the specification's creators, since the architecture of messaging<br />

vendors can be so vastly different. One solution to this problem is to build a connector<br />

process that is a client of both providers. Its sole purpose is to act as a pass-through<br />

mechanism between the two providers, as shown in Figure 7.3. This is one of the reasons<br />

why the message itself is required to be interoperable between vendors, as explained in<br />

Chapter 3. The message need not be recreated as it is passed along to the other JMS client.<br />

Figure 7.3. Connecting from one JMS provider to another is a simple pass-through process<br />

that is a client of both<br />

End-to-end quality of service should be a consideration when building or using such a<br />

bridge. The robustness of JMS vendor-provided bridges may vary in this respect.<br />

Since JMS is a standard, and it is easy enough to remove one vendor's implementation and<br />

swap in another one, you may ask "Why would anyone want to do this?" The main reason<br />

today is to bridge an IBM MQSeries legacy application with an application that is based on<br />

a more modern JMS provider.<br />

120

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!