SlideShare uma empresa Scribd logo
1 de 16
Java Messaging Service (JMS)
Presentation By
-Anil Prajapati
Messaging
 Messaging is a method of communication
between software components or
applications.
 A messaging system is a peer-to-peer facility.
 Messaging enables distributed communication
that is loosely coupled.
 Messaging differs from tightly coupled
technologies such as Remote Method
Invocation (RMI )
 Messaging also differs from electronic mail
(e-mail)
What is JMS?
 A specification that describes a common way for
Java programs to create, send, receive and read
distributed enterprise messages
 loosely coupled communication
 Asynchronous messaging
 A JMS provider can deliver messages to a client as they arrive;
 a client does not have to request messages in order to receive them.
 Reliable delivery

A message is guaranteed to be delivered once and only once.
 Outside the specification
 Security services
 Management services
A JMS Architecture
 JMS Clients
 Java programs that send/receive messages
 Messages
 the objects that communicate information between JMS
clients
 Administered Objects
 preconfigured JMS objects created by an admin for the
use of clients
 ConnectionFactory, Destination (queue or topic)
 JMS Provider
 messaging system that implements JMS and
administrative functionality
JMS Architecture
Administrative
Tool
JNDI Namespace
JMS Client JMS Provider
Bind
Lookup
Logical
Connection
CF D
Architecture Interaction
• The administrator binds connection factories (CF)
and destinations (D) into a JNDI namespace.
• A JMS client can then lookup the administered
objects and establish a logical connection to them
via the JMS Provider
JMS Messaging Domains
 Point-to-Point (PTP)
 Publish-Subscribe systems
 Request-Reply Messaging
Publish-Subscribe Messaging
 When multiple applications need
to receive the same messages,
Publish- Subscribe Messaging
is used.
 The central concept in a
Publish-Subscribe messaging
system is the Topic.
 In Publish-Subscribe Messaging
is that, there may be multiple
Senders and multiple Receivers.
Point- To-Point Messaging
 When one process needs to send a
message to another process,
Point-To-Point Messaging can be
used.
 There are two basic types:
• The first one involves a client
that directly sends a message to
another client.
• The second and more common
implementation is based on the
concept of a Message Queue.
 in Point-to-Point messaging even
though there may be multiple
Senders of messages, but there is
only a single Receiver.
Request-Reply Messaging
 When an application sends a message and
expects to receive a message in return,
Request-Reply Messaging can be used.
 It could be:
• Synchronous
• Asynchronous
 JMS does not explicitly support Request-
Reply Messaging, though it allows it in the
context of the other methods.
JMS API Programming Model
Connection
creates creates
creates
MsgDestination
receives
from
sends to
Connection
Factory
Destination
Message
ConsumerSession
Message
Producer
creates
JMS Messages
 Message Header
 used for identifying and routing messages
 contains vendor-specified values, but could also contain
application-specific data
 typically name/value pairs
 Message Properties (optional)
 Message Body(optional)
 contains the data
 five different message body types in the JMS
specification :-Bytes Messages ,Map Messages, Object Messages,
Stream Messages , Text Messages
JMS Message Types
Message Type Contains Some Methods
TextMessage String getText,setText
MapMessage set of name/value pairs setString,setDouble,setLo
ng,getDouble,getString
BytesMessage stream of uninterpreted
bytes
writeBytes,readBytes
StreamMessage stream of primitive
values
writeString,writeDouble,
writeLong,readString
ObjectMessage serialize object setObject,getObject
Development in JMS
 JMS API was first introduced in 1998
 JMS provider may implement message-driven
beans to process messages concurrently.
 Message sends and receives can participate in
Java Transaction API (JTA)
 The JMS API allows for a very loosely coupled
