SlideShare a Scribd company logo
Introduction to
OpenMQ
Linda Schneider
Technical Lead
Sun Microsystems, Inc.
Agenda:
• What is OpenMQ ?
  > Basic Concepts
  > Product Features
  > High Availability Architectures
• OpenMQ Roadmap
• Selected Customer Scenarios
• More information



            Copyright Sun Microsystems Inc. All Rights Reserved.   [2]
What is OpenMQ ?



 Copyright Sun Microsystems Inc. All Rights Reserved.   [3]
Open MQ Basics
• Allows heterogenous applications to reliability and
    asynchronously pass data between each other.
•   Open Source Java Message Service (JMS)
    implementation (+ additions)
•   Default Messaging Provider for Glassfish
•   Also can be used on its own for standalone JMS
    applications
•   Enterprise level quality (>8 years in development)
•   Open Source since JavaOne 2006
•   Also available in a supported product (SJSMQ)
             Copyright Sun Microsystems Inc. All Rights Reserved.   [4]
OpenMQ Information
• The open source version of Java MQ
    > Includes all features from Java MQ
•   Available from http://mq.dev.java.net
•   Developer and User discussion forums
•   Stable builds with product releases
•   Early access, promoted builds available
    > New features, and fixes
• Dual license support (GPL V2 and CDDL)

             Copyright Sun Microsystems Inc. All Rights Reserved.   [5]
OpenMQ Specifications:
• Java Message Service (JMS) 1.1 Specification, JSR
  914
• J2EE specification 1.3 or later
• Java Connector Architecture (JCA) for the openMQ
  resource adapter (JMSRA)




          Copyright Sun Microsystems Inc. All Rights Reserved.   [6]
Basic Concepts



Copyright Sun Microsystems Inc. All Rights Reserved.   [7]
What Is JMS ?
• A Java-based api for Message Oriented
  Middleware.
• It use the following concepts (among others)
  > Message Order is guaranteed
  > Level of reliability is determined when the message is
    sent
  > Transactions (grouping of messages to be sent or
    produced together) are supported
  > Format of the message is defined by the producer
  > Provides two styles of message delivery (point-to-point
    and publish-subscribe)
            Copyright Sun Microsystems Inc. All Rights Reserved.   [8]
How Does JMS Work?




      Copyright Sun Microsystems Inc. All Rights Reserved.   [9]
Messaging Models
• Java Message Service defines two messaging
  models:
  > Publish-subscribe (or pub-sub)
     – One-to-many messaging.
     – Every message goes to all interested consumers.
  > Point-to-point
     – One-to-one messaging.
     – A single message goes to only one consumer.




             Copyright Sun Microsystems Inc. All Rights Reserved.   [10]
Messaging Models (continued)




       Copyright Sun Microsystems Inc. All Rights Reserved.   [11]
What are the pieces of OpenMQ


 Broker               The server component of OpenMQ
                      which handles reliable delivery
 Client               Allows clients to connect to the
 implementations      OpenMQ Broker
 JMX api              Full administration Api for custom
                      applications
 Administration       Allows administrators to control
 Tools                OpenMQ



           Copyright Sun Microsystems Inc. All Rights Reserved.   [12]
OpenMQ Architecture




      Copyright Sun Microsystems Inc. All Rights Reserved.   [13]
(*)
        Product Features

* as of OpenMQ 4.3 (releasing 12/15/2008)




            Copyright Sun Microsystems Inc. All Rights Reserved.   [14]
Connectivity in OpenMQ
                                • JMS API
                                • C API
                                • Clients connect via
                                  TCP/TLS or SOAP /
                                  HTTP
                                • JCA Resource Adapter
                                  JMSRA. Also used w/
                                    > JMSJCA RA
                                    > Generic RA
                                • UMS
      Copyright Sun Microsystems Inc. All Rights Reserved.   [15]
Scaling in OpenMQ
• Support for 1000s of connections on a single broker
• Support for clusters of multiple brokers
• Message size limited only by operating system and
  storage capacity
• Support for multiple receivers on a queue
• Ability to set size and behavior limits on a
  destination to prevent memory issues
• No-acknowledge mode for performance when
  reliability is not an issue
• Support for message compression
           Copyright Sun Microsystems Inc. All Rights Reserved.   [16]
Deploying and Administering
• Administration tools
• JMX API
• Support for both file and JDBC-based message
  stores
• Dead Message Queue (DMQ)
• XML Validation
• Topic Wildcard Support



          Copyright Sun Microsystems Inc. All Rights Reserved.   [17]
Securing OpenMQ
• Authentication
  > Allows administrators to set up a user-name/password
    database to control access to the system
  > Supports use of JAAS for pluggable authentication
• Authorization
  > Allows administrators to control which users can access
    (produce or consume to) specific destinations
• SSL connection support
  > Provides encryption of data to and from the server


            Copyright Sun Microsystems Inc. All Rights Reserved.   [18]
Clustering OpenMQ – Definitions
• Broker Failover:
  > Manual – requires administrators intervention
  > Automatic – does not require intervetion
• High Availability Definitions:
  > Service Availability- support to allow applications to
    continue to operate (produce and consume messages)
    rapidly after a failure (Automatic failover)
  > Data Availability – data is available after a failure
• OpenMQ provides support for both service and data
  availability.
• Clients fail-over to other brokers in the cluster
            Copyright Sun Microsystems Inc. All Rights Reserved.   [19]
Clustering OpenMQ
• Standard clustering provides scaling and service
  availability
  > Allows multiple brokers to be connected together and
    operate
  > JMS semantics are preserved
  > Producers and consumers can attach to different brokers
  > If data is available, administrators can start a broker to
    dispatch the messages on another machine
• OpenMQ also provides additional clustering modes
  to provide multiple levels of data availability

            Copyright Sun Microsystems Inc. All Rights Reserved.   [20]
Clustering OpenMQ
There are currently three ways to get availability with
  OpenMQ:
• Standard Clustering
  > Provides service availability
