JMS
MOM (Message Oriented Middleware)
MOM is a software/hardware infrastructure supporting sending/receiving messages between distributed applications.
JMS (Java Message Service)
- JMS is no way related with Java Mail.
- JMS supports Asynchronous communication.
- JMS API is a Java Message Oriented Middleware API for sending messages between two or more clients.
- JMS is a part of the Java Platform, Enterprise Edition, and is defined by a specification developed under Java Community Process.
- It is a messaging standard that allows application components to create, send, receive and read messages.
- Messaging means "loosely-coupled distributed communication", where communication is between two software components.
JMS elements:
- JMS Provider: An implementation of the JMS interface for a Message Oriented Middleware. JMS server/ provider supplies, destinations having capability to store messages temporarily.
- MQ series from IBM
- MSMQ from Microsoft
- Weblogic Message Server from Weblogic(Application server)
- Glassfish Message Server from Glassfish(Application server)
- Every Application server supplies one built-in JMS server.
- JMS Client:
- A application or process that produces and/ or receives messages.
- JMS Producer/ Publisher:
- A JMS Client that creates and sends messages.
- JMS Consumer/ Subscriber:
- A JMS Client that receives messages.
- JMS Message:
- An Object that contains data being transferred between JMS clients.
- JMS Queue:
- A staging area that contains messages that have been sent and are waiting to be read. Note that, contrary to what the name queue suggests, messages don't have to be delivered in the order sent. The JMS Queue only guarantees that each processed only once.
- JMS Topic:
- The distributed mechanism for publishing messages that are delivered to multiple subscribers.