The Java Message Service is a Java API used for sending and receiving messages. It is vendor-independent, and is used almost universally in enterprise messaging systems such as that included in Java CAPS. JMS provides a standard, currently embodied in the JMS version 1.1 specification, which is an integral part of the Java Enterprise Edition (Java EE) Platform 5. The features of the JMS version 1.1 specification have been widely adopted in the Java CAPS JMS implementation, as described in this document. The use of JMS allows loosely coupled, reliable, asynchronous interactions among Java EE components and legacy systems capable of messaging.
Version 1.1 of the JMS API includes the following features:
Message-driven beans, which enable the asynchronous consumption of JMS messages
Message send and receive calls that can participate in Java Transaction API transactions
Java EE Connector Architecture (JCA) interfaces that enable JMS implementations from different vendors to be externally plugged into a Java EE 5 application server
Additionally, the Java EE platform’s Enterprise JavaBeans (EJB) container architecture provides the following enhancements the JMS API:
Concurrent consumption of messages
Support for distributed transactions, so that database updates, message processing, and connections to EIS systems using the Java EE Connector Architecture can all participate in the same transaction context
JMS message servers provide the global messaging protocols, such as the routing and delivery of messages, and connection to the JMS database.
By default, Sun Enterprise Service Bus contains the following message server options:
Sun Java System Message Queue
Sun JMS IQ Manager
The Sun Java System Message Queue is the current default message server for Java CAPS 6.
The Sun JMS IQ Manager was the default JMS message server implementation for Sun SeeBeyond eGate Integrator, the predecessor to Sun Enterprise Service Bus. This software is installed automatically if you select Complete when installing from the GUI, or as an option if you use any other installation method. The JMS IQ Manager conforms to the Java Message specification 1.1 and supports both topic (publish-and-subscribe) and queue (point-to-point) messaging styles. Inside the JMS IQ Manager includes information about how the JMS IQ Manager processes messages, in concert with the JMS clients. JMS IQ Manager Runtime Configuration provides detailed information about the JMS IQ Manager property options.
A message destination is a container for stored data, and can follow either the JMS topic or queue model.
A topic is a message destination that conforms to the publish-and-subscribe messaging paradigm
A queue is a message destination that conforms to the point-to-point messaging paradigm
Each message destination has at least two JMS Clients associated with it: a producer client at its input, and a consumer client at (each) output. JMS message destinations are discussed in Developing Java CAPS Projects.
JMS clients provide the local messaging protocols, such as message persistence and delivery semantics, for messages being propagated between Project components. Together with the JMS message server, they constitute a JMS provider.
JMS clients are of two basic types, producers and consumers, or a combination of both. If associated with a queue, these types become queue senders and receivers, respectively. If associated with a topic, they become topic publishers and subscribers, respectively.
JMS client configuration is discussed in JMS Client Configuration.
The JMS Object Type Definition (OTD) acts as a “wrapper” around a message or connection, allowing Collaborations to read from and write to topics or queues. It indicates to the Collaboration which topic or queue it expects to receive messages from or send messages to, and allows you to build the JMS business rules. The JMS OTD and its properties are discussed in JMS Object Type Definitions. JMS OTD methods are described in JMS OTD Methods and JMS Message Methods.
JMS methods are contained in the JMS library file. In Java CAPS 6, this file is located in the following path:
…\appserver\domains\domain1\lib\com.stc.jms.stcjms.jar |