Newsletter sign-up
View all newsletters

Sign up for our technology specific newsletters.

Enterprise Java
Email Address:

JMS: An infrastructure for XML-based business-to-business communication

Learn how the Java Messaging Service can provide a flexible, reliable, and secure means of exchanging XML-based transactions

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone

Page 2 of 7

Enter JMS

Virtually all XML-based B2B transactions will take place in a loosely coupled environment such as the one outlined above, where connectivity can't be guaranteed, unpredictable latency is the course of the day, transactions require security, and the frenetic pace of business demands constant change. Inserting Java messaging between business nodes in a B2B network insulates your application code from these issues. The Java Message Service (JMS) specification addresses the demands of loosely coupled distributed systems in a coherent manner. JMS offers an API and a set of semantics that prescribe the interface and general behavior of a messaging service. The underlying wire protocol is not specified by JMS, but, in practice, Java messaging is often performed over TCP/IP or HTTP. Java messaging solutions that conform to the JMS specification provide the implementation of JMS behavior over these protocols.

Of the Java messaging solutions currently available, there are two architectural approaches: a standalone messaging server or a JMS service embedded within an application server. A standalone JMS server allows the developer to place messaging servers where they can optimize network bandwidth usage and topology, provide fail-safe operation, or incorporate the messaging server infrastructure entirely within a value-added application. In contrast, integrating JMS as an additional service within an application server environment offers the convenience of a single solution, though without the flexibility described above.

A foundation for evolving business systems

The benefits of a Java messaging infrastructure extend far beyond communications reliability and security. The pairing of XML and Java messaging promotes highly flexible and scalable designs that can better accommodate the rapid change that distributed systems face in today's business environments. Data represented in XML is intrinsically polymorphic -- that is, the same data can be used in a variety of contexts. By designing an XML schema, developers are planning for this eventuality; therefore, they typically design XML content in a highly cogent, reusable manner. This philosophy maps directly onto the design of a distributed application with messaging at its core. Distributed systems built upon messaging are inherently polymorphic. They can easily be extended and refactored, largely due to the decoupling of events from processing semantics.

Consider the case of an insurance company datacenter that must provide information on new rate plans as they are created and approved. The immediate requirement is to publish new rate-plan information to a specific client application outside the datacenter in order to accommodate the needs of a specific sales department. With Java messaging, this information can be sent to the client by publishing XML messages to what in JMS parlance is referred to as a topic. These XML messages are then retrieved by the client application through subscription to the designated topic (we'll discuss messaging models, topics, subscriptions, and the like in more detail later).

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Comment
Login
Forgot your account info?
Add comment
Anonymous comments subject to approval. Register here for member benefits.
Have a JavaWorld account? Log in here. Register now for a free account.
Resources
  • Other JavaWorld articles related to JMS