a run ppt
TRANSCRIPT
-
8/6/2019 A Run Ppt
1/17
JMS
-
8/6/2019 A Run Ppt
2/17
JMS
The Java Message Service
(JMS)API is a Java MessageOrientedMiddleware (MOM) APIfor sending messages betweentwo or more clients. and isdefined by a specificationdeveloped under the JavaCommunity Process
-
8/6/2019 A Run Ppt
3/17
Continue
It is a messaging standard that allows
application components based on the Java 2Platform, Enterprise Edition (J2EE) to create,
send, receive, and read messages. It allows
the communication between different
components of a distributed application to beloosely coupled, reliable, and asynchronous.
-
8/6/2019 A Run Ppt
4/17
What Is Messaging?
Messaging is a form ofloosely coupleddistributedcommunication, where in this context the term
'communication' can be understood as an exchange
of messages between software components.
Message-oriented technologies attempt to relax
tightly coupledcommunication (such as TCPnetwork sockets, RMI) by the introduction of an
intermediary component.
-
8/6/2019 A Run Ppt
5/17
Continue.
The latter approach allows software components to
communicate 'indirectly' with each other. Benefits ofthis include message senders not needing to have
precise knowledge of their receivers.
The advantages of messaging include the ability to
integrate heterogeneous platforms, reduce system
bottlenecks, increase scalability, and respond morequickly to change.
-
8/6/2019 A Run Ppt
6/17
Jms versions
Jms 1.0.2b
Jms 1.1
-
8/6/2019 A Run Ppt
7/17
-
8/6/2019 A Run Ppt
8/17
Jms models
The JMS API supports two models:
Point-to-point Publish and subscribe
-
8/6/2019 A Run Ppt
9/17
Point-to-point model
In the point-to-point model, a senderposts
messages to a particular queue and areceiverreads messages from the queue.
Here, the sender knows the destination of
the message and posts the message directly
to the receiver's queue.
-
8/6/2019 A Run Ppt
10/17
Characteristics ofpt. topt. model
Only one consumer gets the message.
The producer does not have to be running atthe time the consumer consumes the
message, nor does the consumer need to be
running at the time the message is sent.
Every message successfully processed is
acknowledged by the consumer.
-
8/6/2019 A Run Ppt
11/17
Publish/subscribe model
The publish/subscribe model supports
publishing messages to a particular messagetopic. Subscribers may register interest in
receiving messages on a particular message
topic. In this model, neither thepublishernor
the subscriber knows about each other. Agood analogy for this is an anonymous
bulletin board.
-
8/6/2019 A Run Ppt
12/17
characteristics ofpublish/subscibermodel
Multiple consumers (or none) will receive themessage.
There is a timing dependency between publishersand subscribers. The publisher has to create amessage topic for clients to subscribe. Thesubscriber has to remain continuously active toreceive messages, unless it has established adurable subscription. In that case, messagespublished while the subscriber is not connected willbe redistributed whenever it reconnects.
-
8/6/2019 A Run Ppt
13/17
other
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 factoryto connect to
the queue or topic, and then use populate and sendor publish the messages. On the receiving side, the
clients then receive or subscribe to the messages.
-
8/6/2019 A Run Ppt
14/17
Provider implementations
To use JMS, one must have a JMS provider
that can manage the sessions and queues.Starting from Java EE version 1.4, JMS
provider has to be contained in allJava EE
application servers. This can be implemented
using the message inflow management ofthe Java EE Connector Architecture, which
was first made available in that version.
-
8/6/2019 A Run Ppt
15/17
Listof jms providers
Apache ActiveMQ
Apache Qpid BEA Weblogic, part of the Oracle Fusion Middleware
suite
FUSE Message Broker from Progress Software
(based on Apache ActiveMQ
) OpenJMS, from The OpenJMS Group
JBoss Messaging from JBoss
HornetQ from JBoss
-
8/6/2019 A Run Ppt
16/17
Continue
HornetQ from JBoss
JORAM, from the OW2 Consortium
Open Message Queue, from Sun Microsystems
Oracle AQ
RabbitMQ, using AMQP
Solace JMS from Solace Systems
SonicMQ from Progress Software
WebSphere Application Server from IBM
WebSphereMQ from IBM (formerlyMQSeries)
Ultra Messaging from 29 West (acquired by Informatica)
-
8/6/2019 A Run Ppt
17/17