• Sun Cluster Data Service for Java MQ
  > Provides data availability using a highly available file
    system.
• JDBC-based High Availability
  > Provides service and data availability by using a highly
    available database

              Copyright Sun Microsystems Inc. All Rights Reserved.   [21]
OpenMQ Features
Recent Additions:
 • Stomp Support examples
 • Extensive UMS Examples
 • Spring Examples
Planned near-term additions:
 • Visual VM support
 • Improved netbeans support
 • A swing and web based monitoring demo using JMX

          Copyright Sun Microsystems Inc. All Rights Reserved.   [22]
UMS: new for 4.3




 Copyright Sun Microsystems Inc. All Rights Reserved.   [23]
What is UMS ?




      Copyright Sun Microsystems Inc. All Rights Reserved.   [24]
What is UMS? (lower level)




        Copyright Sun Microsystems Inc. All Rights Reserved.   [25]
UMS – the 10k foot view
• Simple API
  >   6 messaging services (e.g. login, send, receive)
  >   Only 2 are required to produce or consume messages
  >   Services are request/reply
  >   Only supports text messages
• Runs on top of HTTP(s)
• Multiple clients share a single JMS Connection
  > Default is 100 per connection
• 2 style of queries are available:
  > Simple Messaging – for non-XML text messages
  > XML Messaging – for XML encoded messages
             Copyright Sun Microsystems Inc. All Rights Reserved.   [26]
UMS Interface Types
  • Simple Query String
    > POST /ums/simple?service=send&
       destination=simpleQ&domain=queue
       Send msg: Hello World!
  • XML Document

<SOAP-ENV:Envelope xmlns:SOAP-ENV=quot;http://schemas.xmlsoap.org/soap/
envelope/quot;>
       <SOAP-ENV:Header>
              <ums:MessageHeader xmlns:ums=quot;https://mq.dev.java.net/umsquot;
ums:id=quot;1.0quot; ums:version=quot;1.0quot;>
                    <ums:Service
                    ums:service=quot;sendquot;
                    ums:destination=quot;XMLmessagingQquot;
                    ums:domain=quot;queuequot;
                    ums:sid=quot;7-LTgxMDczMTczNQ== quot;/>
              </ums:MessageHeader>
       </SOAP-ENV:Header>
<SOAP-ENV:Body><bodyvalue>Hello, XML World!</bodyvalue></SOAP-ENV:Body>
</SOAP-ENV:Envelope>

                Copyright Sun Microsystems Inc. All Rights Reserved.   [27]
Availability Architectures



     Copyright Sun Microsystems Inc. All Rights Reserved.   [28]
Standard Clusters - Architecture




       Copyright Sun Microsystems Inc. All Rights Reserved.   [29]
Standard Cluster – Key Points
• Provides service availability
• Delivery of messages is transparent to client and
  administrator
• A new broker can be manually started on the same
  data if a failure occurs.




          Copyright Sun Microsystems Inc. All Rights Reserved.   [30]
Using SunCluster – Single Broker

        Producer Q1                      Consumer Q1


                                                                To the JMS
                              Broker                            clients, the
                                                              active/standby
                                                              configuration is
                                                                   hidden
                    Active             Standby
                Sun Cluster Data Service
             Local or SAN Storage


       Copyright Sun Microsystems Inc. All Rights Reserved.                  [31]
Using Sun Cluster – Three Brokers

              Producer Q1                                Producer Q2



 JDBC or
 File Store

                    Broker A                               Broker B
                     Master

                                      Broker C




                 Consumer Q1                       Consumer Q2


                 Copyright Sun Microsystems Inc. All Rights Reserved.   [32]
SunCluster – Key Points
• Provides availability and monitoring
• A new broker is automatically started to take over
  the existing data from the unavailable one
• Relies on a shared storage device (SAN)
• Can be support for distances over 200k




           Copyright Sun Microsystems Inc. All Rights Reserved.   [33]
JDBC High Availability - Architecture




       Copyright Sun Microsystems Inc. All Rights Reserved.   [34]
JDBC High Availability – Key Points
• Simple to configure and set up
• How it works:
  >   Keeps all information in a single accessible location
  >   Stores data by broker
  >   Allows another broker to “takeover” the messages
  >   Helps prevent “split-brain” through database heartbeats
• Supported available databases
  > Oracle 9i,10g (RAC or replicated with Sun Cluster)
  > HADB
  > MySQL Cluster

             Copyright Sun Microsystems Inc. All Rights Reserved.   [35]
OpenMQ Clustering – Comparison
   Feature                                             Cluster   SunCluster              JDBC HA

   Data Availability                                     No             Yes                  Yes
   Active/Active                                        N/A             No                   Yes
   Handles Remote sites                                 Yes             Yes                  No [1]
   HA Filesystem                                         No             Yes                  No
   Requires HA Database                                  No              No                  Yes
   Scales to large # of brokers                         Yes             Yes                  Yes
   Performance                                          High            High                 Low
   Complexity                                           Low             High               Low [4]
   Takeover speed                                       N/A          Medium                Fast [3]
   When Available                                       Now             Now                  Now
   Minimum # of Brokers                                  2                2                    2
   Redundant Network                                     No             No[2]               No [2]
   [1] May require Sun Cluster                                   [2] May be required by supporting software
   [3] Fast for broker take-over. DB recovery may be             [4] medium if cannot use existing JDBC
   slow                                                          infrastructure


                 Copyright Sun Microsystems Inc. All Rights Reserved.                                         [36]
OpenMQ Roadmap



 Copyright Sun Microsystems Inc. All Rights Reserved.   [37]
Crane (MQ 4.4)
• Targeted Spring 2009
• Features in evaluation for Crane:
  > Journaling (storage of message history)
  > Connected Clusters
  > JMX support via UMX
  > Ability to Embed the broker in a standalone application
  > Performance improvements
  > Support for grouping message delivery (e.g. Units of
    Work)
  > Web-based administration
  > Scalable destinations
  > JMS Bridge
            Copyright Sun Microsystems Inc. All Rights Reserved.   [38]