interaction between J2EE applications and
existing Enterprise Information system (EIS).
JMS Availability
 Allaire Corporation - JRun Server
 BEA Systems, Inc.
 Brokat Technologies (formerly GemStone)
 IBM
 iPlanet (formerly Sun Microsystems, Inc. Java Message Queue)
 Oracle Corporation
 Pramati
 SilverStream Software, Inc.
 Sonic Software
 SpiritSoft, Inc. (formerly Push Technologies Ltd.)
 Talarian Corp.
 TIBCO Software, Inc.
Thank You

Mais conteúdo relacionado

Mais procurados

Mais procurados (18)

Understanding JMS Integration Patterns
Understanding JMS Integration Patterns Understanding JMS Integration Patterns
Understanding JMS Integration Patterns
 
Enterprise messaging with jms
Enterprise messaging with jmsEnterprise messaging with jms
Enterprise messaging with jms
 
JMS Introduction
JMS IntroductionJMS Introduction
JMS Introduction
 
Jms
JmsJms
Jms
 
Jms
JmsJms
Jms
 
Spring JMS
Spring JMSSpring JMS
Spring JMS
 
Mom those things v1
Mom those things v1 Mom those things v1
Mom those things v1
 
JMS Providers Overview
JMS Providers OverviewJMS Providers Overview
JMS Providers Overview
 
An Introduction to the Message Queuning Technology
An Introduction to the Message Queuning TechnologyAn Introduction to the Message Queuning Technology
An Introduction to the Message Queuning Technology
 
Jms
JmsJms
Jms
 
Jms deep dive [con4864]
Jms deep dive [con4864]Jms deep dive [con4864]
Jms deep dive [con4864]
 
Message Driven Beans (6)
Message Driven Beans (6)Message Driven Beans (6)
Message Driven Beans (6)
 
Weblogic - Introduction to configure JMS
Weblogic  - Introduction to configure JMSWeblogic  - Introduction to configure JMS
Weblogic - Introduction to configure JMS
 
Introduction tojms
Introduction tojmsIntroduction tojms
Introduction tojms
 
2012 07-jvm-summit-batches
2012 07-jvm-summit-batches2012 07-jvm-summit-batches
2012 07-jvm-summit-batches
 
Swetha-IBMCertifiedWMQ_WMB
Swetha-IBMCertifiedWMQ_WMBSwetha-IBMCertifiedWMQ_WMB
Swetha-IBMCertifiedWMQ_WMB
 
jms-integration
jms-integrationjms-integration
jms-integration
 
WhatsNewInJMS21
WhatsNewInJMS21WhatsNewInJMS21
WhatsNewInJMS21
 

Destaque

Using Scala for building DSLs
Using Scala for building DSLsUsing Scala for building DSLs
Using Scala for building DSLsIndicThreads
 
Mule integration patterns
Mule    integration patternsMule    integration patterns
Mule integration patternshimajareddys
 
Integration Patterns for Mission Critical Systems
Integration Patterns for Mission Critical SystemsIntegration Patterns for Mission Critical Systems
Integration Patterns for Mission Critical SystemsAngelo Corsaro
 
Java One - Designing a DSL in Kotlin
Java One - Designing a DSL in KotlinJava One - Designing a DSL in Kotlin
Java One - Designing a DSL in KotlinNicolas Fränkel
 
Integration patterns and practices for cloud and mobile computing
Integration patterns and practices for cloud and mobile computingIntegration patterns and practices for cloud and mobile computing
Integration patterns and practices for cloud and mobile computingSHAKIL AKHTAR
 
Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?
Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?
Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?Kai Wähner
 
The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...
The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...
The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...confluent
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution ServiceAngelo Corsaro
 
Microservices - Death of the Enterprise Service Bus (ESB)? (Update 2016)
Microservices - Death of the Enterprise Service Bus (ESB)? (Update 2016)Microservices - Death of the Enterprise Service Bus (ESB)? (Update 2016)
Microservices - Death of the Enterprise Service Bus (ESB)? (Update 2016)Kai Wähner
 
Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterp...
Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterp...Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterp...
Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterp...Kai Wähner
 

