FACTOID # 20: The United States has the most money, airports, radios and Internet Service Providers.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

Encyclopedia > Java Message Service

The Java Message Service (JMS) API is a Java Message Oriented Middleware (MOM) API for sending messages between two or more clients. JMS is a specification developed under the Java Community Process as JSR 914. Image File history File links Broom_icon. ... Image File history File links Please see the file description page for further information. ... An editor has expressed a concern that the subject of the article does not satisfy a proposed guideline for notability (see Wikipedia:Notability (software)). If you are familiar with the subject matter, please expand the article to establish its notability. ... An application programming interface (API) is a source code interface that a computer system or program library provides to support requests for services to be made of it by a Length. ... Java is a programming language originally developed by Sun Microsystems and released in 1995. ... To meet Wikipedias quality standards, this article or section may require cleanup. ... In computing, a client is a system that accesses a (remote) service on another computer by some kind of network. ... The Java Community Process or JCP, established in 1995, is a formalized process which allows interested parties to be involved in the definition of future versions and features of the Java platform. ...

Contents

Version history

is the 176th day of the year (177th in leap years) in the Gregorian calendar. ... Year 2001 (MMI) was a common year starting on Monday (link displays the 2001 Gregorian calendar). ... is the 77th day of the year (78th in leap years) in the Gregorian calendar. ... For album titles with the same name, see 2002 (album). ...

JMS Elements

The following are JMS elements:[1]

JMS provider
An implementation of the JMS interface for a Message Oriented Middleware (MOM). Providers are implemented as either a Java JMS implementation or an adapter to a non-Java MOM.
JMS client
An application or process that produces and/or consumes messages.
JMS producer
A JMS client that creates and sends messages.
JMS consumer
A JMS client that receives messages.
JMS message
An object that contains the data being transferred between JMS clients.
JMS queue
A staging area that contains messages that have been sent and are waiting to be read. As the name queue suggests, the messages are delivered in the order sent. A message is removed from the queue once it has been read.
JMS topic
A distribution mechanism for publishing messages that are delivered to multiple subscribers.

To meet Wikipedias quality standards, this article or section may require cleanup. ...

JMS models

The JMS API supports two models:

In the point-to-point or queuing model, a producer posts messages to a particular queue and a consumer reads messages from the queue. Here, the producer knows the destination of the message and posts the message directly to the consumer's queue. It is characterized by following: This article or section does not cite its references or sources. ... The observer pattern (sometimes known as publish/subscribe) is a design pattern used in computer programming to observe the state of an object in a program. ...

  • Only one consumer will get the message
  • The producer does not have to be running at the time the receiver consumes the message, nor does the receiver need to be running at the time the message is sent
  • Every message successfully processed is acknowledged by the receiver

The publish/subscribe model supports publishing messages to a particular message topic. Zero or more subscribers may register interest in receiving messages on a particular message topic. In this model, neither the publisher nor the subscriber know about each other. A good metaphor for it is anonymous bulletin board. The following are characteristics of this model:

  • Multiple consumers can get the message
  • There is a timing dependency between publishers and subscribers. Publisher has to create a subscription in order for clients to be able to subscribe. Subscriber has to remain continuously active to receive messages, unless it has established a durable subscription. In that case, messages published while the subscriber is not connected will be redistributed whenever it will reconnect.

Using Java, JMS provides a way of separating the application from the transport layer of providing data. The same Java classes can be used to communicate with different JMS providers by using the JNDI information for the desired provider. The classes first use a connection factory to connect to the queue or topic, and then use populate and send or publish the messages. On the receiving side, the clients then receive or subscribe to the messages. In object-oriented programming, a class is a programming language construct that is used to group related instance variables and methods. ... The Java Naming and Directory Interface (JNDI) is an API for directory service that allows clients to discover and lookup data and objects via a name. ...


JMS API

The JMS API is provided in the Java package javax.jms. A Java package is a Java programming language mechanism for organizing classes into namespaces. ...


ConnectionFactory interface

An administered object that a client uses to create a connection to the JMS provider. JMS clients access the connection factory through portable interfaces so the code does not need to be changed if the underlying implementation changes. Administrators configure the connection factory in the Java Naming and Directory Interface (JNDI) namespace so that JMS clients can look them up. Depending on the type of message, users will use either a queue connection factory or topic connection factory. The Java Naming and Directory Interface (JNDI) is an API for directory service that allows clients to discover and lookup data and objects via a name. ...


Connection interface

Once a connection factory is obtained, a connection to a JMS provider can be created. A connection represents a communication link between the application and the messaging server. Depending on the connection type, connections allow users to create sessions for sending and receiving messages from a queue or topic.


Destination interface

An administered object that encapsulates the identity of a message destination, which is where messages are delivered and consumed. It is either a queue or a topic. The JMS administrator creates these objects, and users discover them using JNDI. Like the connection factory, the administrator can create two types of destinations: queues for Point-to-Point and topics for Publish/Subscribe. The Java Naming and Directory Interface (JNDI) is an API for directory service that allows clients to discover and lookup data and objects via a name. ...


MessageConsumer interface