Phoenix (MQ 4.5)
•Targeted late 2009/early 2010

•Phoenix is too far out to have a list of possible features
but we are thinking about:
•   Features pushed forward from Crane
•   Encrypted Destinations
•   XML Content based selectors
•   Improved MySQL support
•   Replay of Journaled Messages



            Copyright Sun Microsystems Inc. All Rights Reserved.   [39]
Selected Customer
  Architectures


 Copyright Sun Microsystems Inc. All Rights Reserved.   [40]
Customer 1:




    Copyright Sun Microsystems Inc. All Rights Reserved.   [41]
Customer 2:




    Copyright Sun Microsystems Inc. All Rights Reserved.   [42]
Customer 3:




    Copyright Sun Microsystems Inc. All Rights Reserved.   [43]
Customer 4:




    Copyright Sun Microsystems Inc. All Rights Reserved.   [44]
Customer 5:




    Copyright Sun Microsystems Inc. All Rights Reserved.   [45]
More Information



Copyright Sun Microsystems Inc. All Rights Reserved.   [46]
OpenMQ -- More Information
• Visit the product webpage
  > http://sun.com/software/products/message_queue
• Join the Open Message Queue project
  > https://mq.dev.java.net
• Browse the product documentation
  > http://docs.sun.com/app/docs/coll/1307.3
• Take the free technical training
  > http://www.sun.com/training/catalog/courses/WMT-SMQ-1491.xml




            Copyright Sun Microsystems Inc. All Rights Reserved.   [47]
Related Information
• Java Composite Application Platform Suite
  > http://sun.com/software/javaenterprisesystem/javacaps/
• Java System Identity Manager
  > http://sun.com/software/products/identity
• Project GlassFish
  > https://glassfish.dev.java.net/
• The Aquarium, A community forum
  > http://blogs.sun.com/theaquarium/



            Copyright Sun Microsystems Inc. All Rights Reserved.   [48]
Thank You!

Introduction to
OpenMQ
Linda Schneider
linda.schneider@sun.com

More Related Content

What's hot

Web Space10 Overview
Web Space10 OverviewWeb Space10 Overview
Web Space10 Overview
Alexis Moussine-Pouchkine
 
Glass Fish Portfolio Web Server Cvr
Glass Fish Portfolio Web Server CvrGlass Fish Portfolio Web Server Cvr
Glass Fish Portfolio Web Server Cvr
Eduardo Pelegri-Llopart
 
Nuxeo WebEngine and GlassFish v3
Nuxeo WebEngine and GlassFish v3Nuxeo WebEngine and GlassFish v3
Nuxeo WebEngine and GlassFish v3
Nuxeo
 
VMworld 2013: vSphere Networking and vCloud Networking Suite Best Practices a...
VMworld 2013: vSphere Networking and vCloud Networking Suite Best Practices a...VMworld 2013: vSphere Networking and vCloud Networking Suite Best Practices a...
VMworld 2013: vSphere Networking and vCloud Networking Suite Best Practices a...
VMworld
 
Dynamic Languages & Web Frameworks in GlassFish
Dynamic Languages & Web Frameworks in GlassFishDynamic Languages & Web Frameworks in GlassFish
Dynamic Languages & Web Frameworks in GlassFish
IndicThreads
 
Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014
Arun Gupta
 
Project Fuji/OpenESB Aquarium Paris
Project Fuji/OpenESB Aquarium ParisProject Fuji/OpenESB Aquarium Paris
Project Fuji/OpenESB Aquarium Paris
Alexis Moussine-Pouchkine
 
Deploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse FabricDeploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse Fabric
dejanb
 
HTML5 WebSocket Introduction
HTML5 WebSocket IntroductionHTML5 WebSocket Introduction
HTML5 WebSocket Introduction
Marcelo Jabali
 
OpenDS Primer Aquarium
OpenDS Primer AquariumOpenDS Primer Aquarium
OpenDS Primer Aquarium
Eduardo Pelegri-Llopart
 
GlassFish v2 Clustering
GlassFish v2 ClusteringGlassFish v2 Clustering
GlassFish v2 Clustering
Eduardo Pelegri-Llopart
 
Programming WebSockets with Glassfish and Grizzly
Programming WebSockets with Glassfish and GrizzlyProgramming WebSockets with Glassfish and Grizzly
Programming WebSockets with Glassfish and Grizzly
C2B2 Consulting
 
Defeating The Network Security Infrastructure V1.0
Defeating The Network Security Infrastructure  V1.0Defeating The Network Security Infrastructure  V1.0
Defeating The Network Security Infrastructure V1.0
Philippe Bogaerts
 
vlavrynovych - WebSockets Presentation
vlavrynovych - WebSockets Presentationvlavrynovych - WebSockets Presentation
vlavrynovych - WebSockets Presentation
Volodymyr Lavrynovych
 
WebSocket protocol
WebSocket protocolWebSocket protocol
WebSocket protocol
Kensaku Komatsu
 
Virtual Router in CloudStack 4.4
Virtual Router in CloudStack 4.4Virtual Router in CloudStack 4.4
Virtual Router in CloudStack 4.4
Sheng Yang
 
Whats new in Microsoft Windows Server 2016 Clustering and Storage
Whats new in Microsoft Windows Server 2016 Clustering and StorageWhats new in Microsoft Windows Server 2016 Clustering and Storage
Whats new in Microsoft Windows Server 2016 Clustering and Storage
John Moran
 
VMworld 2013: vSphere Distributed Switch – Design and Best Practices
VMworld 2013: vSphere Distributed Switch – Design and Best Practices VMworld 2013: vSphere Distributed Switch – Design and Best Practices
VMworld 2013: vSphere Distributed Switch – Design and Best Practices
VMworld
 
VMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep DiveVMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld
 
Glassfish V2.1 Harpreet Singh
Glassfish V2.1 Harpreet SinghGlassfish V2.1 Harpreet Singh
Glassfish V2.1 Harpreet Singh
Eduardo Pelegri-Llopart
 