Destaque (11)

Metamorphic Domain-Specific Languages
Metamorphic Domain-Specific LanguagesMetamorphic Domain-Specific Languages
Metamorphic Domain-Specific Languages
 
Using Scala for building DSLs
Using Scala for building DSLsUsing Scala for building DSLs
Using Scala for building DSLs
 
Mule integration patterns
Mule    integration patternsMule    integration patterns
Mule integration patterns
 
Integration Patterns for Mission Critical Systems
Integration Patterns for Mission Critical SystemsIntegration Patterns for Mission Critical Systems
Integration Patterns for Mission Critical Systems
 
Java One - Designing a DSL in Kotlin
Java One - Designing a DSL in KotlinJava One - Designing a DSL in Kotlin
Java One - Designing a DSL in Kotlin
 
Integration patterns and practices for cloud and mobile computing
Integration patterns and practices for cloud and mobile computingIntegration patterns and practices for cloud and mobile computing
Integration patterns and practices for cloud and mobile computing
 
Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?
Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?
Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?
 
The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...
The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...
The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
Microservices - Death of the Enterprise Service Bus (ESB)? (Update 2016)
Microservices - Death of the Enterprise Service Bus (ESB)? (Update 2016)Microservices - Death of the Enterprise Service Bus (ESB)? (Update 2016)
Microservices - Death of the Enterprise Service Bus (ESB)? (Update 2016)
 
Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterp...
Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterp...Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterp...
Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterp...
 

Semelhante a Java Messaging Service

Apache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelApache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelOmi Om
 
Test DB user
Test DB userTest DB user
Test DB usertechweb08
 
test validation
test validationtest validation
test validationtechweb08
 
Java message service
Java message serviceJava message service
Java message serviceVeeramani S
 
WebLogic JMS System Best Practices
WebLogic JMS System Best PracticesWebLogic JMS System Best Practices
WebLogic JMS System Best PracticesTrivadis
 
Messaging Frameworks using JMS
Messaging Frameworks using JMS Messaging Frameworks using JMS
Messaging Frameworks using JMS Arvind Kumar G.S
 
#7 (Java Message Service)
#7 (Java Message Service)#7 (Java Message Service)
#7 (Java Message Service)Ghadeer AlHasan
 
Message Queuing (MSMQ)
Message Queuing (MSMQ)Message Queuing (MSMQ)
Message Queuing (MSMQ)Senior Dev
 
Unit 1 Intersystem CommunicationsCOP4858 PROGRAM & TECH ENH.docx
Unit 1 Intersystem CommunicationsCOP4858 PROGRAM & TECH ENH.docxUnit 1 Intersystem CommunicationsCOP4858 PROGRAM & TECH ENH.docx
Unit 1 Intersystem CommunicationsCOP4858 PROGRAM & TECH ENH.docxwillcoxjanay
 

Semelhante a Java Messaging Service (20)

Jms session (1)
Jms session (1)Jms session (1)
Jms session (1)
 
JMS01
JMS01JMS01
JMS01
 
Jms
JmsJms
Jms
 
Apache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelApache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache Camel
 
Test DB user
Test DB userTest DB user
Test DB user
 
test validation
test validationtest validation
test validation
 
Java message service
Java message serviceJava message service
Java message service
 
WebLogic JMS System Best Practices
WebLogic JMS System Best PracticesWebLogic JMS System Best Practices
WebLogic JMS System Best Practices
 
Messaging Frameworks using JMS
Messaging Frameworks using JMS Messaging Frameworks using JMS
Messaging Frameworks using JMS
 
#7 (Java Message Service)
#7 (Java Message Service)#7 (Java Message Service)
#7 (Java Message Service)
 
Mule soft jms
Mule soft jmsMule soft jms
Mule soft jms
 
