Introduction

Message-Oriented Middleware (MOM) has been a vital element for integrating enterprise applications for quite a long time. MOM allows enterprise systems to be composed of self-contained independent entities that are loosely coupled to each other thereby providing flexibility, extensibility, and minimal mutual impact. Products like MSMQ and MQSeries have provided proprietary solutions to meet the various enterprise messaging requirements.

With the emergence of Java as a platform for developing and deploying enterprise applications the need for defining a standard way for Java language programs to participate in enterprise messaging became quite evident. The Java Message Service (JMS) defines a standard way for Java language programs to create and exchange enterprise messages. JMS also provides a standard way for Java language programs residing in the various tiers of enterprise applications to access the services of products from traditional MOM vendors.

JMS, like other enterprise Java APIs, specifies a set of interfaces that define the various entities associated with enterprise messaging. JMS providers are software products that implement these interfaces and provide enterprise messaging solutions. JMS based enterprise systems typically comprise a set of JMS clients exchanging messages with each other by connecting to a central JMS provider.

Traditional MOM products provided a plethora of proprietary features like message creation, asynchronous and synchronous message delivery, message persistence, guaranteed delivery, message prioritization, message broadcasting, etc. JMS provides the common features provided by all the traditional MOM vendors.

The various messaging features provided by JMS include:

  • Point-to-Point messaging based message queues

  • Publish/Subscribe messaging based on topic hierarchy

  • A set of message interfaces to support different message format requirements

  • Synchronous and asynchronous message delivery

  • Persistent messages

  • Support for transactions

JMS also seamlessly integrates with most of the other enterprise Java APIs like JDBC (Java Database Connectivity), EJB (Enterprise Java Beans), JTA (Java Transaction API), JTS (Java Transaction Service), JNDI (Java Naming and Directory Interface), JSP (Java Server Pages), and servlets:

  • JMS clients can demarcate messaging instructions and JDBC calls using the same transaction

  • Servlets and JSPs can use JMS for sending and receiving messages

  • EJB 2.0 specified message-driven beans can respond to asynchronous JMS messages

  • JNDI can be used for storing and retrieving configured JMS objects

  • JMS clients can use JTA to transactionally demarcate the sending and receiving of JMS messages

  • JTS can be used to include JMS messages in distributed transactions along with other JTS-compliant services like database calls

What's Covered in this Book

In this book we will be covering the fundamentals of JMS programming as well as the advanced JMS concepts on interfacing JMS with the other enterprise Java APIs. Specifically we will be looking at:

  • The JMS fundamentals, including the notions of a JMS message, topics, queues, connections, sessions, producers, and consumers

  • The two JMS messaging models: Point-to-Point and Publish/Subscribe

  • Web messaging

  • EJB messaging

  • The use of JMS in clustered architecture

  • Distributed logging using JMS

  • JMS and XML messaging

  • Implementing a wireless JMS system

  • The main JMS providers



Professional JMS
Professional JMS
ISBN: 1861004931
EAN: 2147483647
Year: 2000
Pages: 154

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net