What's hot (20)

Web Space10 Overview
Web Space10 OverviewWeb Space10 Overview
Web Space10 Overview
 
Glass Fish Portfolio Web Server Cvr
Glass Fish Portfolio Web Server CvrGlass Fish Portfolio Web Server Cvr
Glass Fish Portfolio Web Server Cvr
 
Nuxeo WebEngine and GlassFish v3
Nuxeo WebEngine and GlassFish v3Nuxeo WebEngine and GlassFish v3
Nuxeo WebEngine and GlassFish v3
 
VMworld 2013: vSphere Networking and vCloud Networking Suite Best Practices a...
VMworld 2013: vSphere Networking and vCloud Networking Suite Best Practices a...VMworld 2013: vSphere Networking and vCloud Networking Suite Best Practices a...
VMworld 2013: vSphere Networking and vCloud Networking Suite Best Practices a...
 
Dynamic Languages & Web Frameworks in GlassFish
Dynamic Languages & Web Frameworks in GlassFishDynamic Languages & Web Frameworks in GlassFish
Dynamic Languages & Web Frameworks in GlassFish
 
Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014
 
Project Fuji/OpenESB Aquarium Paris
Project Fuji/OpenESB Aquarium ParisProject Fuji/OpenESB Aquarium Paris
Project Fuji/OpenESB Aquarium Paris
 
Deploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse FabricDeploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse Fabric
 
HTML5 WebSocket Introduction
HTML5 WebSocket IntroductionHTML5 WebSocket Introduction
HTML5 WebSocket Introduction
 
OpenDS Primer Aquarium
OpenDS Primer AquariumOpenDS Primer Aquarium
OpenDS Primer Aquarium
 
GlassFish v2 Clustering
GlassFish v2 ClusteringGlassFish v2 Clustering
GlassFish v2 Clustering
 
Programming WebSockets with Glassfish and Grizzly
Programming WebSockets with Glassfish and GrizzlyProgramming WebSockets with Glassfish and Grizzly
Programming WebSockets with Glassfish and Grizzly
 
Defeating The Network Security Infrastructure V1.0
Defeating The Network Security Infrastructure  V1.0Defeating The Network Security Infrastructure  V1.0
Defeating The Network Security Infrastructure V1.0
 
vlavrynovych - WebSockets Presentation
vlavrynovych - WebSockets Presentationvlavrynovych - WebSockets Presentation
vlavrynovych - WebSockets Presentation
 
WebSocket protocol
WebSocket protocolWebSocket protocol
WebSocket protocol
 
Virtual Router in CloudStack 4.4
Virtual Router in CloudStack 4.4Virtual Router in CloudStack 4.4
Virtual Router in CloudStack 4.4
 
Whats new in Microsoft Windows Server 2016 Clustering and Storage
Whats new in Microsoft Windows Server 2016 Clustering and StorageWhats new in Microsoft Windows Server 2016 Clustering and Storage
Whats new in Microsoft Windows Server 2016 Clustering and Storage
 
VMworld 2013: vSphere Distributed Switch – Design and Best Practices
VMworld 2013: vSphere Distributed Switch – Design and Best Practices VMworld 2013: vSphere Distributed Switch – Design and Best Practices
VMworld 2013: vSphere Distributed Switch – Design and Best Practices
 
VMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep DiveVMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep Dive
 
Glassfish V2.1 Harpreet Singh
Glassfish V2.1 Harpreet SinghGlassfish V2.1 Harpreet Singh
Glassfish V2.1 Harpreet Singh
 

Viewers also liked

Java FX Tools Aquarium Paris
Java FX Tools Aquarium ParisJava FX Tools Aquarium Paris
Java FX Tools Aquarium Paris
Alexis Moussine-Pouchkine
 
Nuxeo WebEngine GFv3 Aquarium Paris
Nuxeo WebEngine GFv3 Aquarium ParisNuxeo WebEngine GFv3 Aquarium Paris
Nuxeo WebEngine GFv3 Aquarium Paris
Alexis Moussine-Pouchkine
 
OpenDS Aquarium Paris
OpenDS Aquarium ParisOpenDS Aquarium Paris
OpenDS Aquarium Paris
Alexis Moussine-Pouchkine
 
SFR RED Aquarium Paris
SFR RED Aquarium ParisSFR RED Aquarium Paris
SFR RED Aquarium Paris
Alexis Moussine-Pouchkine
 
Hudson Aquarium Paris
Hudson Aquarium ParisHudson Aquarium Paris
Hudson Aquarium Paris
Alexis Moussine-Pouchkine
 
XWiki Aquarium Paris
XWiki Aquarium ParisXWiki Aquarium Paris
XWiki Aquarium Paris
Alexis Moussine-Pouchkine
 
JavaFX 1.0 SDK Aquarium Paris
JavaFX 1.0 SDK Aquarium ParisJavaFX 1.0 SDK Aquarium Paris
JavaFX 1.0 SDK Aquarium Paris
Alexis Moussine-Pouchkine
 

Viewers also liked (7)

Java FX Tools Aquarium Paris
Java FX Tools Aquarium ParisJava FX Tools Aquarium Paris
Java FX Tools Aquarium Paris
 
Nuxeo WebEngine GFv3 Aquarium Paris
Nuxeo WebEngine GFv3 Aquarium ParisNuxeo WebEngine GFv3 Aquarium Paris
Nuxeo WebEngine GFv3 Aquarium Paris
 
OpenDS Aquarium Paris
OpenDS Aquarium ParisOpenDS Aquarium Paris
OpenDS Aquarium Paris
 
SFR RED Aquarium Paris
SFR RED Aquarium ParisSFR RED Aquarium Paris
SFR RED Aquarium Paris
 
Hudson Aquarium Paris
Hudson Aquarium ParisHudson Aquarium Paris
Hudson Aquarium Paris
 
XWiki Aquarium Paris
XWiki Aquarium ParisXWiki Aquarium Paris
XWiki Aquarium Paris
 