Message Queuing (MSMQ)
Message Queuing (MSMQ)Message Queuing (MSMQ)
Message Queuing (MSMQ)
 
Messaging in Java
Messaging in JavaMessaging in Java
Messaging in Java
 
Jms intro
Jms introJms intro
Jms intro
 
Unit 1 Intersystem CommunicationsCOP4858 PROGRAM & TECH ENH.docx
Unit 1 Intersystem CommunicationsCOP4858 PROGRAM & TECH ENH.docxUnit 1 Intersystem CommunicationsCOP4858 PROGRAM & TECH ENH.docx
Unit 1 Intersystem CommunicationsCOP4858 PROGRAM & TECH ENH.docx
 
Ibm wmb online training
Ibm wmb online trainingIbm wmb online training
Ibm wmb online training
 
On MQ Series & JMS
On MQ Series & JMSOn MQ Series & JMS
On MQ Series & JMS
 
test
testtest
test
 
test
testtest
test
 
test
testtest
test
 

Último

Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxMuhammadAsimMuhammad6
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxSCMS School of Architecture
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptNANDHAKUMARA10
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesRAJNEESHKUMAR341697
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesMayuraD1
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationBhangaleSonal
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdfKamal Acharya
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxSCMS School of Architecture
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayEpec Engineered Technologies
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiessarkmank1
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxNadaHaitham1
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityMorshed Ahmed Rahath
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsvanyagupta248
 
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEselvakumar948
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 

Último (20)

Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planes
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptx
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 

Java Messaging Service

  • 1. Java Messaging Service (JMS) Presentation By -Anil Prajapati
  • 2. Messaging  Messaging is a method of communication between software components or applications.  A messaging system is a peer-to-peer facility.  Messaging enables distributed communication that is loosely coupled.  Messaging differs from tightly coupled technologies such as Remote Method Invocation (RMI )  Messaging also differs from electronic mail (e-mail)
  • 3. What is JMS?  A specification that describes a common way for Java programs to create, send, receive and read distributed enterprise messages  loosely coupled communication  Asynchronous messaging  A JMS provider can deliver messages to a client as they arrive;  a client does not have to request messages in order to receive them.  Reliable delivery  A message is guaranteed to be delivered once and only once.  Outside the specification  Security services  Management services
  • 4. A JMS Architecture  JMS Clients  Java programs that send/receive messages  Messages  the objects that communicate information between JMS clients  Administered Objects  preconfigured JMS objects created by an admin for the use of clients  ConnectionFactory, Destination (queue or topic)  JMS Provider  messaging system that implements JMS and administrative functionality
  • 5. JMS Architecture Administrative Tool JNDI Namespace JMS Client JMS Provider Bind Lookup Logical Connection CF D
  • 6. Architecture Interaction • The administrator binds connection factories (CF) and destinations (D) into a JNDI namespace. • A JMS client can then lookup the administered objects and establish a logical connection to them via the JMS Provider
  • 7. JMS Messaging Domains  Point-to-Point (PTP)  Publish-Subscribe systems  Request-Reply Messaging
  • 8. Publish-Subscribe Messaging  When multiple applications need to receive the same messages, Publish- Subscribe Messaging is used.  The central concept in a Publish-Subscribe messaging system is the Topic.  In Publish-Subscribe Messaging is that, there may be multiple Senders and multiple Receivers.
  • 9. Point- To-Point Messaging  When one process needs to send a message to another process, Point-To-Point Messaging can be used.  There are two basic types: • The first one involves a client that directly sends a message to another client. • The second and more common implementation is based on the concept of a Message Queue.  in Point-to-Point messaging even though there may be multiple Senders of messages, but there is only a single Receiver.
  • 10. Request-Reply Messaging  When an application sends a message and expects to receive a message in return, Request-Reply Messaging can be used.  It could be: • Synchronous • Asynchronous  JMS does not explicitly support Request- Reply Messaging, though it allows it in the context of the other methods.
  • 11. JMS API Programming Model Connection creates creates creates MsgDestination receives from sends to Connection Factory Destination Message ConsumerSession Message Producer creates
  • 12. JMS Messages  Message Header  used for identifying and routing messages  contains vendor-specified values, but could also contain application-specific data  typically name/value pairs  Message Properties (optional)  Message Body(optional)  contains the data  five different message body types in the JMS specification :-Bytes Messages ,Map Messages, Object Messages, Stream Messages , Text Messages
  • 13. JMS Message Types Message Type Contains Some Methods TextMessage String getText,setText MapMessage set of name/value pairs setString,setDouble,setLo ng,getDouble,getString BytesMessage stream of uninterpreted bytes writeBytes,readBytes StreamMessage stream of primitive values writeString,writeDouble, writeLong,readString ObjectMessage serialize object setObject,getObject
  • 14. Development in JMS  JMS API was first introduced in 1998  JMS provider may implement message-driven beans to process messages concurrently.  Message sends and receives can participate in Java Transaction API (JTA)  The JMS API allows for a very loosely coupled interaction between J2EE applications and existing Enterprise Information system (EIS).
  • 15. JMS Availability  Allaire Corporation - JRun Server  BEA Systems, Inc.  Brokat Technologies (formerly GemStone)  IBM  iPlanet (formerly Sun Microsystems, Inc. Java Message Queue)  Oracle Corporation  Pramati  SilverStream Software, Inc.  Sonic Software  SpiritSoft, Inc. (formerly Push Technologies Ltd.)  Talarian Corp.  TIBCO Software, Inc.

