O'Reilly - Java Message Service
O'Reilly - Java Message Service
O'Reilly - Java Message Service
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