JavaFX 1.0 SDK Aquarium Paris
JavaFX 1.0 SDK Aquarium ParisJavaFX 1.0 SDK Aquarium Paris
JavaFX 1.0 SDK Aquarium Paris
 

Similar to OpenMQ Aquarium Paris

Building With Open Mq V2
Building With Open Mq V2Building With Open Mq V2
Building With Open Mq V2
Eduardo Pelegri-Llopart
 
Jms introduction
Jms introductionJms introduction
Jms introduction
Bui Kiet
 
Connecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQConnecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQ
Rob Davies
 
Test Strategy For Future Cloud Architecture
Test Strategy For Future Cloud ArchitectureTest Strategy For Future Cloud Architecture
Test Strategy For Future Cloud Architecture
MaheshShri1
 
Cloud-based performance testing
Cloud-based performance testingCloud-based performance testing
Cloud-based performance testing
abhinavm
 
“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...
“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...
“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...
Edge AI and Vision Alliance
 
IBM MQ High Availability 2019
IBM MQ High Availability 2019IBM MQ High Availability 2019
IBM MQ High Availability 2019
David Ware
 
M14: MQ security deep dive ITC 2019
M14: MQ security deep dive ITC 2019M14: MQ security deep dive ITC 2019
M14: MQ security deep dive ITC 2019
Robert Parker
 
Introduction to Lagom Framework
Introduction to Lagom FrameworkIntroduction to Lagom Framework
Introduction to Lagom Framework
Knoldus Inc.
 
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Manish Kumar Yadav
 
IBM MQ V8 annd JMS 2.0
IBM MQ V8 annd JMS 2.0IBM MQ V8 annd JMS 2.0
IBM MQ V8 annd JMS 2.0
IBM Systems UKI
 
Using open source for IoT
Using open source for IoTUsing open source for IoT
Using open source for IoT
Ian Skerrett
 
What's New in IBM MQ - Version 8
What's New in IBM MQ - Version 8What's New in IBM MQ - Version 8
What's New in IBM MQ - Version 8
MarkTaylorIBM
 
Through the JMX Window
Through the JMX WindowThrough the JMX Window
Through the JMX Window
C2B2 Consulting
 
Connecting IBM MessageSight to the Enterprise
Connecting IBM MessageSight to the EnterpriseConnecting IBM MessageSight to the Enterprise
Connecting IBM MessageSight to the Enterprise
Andrew Schofield
 
Ranker jms implementation
Ranker jms implementationRanker jms implementation
Ranker jms implementation
EosSoftware
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC
vipin kumar
 
Low Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTTLow Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTT
Henrik Sjöstrand
 
Through the JMX Window
Through the JMX WindowThrough the JMX Window
Through the JMX Window
C2B2 Consulting
 
Microservice Workshop Hands On
Microservice Workshop Hands On Microservice Workshop Hands On
Microservice Workshop Hands On
Ram G Suri
 

Similar to OpenMQ Aquarium Paris (20)

Building With Open Mq V2
Building With Open Mq V2Building With Open Mq V2
Building With Open Mq V2
 
Jms introduction
Jms introductionJms introduction
Jms introduction
 
Connecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQConnecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQ
 
Test Strategy For Future Cloud Architecture
Test Strategy For Future Cloud ArchitectureTest Strategy For Future Cloud Architecture
Test Strategy For Future Cloud Architecture
 
Cloud-based performance testing
Cloud-based performance testingCloud-based performance testing
Cloud-based performance testing
 
“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...
“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...
“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...
 
IBM MQ High Availability 2019
IBM MQ High Availability 2019IBM MQ High Availability 2019
IBM MQ High Availability 2019
 
M14: MQ security deep dive ITC 2019
M14: MQ security deep dive ITC 2019M14: MQ security deep dive ITC 2019
M14: MQ security deep dive ITC 2019
 
Introduction to Lagom Framework
Introduction to Lagom FrameworkIntroduction to Lagom Framework
Introduction to Lagom Framework
 
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
 
IBM MQ V8 annd JMS 2.0
IBM MQ V8 annd JMS 2.0IBM MQ V8 annd JMS 2.0
IBM MQ V8 annd JMS 2.0
 
Using open source for IoT
Using open source for IoTUsing open source for IoT
Using open source for IoT
 
What's New in IBM MQ - Version 8
What's New in IBM MQ - Version 8What's New in IBM MQ - Version 8
What's New in IBM MQ - Version 8
 
Through the JMX Window
Through the JMX WindowThrough the JMX Window
Through the JMX Window
 
Connecting IBM MessageSight to the Enterprise
Connecting IBM MessageSight to the EnterpriseConnecting IBM MessageSight to the Enterprise
Connecting IBM MessageSight to the Enterprise
 
Ranker jms implementation
Ranker jms implementationRanker jms implementation
Ranker jms implementation
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC
 
Low Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTTLow Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTT
 
Through the JMX Window
Through the JMX WindowThrough the JMX Window
Through the JMX Window
 
Microservice Workshop Hands On
Microservice Workshop Hands On Microservice Workshop Hands On
Microservice Workshop Hands On
 

More from Alexis Moussine-Pouchkine

GlassFish Article September 07
GlassFish Article September 07GlassFish Article September 07
GlassFish Article September 07
Alexis Moussine-Pouchkine
 
GlassFish OSGi - Java2days 2010
GlassFish OSGi - Java2days 2010GlassFish OSGi - Java2days 2010
GlassFish OSGi - Java2days 2010
Alexis Moussine-Pouchkine
 
GlassFish Community and future larochelle
GlassFish Community and future larochelleGlassFish Community and future larochelle
GlassFish Community and future larochelle
Alexis Moussine-Pouchkine
 
Javaee glassfish jcertif2010
Javaee glassfish jcertif2010Javaee glassfish jcertif2010
Javaee glassfish jcertif2010
Alexis Moussine-Pouchkine
 
GlassFish Community - FISL 2010
GlassFish Community - FISL 2010GlassFish Community - FISL 2010
GlassFish Community - FISL 2010
Alexis Moussine-Pouchkine
 