An object created by a session. It receives messages sent to a destination. The consumer can receive messages synchronously (blocking) or asynchronously (non-blocking) for both queue and topic-type messaging.


MessageProducer interface

An object created by a session that sends messages to a destination. The user can create a sender to a specific destination or create a generic sender that specifies the destination at the time the message is sent.


Message interface

An object that is sent between consumers and producers; that is, from one application to another. A message has three main parts:

  1. A message header (required): Contains operational settings to identify and route messages
  2. A set of message properties (optional): Contains additional properties to support compatibility with other providers or users. It can be used to create custom fields or filters (selectors).
  3. A message body (optional): Allows users to create five types of messages (text message, map message, bytes message, stream message, and object message).

The message interface is extremely flexible and provides numerous ways to customize the contents of a message.


Session interface

Represents a single-threaded context for sending and receiving messages. A session is single-threaded so that messages are serialized, meaning that messages are received one-by-one in the order sent. The benefit of a session is that it supports transactions. If the user selects transaction support, the session context holds a group of messages until the transaction is committed, then delivers the messages. Before committing the transaction, the user can cancel the messages using a rollback operation. A session allows users to create message producers to send messages, and message consumers to receive messages. [2]


JMS Provider Implementations

In order to use JMS, one must have a JMS provider that can manage the sessions and queues. There are open source as well as proprietary providers. Open source refers to projects that are open to the public and which draw on other projects that are freely available to the general public. ...


Articles about open source providers:

Articles about proprietary providers: Apache Software Foundation Logo The Apache Software Foundation (ASF) is a non-profit corporation (classified as 501(c)(3) in the United States) to support Apache software projects, including the Apache HTTP Server. ... ActiveMQ is an open source (Apache 2. ... An editor has expressed a concern that the subject of the article does not satisfy a proposed guideline for notability (see Wikipedia:Notability (software)). If you are familiar with the subject matter, please expand the article to establish its notability. ... JBoss Messaging is is the new JBoss enterprise asynchronous messaging system. ... JBoss is a company which is a division of Red Hat. ...

An exhaustive comparison matrix of JMS providers is available at: http://www.theserverside.com/reviews/matrix.tss Progress Software Corporation (Nasdaq: PRGS) is an American software company which sells business application infrastructure software. ... webMethods, which was founded in 1996, is a company that provides business process integration software. ... IBM WebSphere Application Server is built using open standards such as the Java 2 Platform, Enterprise Edition (J2EE), XML and Web Services. ... International Business Machines Corporation (known as IBM or Big Blue; NYSE: IBM) is a multinational computer technology and consulting corporation headquartered in Armonk, New York, USA. The company is one of the few information technology companies with a continuous history dating back to the 19th century. ... IBM WebSphere MQ is a network communication technology launched by IBM in March 1992. ... International Business Machines Corporation (known as IBM or Big Blue; NYSE: IBM) is a multinational computer technology and consulting corporation headquartered in Armonk, New York, USA. The company is one of the few information technology companies with a continuous history dating back to the 19th century. ... Wikipedia does not yet have an article with this exact name. ... Web Application Server (WAS or WEB AS) is a component of the NetWeaver solution which works as a web application server to SAP solutions. ... SAP AG (ISIN: DE0007164600, FWB: SAP, NYSE: SAP) is the largest European software enterprise and the third largest in the world, with headquarters in Walldorf, Germany. ... In computing, Oracle Advanced Queuing (AQ) comprises a species of message-oriented middleware developed by Oracle Corporation and integrated into its Oracle database. ... Sun Java System Message Queue (SJSMQ) is a Message Oriented Middleware (MOM) product which implements the Java Message Service API. It is included in Sun Java System Application Server and in the GlassFish application server. ... Open source refers to projects that are open to the public and which draw on other projects that are freely available to the general public. ... BEA WebLogic is a J2EE application server and also an HTTP web server by BEA Systems of San Jose, California, for Unix, Linux, Microsoft Windows, and other platforms. ...


All J2EE 1.4 and later application servers are required to contain a JMS provider.


External links

See also


  Results from FactBites:
 
NOVELL: The Java Message Service (3196 words)
In P2P messaging, the message senders and receivers are de-coupled by a queue.
Publishers send messages to a topic, and all subscribers that are connected to the topic in question will receive the messages (unless their selector doesn't match the message).
InitialContext ctx = new InitialContext(); Queue queue = (Queue) ctx.lookup("queue/queue0"); QueueConnectionFactory connFactory = (QueueConnectionFactory) ctx.lookup("queue/connectionFactory"); QueueConnection queueConn = connFactory.createQueueConnection(); QueueSession queueSession = queueConn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); QueueReceiver queueReceiver = queueSession.createReceiver(queue); queueConn.start(); Message message = queueReceiver.receive();
Java Message Service (420 words)
Messaging systems are peer-to-peer distributed systems in the sense that every registered client can communicate with every other registered client.
The term messaging is used to describe asynchronous communication between enterprise applications.
Messages are the objects that communicate information between JMS clients.
  More results at FactBites »

 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your location
Your comments
Please enter the 5-letter protection code


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.