Notas do Editor

  1. Asynchronous. A JMS provider can deliver messages to a client as they arrive; a client does not have to request messages in order to receive them. Lower levels of reliability are available for applications that can afford to miss messages or to receive duplicate messages. The JMS specification describes a set of programming interfaces that support distributed, enterprise messaging. An enterprise messaging systems enables independent distributed components or applications to interact through messages. These components, whether on the same system, the same network, or loosely connected through the Internet, use messaging to pass data and coordinate their respective functions. exposing only the JMS APIs is to hide the details from the users that want a higher-level API and also to ensure portability among implementations. As long as the vendor adheres to the JMS specification, a user shouldn't have to worry too much about how the implementation is constructed. By itself, it provides no functionality: the API or interfaces are separate from the implementation This gives the benefit of describing in detail what the user view should be, while at the same time allowing vendors to implement the details however they want. JMS is not an implementation of a message-oriented middleware. security and management are not the concerns of the JMS spec
  2. A JMS Application is one or more JMS clients that exchange messages asynchronously
  3. JNDI:java naming and directory service administrative tool allows you to bind cf,dest to jndi. Clients lookup the admin objects in the jndi and then establish a logical connection to the same objects through provider 2 types of administrative objects: connection factory, destination administrated objects are placed in a JNDI by admin. a JMS client notes in its documentation the JMS admin objects it requires and how the JNDI names of these objects should be provided to it. Connection factories are created by the server administrator and bound into the Java Naming and Directory Interface (JNDI) tree. A JMS client uses JNDI to look up the ConnectionFactory and then uses the ConnectionFactory to establish a JMS connection.
  4. A JMS Application is one or more JMS clients that exchange messages asynchronously. JMS deals with two kinds of message domains. - Point-to-Point (PTP) are built around the concept of message queues.     Publish-Subscribe systems use a “topic” to send and receive messages. Supports messages containing Java objects and XML pages.
  5. JMS Interfaces: connectionfactory: administrative object used by client to create a connection connection: an active connection for JMS provider destination: administrative object that encapsulates the identity of a message destination session: a single-threaded context for sending/receiving message messageproducer: an object created by a session that is used for sending msg to a dest messageconsumer: similar
  6. TextMessage m=session.createTextMessage();