GlassFish OSGi - From modular runtime to hybrid applications
GlassFish OSGi - From modular runtime to hybrid applicationsGlassFish OSGi - From modular runtime to hybrid applications
GlassFish OSGi - From modular runtime to hybrid applications
Alexis Moussine-Pouchkine
 
Feuille de route (roadmap) GlassFish
Feuille de route (roadmap) GlassFishFeuille de route (roadmap) GlassFish
Feuille de route (roadmap) GlassFish
Alexis Moussine-Pouchkine
 
Java EE 6 Solutions Linux 2010
Java EE 6 Solutions Linux 2010Java EE 6 Solutions Linux 2010
Java EE 6 Solutions Linux 2010
Alexis Moussine-Pouchkine
 
GlassFish v3 at JavaZone 09
GlassFish v3 at JavaZone 09GlassFish v3 at JavaZone 09
GlassFish v3 at JavaZone 09
Alexis Moussine-Pouchkine
 
Open Solaris 2009.06
Open Solaris 2009.06Open Solaris 2009.06
Open Solaris 2009.06
Alexis Moussine-Pouchkine
 
Java EE 6 and GlassFish portfolio
Java EE 6 and GlassFish portfolioJava EE 6 and GlassFish portfolio
Java EE 6 and GlassFish portfolio
Alexis Moussine-Pouchkine
 
Metro Web Services
Metro Web ServicesMetro Web Services
Metro Web Services
Alexis Moussine-Pouchkine
 
Retour JavaOne 2009
Retour JavaOne 2009Retour JavaOne 2009
Retour JavaOne 2009
Alexis Moussine-Pouchkine
 
Zembly
ZemblyZembly
Behind The Clouds
Behind The CloudsBehind The Clouds
Behind The Clouds
Alexis Moussine-Pouchkine
 
Open MQ Jerome Moliere
Open MQ Jerome MoliereOpen MQ Jerome Moliere
Open MQ Jerome Moliere
Alexis Moussine-Pouchkine
 
OpenMQ François Ostyn
OpenMQ François OstynOpenMQ François Ostyn
OpenMQ François Ostyn
Alexis Moussine-Pouchkine
 

More from Alexis Moussine-Pouchkine (20)

GlassFish Article September 07
GlassFish Article September 07GlassFish Article September 07
GlassFish Article September 07
 
GlassFish OSGi - Java2days 2010
GlassFish OSGi - Java2days 2010GlassFish OSGi - Java2days 2010
GlassFish OSGi - Java2days 2010
 
GlassFish Community and future larochelle
GlassFish Community and future larochelleGlassFish Community and future larochelle
GlassFish Community and future larochelle
 
Javaee glassfish jcertif2010
Javaee glassfish jcertif2010Javaee glassfish jcertif2010
Javaee glassfish jcertif2010
 
GlassFish Community - FISL 2010
GlassFish Community - FISL 2010GlassFish Community - FISL 2010
GlassFish Community - FISL 2010
 
GlassFish OSGi - From modular runtime to hybrid applications
GlassFish OSGi - From modular runtime to hybrid applicationsGlassFish OSGi - From modular runtime to hybrid applications
GlassFish OSGi - From modular runtime to hybrid applications
 
Feuille de route (roadmap) GlassFish
Feuille de route (roadmap) GlassFishFeuille de route (roadmap) GlassFish
Feuille de route (roadmap) GlassFish
 
Java EE 6 Solutions Linux 2010
Java EE 6 Solutions Linux 2010Java EE 6 Solutions Linux 2010
Java EE 6 Solutions Linux 2010
 
GlassFish v3 at JavaZone 09
GlassFish v3 at JavaZone 09GlassFish v3 at JavaZone 09
GlassFish v3 at JavaZone 09
 
L'association GUSES
L'association GUSESL'association GUSES
L'association GUSES
 
Open Solaris 2009.06
Open Solaris 2009.06Open Solaris 2009.06
Open Solaris 2009.06
 
Java EE 6 and GlassFish portfolio
Java EE 6 and GlassFish portfolioJava EE 6 and GlassFish portfolio
Java EE 6 and GlassFish portfolio
 
Metro Web Services
Metro Web ServicesMetro Web Services
Metro Web Services
 
Retour JavaOne 2009
Retour JavaOne 2009Retour JavaOne 2009
Retour JavaOne 2009
 
Zembly
ZemblyZembly
Zembly
 
Behind The Clouds
Behind The CloudsBehind The Clouds
Behind The Clouds
 
Retour d'expérience Cap Gemini GlassFish
Retour d'expérience Cap Gemini GlassFishRetour d'expérience Cap Gemini GlassFish
Retour d'expérience Cap Gemini GlassFish
 
OpenDS - Open Source Java LDAP server
OpenDS - Open Source Java LDAP serverOpenDS - Open Source Java LDAP server
OpenDS - Open Source Java LDAP server
 
Open MQ Jerome Moliere
Open MQ Jerome MoliereOpen MQ Jerome Moliere
Open MQ Jerome Moliere
 
OpenMQ François Ostyn
OpenMQ François OstynOpenMQ François Ostyn
OpenMQ François Ostyn
 

Recently uploaded

Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
GDSC PJATK
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 

Recently uploaded (20)

Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 

