Citizendia
Your Ad Here

The Java Message Service (JMS) API is a Java Message Oriented Middleware (MOM) API for sending messages between two or more clients. Message-oriented middleware (MOM is a client/server infrastructure that increases the interoperability portability and flexibility of an application by allowing the application A client is an application or system that accesses a remote service on another Computer system, known as a server, by way of a Network. JMS is a part of the Java Platform, Enterprise Edition, and is defined by a specification developed under the Java Community Process as JSR 914. Java Platform Enterprise Edition or Java EE is a widely used platform for server programming in the Java programming language The Java Community Process or JCP, established in 1998, is a formalized process which allows interested parties to be involved in the definition of future versions

Contents

General idea of messaging

See also: Message-oriented middleware and Message passing

Messaging is a form of loosely coupled distributed communication, where in this context the term 'communication' can be understood as an exchange of messages between software components. Message-oriented middleware (MOM is a client/server infrastructure that increases the interoperability portability and flexibility of an application by allowing the application In Computer science, message passing is a form of communication used in Parallel computing, Object-oriented programming, and Interprocess communication Loose coupling describes a resilient relationship between two or more systems or organizations with some kind of exchange relationship Message-oriented technologies attempt to relax tightly coupled communication (such as TCP network sockets, CORBA or RMI) by the introduction of an intermediary component, which in this case would be a queue. The Transmission Control Protocol (TCP is one of the core protocols of the Internet Protocol Suite. In Computer networking, a stream socket is a type of Internet socket which provides a Connection-oriented, Sequenced, and unduplicated flow of The Common Object Requesting Broker Architecture (CORBA is a standard defined by the Object Management Group (OMG that enables software components written The Java Remote Method Invocation API, or Java RMI, is a Java application programming interface for performing the object equivalent of Remote procedure The latter approach allows software components to communicate 'indirectly' with each other. Benefits of this include message senders not needing to have precise knowledge of their receivers, since communication is performed using the queue.

Version history

Elements

The following are JMS elements: [1]

JMS provider
An implementation of the JMS interface for a Message Oriented Middleware (MOM). Events 37 - The Roman Senate annuls Tiberius ' will and proclaims Caligula emperor See also 2002 (disambiguation Year 2002 ( MMII) was a Common year starting on Tuesday of the Gregorian calendar. Message-oriented middleware (MOM is a client/server infrastructure that increases the interoperability portability and flexibility of an application by allowing the application 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 receives 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.

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. Point-to-point telecommunications generally refers to a connection restricted to two endpoints usually host computers 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 Here, the producer knows the destination of the message and posts the message directly to the consumer's queue. It is characterized by the following:

The publish/subscribe model supports publishing messages to a particular message topic. 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:

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. In Object-oriented programming, a class is a Programming language construct that is used as a blueprint to create objects This blueprint includes attributes The Java Naming and Directory Interface ( JNDI) is a Java API for Directory service that allows Java software clients to discover and look up data and objects 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.

Application programming interface

The JMS API is provided in the Java package javax.jms. A Java package is a mechanism for organizing Java classes into namespaces similar to the modules of Modula.

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. The Java Naming and Directory Interface ( JNDI) is a Java API for Directory service that allows Java software clients to discover and look up data and objects Depending on the type of message, users will use either a queue connection factory or topic connection factory

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. The Java Naming and Directory Interface ( JNDI) is a Java API for Directory service that allows Java software clients to discover and look up data and objects Like the connection factory, the administrator can create two types of destinations: queues for Point-to-Point and topics for Publish/Subscribe.

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]

Provider implementations

In order to use JMS, one must have a JMS provider that can manage the sessions and queues. There are free, open source and proprietary providers. Free software or software libre is Software that can be used studied and modified without restriction and which can be copied and redistributed in modified or unmodified Open source is a development methodology which offers practical accessibility to a product's source (goods and knowledge Proprietary software is Computer software on which the producer has set restrictions on use private modification copying, or republishing.

Open Source Providers

Articles about open source providers:

Proprietary Providers

Articles about proprietary providers:


An exhaustive comparison matrix of JMS providers is available at: http://www.theserverside.com/reviews/matrix.tss

All Java EE application servers from version 1. Open source is a development methodology which offers practical accessibility to a product's source (goods and knowledge TIBCO Software Inc is a software company with headquarters in Palo Alto, California. webMethods, which was founded in 1996, is a company which provides business process integration Software. IBM WebSphere Application Server ( WAS) a software Application server, is the flagship product within IBM 's WebSphere brand International Business Machines Corporation abbreviated IBM and nicknamed "Big Blue", is a multinational Computer Technology IBM WebSphere MQ is a family of network communication software products launched by IBM in March 1992. International Business Machines Corporation abbreviated IBM and nicknamed "Big Blue", is a multinational Computer Technology 4 and later are required to contain a JMS provider. This can be implemented using the message inflow management of the Java EE Connector Architecture, which was first made available in version 1. Java EE Connector Architecture ( JCA) is a Java -based technology solution for connecting Application servers and Enterprise information systems 4.

External links

See also

Other types of messaging technologies, which do not implement the JMS API:

Microsoft Message Queuing or MSMQ is a Message Queue implementation developed by Microsoft and deployed in its Windows Server operating systems
© 2009 citizendia.org; parts available under the terms of GNU Free Documentation License, from http://en.wikipedia.org
Dapyx Software network: MP3 Explorer | Ebook Manager | Zenithic