OpenMQ Aquarium Paris

  • 2. Agenda: • What is OpenMQ ? > Basic Concepts > Product Features > High Availability Architectures • OpenMQ Roadmap • Selected Customer Scenarios • More information Copyright Sun Microsystems Inc. All Rights Reserved. [2]
  • 3. What is OpenMQ ? Copyright Sun Microsystems Inc. All Rights Reserved. [3]
  • 4. Open MQ Basics • Allows heterogenous applications to reliability and asynchronously pass data between each other. • Open Source Java Message Service (JMS) implementation (+ additions) • Default Messaging Provider for Glassfish • Also can be used on its own for standalone JMS applications • Enterprise level quality (>8 years in development) • Open Source since JavaOne 2006 • Also available in a supported product (SJSMQ) Copyright Sun Microsystems Inc. All Rights Reserved. [4]
  • 5. OpenMQ Information • The open source version of Java MQ > Includes all features from Java MQ • Available from http://mq.dev.java.net • Developer and User discussion forums • Stable builds with product releases • Early access, promoted builds available > New features, and fixes • Dual license support (GPL V2 and CDDL) Copyright Sun Microsystems Inc. All Rights Reserved. [5]
  • 6. OpenMQ Specifications: • Java Message Service (JMS) 1.1 Specification, JSR 914 • J2EE specification 1.3 or later • Java Connector Architecture (JCA) for the openMQ resource adapter (JMSRA) Copyright Sun Microsystems Inc. All Rights Reserved. [6]
  • 7. Basic Concepts Copyright Sun Microsystems Inc. All Rights Reserved. [7]
  • 8. What Is JMS ? • A Java-based api for Message Oriented Middleware. • It use the following concepts (among others) > Message Order is guaranteed > Level of reliability is determined when the message is sent > Transactions (grouping of messages to be sent or produced together) are supported > Format of the message is defined by the producer > Provides two styles of message delivery (point-to-point and publish-subscribe) Copyright Sun Microsystems Inc. All Rights Reserved. [8]
  • 9. How Does JMS Work? Copyright Sun Microsystems Inc. All Rights Reserved. [9]
  • 10. Messaging Models • Java Message Service defines two messaging models: > Publish-subscribe (or pub-sub) – One-to-many messaging. – Every message goes to all interested consumers. > Point-to-point – One-to-one messaging. – A single message goes to only one consumer. Copyright Sun Microsystems Inc. All Rights Reserved. [10]
  • 11. Messaging Models (continued) Copyright Sun Microsystems Inc. All Rights Reserved. [11]
  • 12. What are the pieces of OpenMQ Broker The server component of OpenMQ which handles reliable delivery Client Allows clients to connect to the implementations OpenMQ Broker JMX api Full administration Api for custom applications Administration Allows administrators to control Tools OpenMQ Copyright Sun Microsystems Inc. All Rights Reserved. [12]
  • 13. OpenMQ Architecture Copyright Sun Microsystems Inc. All Rights Reserved. [13]
  • 14. (*) Product Features * as of OpenMQ 4.3 (releasing 12/15/2008) Copyright Sun Microsystems Inc. All Rights Reserved. [14]
  • 15. Connectivity in OpenMQ • JMS API • C API • Clients connect via TCP/TLS or SOAP / HTTP • JCA Resource Adapter JMSRA. Also used w/ > JMSJCA RA > Generic RA • UMS Copyright Sun Microsystems Inc. All Rights Reserved. [15]
  • 16. Scaling in OpenMQ • Support for 1000s of connections on a single broker • Support for clusters of multiple brokers • Message size limited only by operating system and storage capacity • Support for multiple receivers on a queue • Ability to set size and behavior limits on a destination to prevent memory issues • No-acknowledge mode for performance when reliability is not an issue • Support for message compression Copyright Sun Microsystems Inc. All Rights Reserved. [16]
  • 17. Deploying and Administering • Administration tools • JMX API • Support for both file and JDBC-based message stores • Dead Message Queue (DMQ) • XML Validation • Topic Wildcard Support Copyright Sun Microsystems Inc. All Rights Reserved. [17]
  • 18. Securing OpenMQ • Authentication > Allows administrators to set up a user-name/password database to control access to the system > Supports use of JAAS for pluggable authentication • Authorization > Allows administrators to control which users can access (produce or consume to) specific destinations • SSL connection support > Provides encryption of data to and from the server Copyright Sun Microsystems Inc. All Rights Reserved. [18]
  • 19. Clustering OpenMQ – Definitions • Broker Failover: > Manual – requires administrators intervention > Automatic – does not require intervetion • High Availability Definitions: > Service Availability- support to allow applications to continue to operate (produce and consume messages) rapidly after a failure (Automatic failover) > Data Availability – data is available after a failure • OpenMQ provides support for both service and data availability. • Clients fail-over to other brokers in the cluster Copyright Sun Microsystems Inc. All Rights Reserved. [19]
  • 20. Clustering OpenMQ • Standard clustering provides scaling and service availability > Allows multiple brokers to be connected together and operate > JMS semantics are preserved > Producers and consumers can attach to different brokers > If data is available, administrators can start a broker to dispatch the messages on another machine • OpenMQ also provides additional clustering modes to provide multiple levels of data availability Copyright Sun Microsystems Inc. All Rights Reserved. [20]
  • 21. Clustering OpenMQ There are currently three ways to get availability with OpenMQ: • Standard Clustering > Provides service availability • Sun Cluster Data Service for Java MQ > Provides data availability using a highly available file system. • JDBC-based High Availability > Provides service and data availability by using a highly available database Copyright Sun Microsystems Inc. All Rights Reserved. [21]
  • 22. OpenMQ Features Recent Additions: • Stomp Support examples • Extensive UMS Examples • Spring Examples Planned near-term additions: • Visual VM support • Improved netbeans support • A swing and web based monitoring demo using JMX Copyright Sun Microsystems Inc. All Rights Reserved. [22]
  • 23. UMS: new for 4.3 Copyright Sun Microsystems Inc. All Rights Reserved. [23]
  • 24. What is UMS ? Copyright Sun Microsystems Inc. All Rights Reserved. [24]
  • 25. What is UMS? (lower level) Copyright Sun Microsystems Inc. All Rights Reserved. [25]
  • 26. UMS – the 10k foot view • Simple API > 6 messaging services (e.g. login, send, receive) > Only 2 are required to produce or consume messages > Services are request/reply > Only supports text messages • Runs on top of HTTP(s) • Multiple clients share a single JMS Connection > Default is 100 per connection • 2 style of queries are available: > Simple Messaging – for non-XML text messages > XML Messaging – for XML encoded messages Copyright Sun Microsystems Inc. All Rights Reserved. [26]
  • 27. UMS Interface Types • Simple Query String > POST /ums/simple?service=send& destination=simpleQ&domain=queue Send msg: Hello World! • XML Document <SOAP-ENV:Envelope xmlns:SOAP-ENV=quot;http://schemas.xmlsoap.org/soap/ envelope/quot;> <SOAP-ENV:Header> <ums:MessageHeader xmlns:ums=quot;https://mq.dev.java.net/umsquot; ums:id=quot;1.0quot; ums:version=quot;1.0quot;> <ums:Service ums:service=quot;sendquot; ums:destination=quot;XMLmessagingQquot; ums:domain=quot;queuequot; ums:sid=quot;7-LTgxMDczMTczNQ== quot;/> </ums:MessageHeader> </SOAP-ENV:Header> <SOAP-ENV:Body><bodyvalue>Hello, XML World!</bodyvalue></SOAP-ENV:Body> </SOAP-ENV:Envelope> Copyright Sun Microsystems Inc. All Rights Reserved. [27]
  • 28. Availability Architectures Copyright Sun Microsystems Inc. All Rights Reserved. [28]
  • 29. Standard Clusters - Architecture Copyright Sun Microsystems Inc. All Rights Reserved. [29]
  • 30. Standard Cluster – Key Points • Provides service availability • Delivery of messages is transparent to client and administrator • A new broker can be manually started on the same data if a failure occurs. Copyright Sun Microsystems Inc. All Rights Reserved. [30]
  • 31. Using SunCluster – Single Broker Producer Q1 Consumer Q1 To the JMS Broker clients, the active/standby configuration is hidden Active Standby Sun Cluster Data Service Local or SAN Storage Copyright Sun Microsystems Inc. All Rights Reserved. [31]
  • 32. Using Sun Cluster – Three Brokers Producer Q1 Producer Q2 JDBC or File Store Broker A Broker B Master Broker C Consumer Q1 Consumer Q2 Copyright Sun Microsystems Inc. All Rights Reserved. [32]
  • 33. SunCluster – Key Points • Provides availability and monitoring • A new broker is automatically started to take over the existing data from the unavailable one • Relies on a shared storage device (SAN) • Can be support for distances over 200k Copyright Sun Microsystems Inc. All Rights Reserved. [33]
  • 34. JDBC High Availability - Architecture Copyright Sun Microsystems Inc. All Rights Reserved. [34]
  • 35. JDBC High Availability – Key Points • Simple to configure and set up • How it works: > Keeps all information in a single accessible location > Stores data by broker > Allows another broker to “takeover” the messages > Helps prevent “split-brain” through database heartbeats • Supported available databases > Oracle 9i,10g (RAC or replicated with Sun Cluster) > HADB > MySQL Cluster Copyright Sun Microsystems Inc. All Rights Reserved. [35]
  • 36. OpenMQ Clustering – Comparison Feature Cluster SunCluster JDBC HA Data Availability No Yes Yes Active/Active N/A No Yes Handles Remote sites Yes Yes No [1] HA Filesystem No Yes No Requires HA Database No No Yes Scales to large # of brokers Yes Yes Yes Performance High High Low Complexity Low High Low [4] Takeover speed N/A Medium Fast [3] When Available Now Now Now Minimum # of Brokers 2 2 2 Redundant Network No No[2] No [2] [1] May require Sun Cluster [2] May be required by supporting software [3] Fast for broker take-over. DB recovery may be [4] medium if cannot use existing JDBC slow infrastructure Copyright Sun Microsystems Inc. All Rights Reserved. [36]
  • 37. OpenMQ Roadmap Copyright Sun Microsystems Inc. All Rights Reserved. [37]
  • 38. Crane (MQ 4.4) • Targeted Spring 2009 • Features in evaluation for Crane: > Journaling (storage of message history) > Connected Clusters > JMX support via UMX > Ability to Embed the broker in a standalone application > Performance improvements > Support for grouping message delivery (e.g. Units of Work) > Web-based administration > Scalable destinations > JMS Bridge Copyright Sun Microsystems Inc. All Rights Reserved. [38]
  • 39. Phoenix (MQ 4.5) •Targeted late 2009/early 2010 •Phoenix is too far out to have a list of possible features but we are thinking about: • Features pushed forward from Crane • Encrypted Destinations • XML Content based selectors • Improved MySQL support • Replay of Journaled Messages Copyright Sun Microsystems Inc. All Rights Reserved. [39]
  • 40. Selected Customer Architectures Copyright Sun Microsystems Inc. All Rights Reserved. [40]
  • 41. Customer 1: Copyright Sun Microsystems Inc. All Rights Reserved. [41]
  • 42. Customer 2: Copyright Sun Microsystems Inc. All Rights Reserved. [42]
  • 43. Customer 3: Copyright Sun Microsystems Inc. All Rights Reserved. [43]
  • 44. Customer 4: Copyright Sun Microsystems Inc. All Rights Reserved. [44]
  • 45. Customer 5: Copyright Sun Microsystems Inc. All Rights Reserved. [45]
  • 46. More Information Copyright Sun Microsystems Inc. All Rights Reserved. [46]
  • 47. OpenMQ -- More Information • Visit the product webpage > http://sun.com/software/products/message_queue • Join the Open Message Queue project > https://mq.dev.java.net • Browse the product documentation > http://docs.sun.com/app/docs/coll/1307.3 • Take the free technical training > http://www.sun.com/training/catalog/courses/WMT-SMQ-1491.xml Copyright Sun Microsystems Inc. All Rights Reserved. [47]
  • 48. Related Information • Java Composite Application Platform Suite > http://sun.com/software/javaenterprisesystem/javacaps/ • Java System Identity Manager > http://sun.com/software/products/identity • Project GlassFish > https://glassfish.dev.java.net/ • The Aquarium, A community forum > http://blogs.sun.com/theaquarium/ Copyright Sun Microsystems Inc. All Rights Reserved. [48]
  • 49. Thank You! Introduction to OpenMQ Linda Schneider linda.schneider@sun.com