Did You Get The Message?
Download
Report
Transcript Did You Get The Message?
SOA-5: Did You Get The Message?
Giovanni Boschi
Director, Sonic Products
Agenda
Did You Get The Message?
What Messaging Is, What It Is For
Java™ Message Service Overview
SonicMQ® Clustering, DRA, and CAA
2
DEV-5: Did You Get The Message?
© 2008 Progress Software Corporation
Critical SOA Infrastructure Requirements
What if something goes wrong? What if everything goes right?
Reliability, availability,
performance
Geographic distribution,
organizational federation
Heterogeneous SOA
Management, visibility,
control
3
DEV-5: Did You Get The Message?
© 2008 Progress Software Corporation
The Evolution of Message-Oriented Middleware
SOA
N-Tier
(JMS, ESB, EDA)
Mainframe
(Pub/Sub)
SonicMQ
(Queueing)
Teknekron, Reuters,
MQSeries, DEC
MessageQ
TCAM/IMS
TCAM/CICS
1960
4
DEV-5: Did You Get The Message?
1970
1990
2000
2010
© 2008 Progress Software Corporation
RFC 1149 - Carrier Pigeon Internet Protocol
Network Working Group
D. Waitzman
Request for Comments: 1149
BBN STC
1 April 1990
A Standard for the Transmission of IP Datagrams on Avian Carriers
Status of this Memo
This memo describes an experimental method for the encapsulation of
IP datagrams in avian carriers.
This specification is primarily
useful in Metropolitan Area Networks.
recommended standard.
This is an experimental, not
Distribution of this memo is unlimited.
Overview and Rational
Avian carriers can provide high delay, low throughput, and low
altitude service.
The connection topology is limited to a single
point-to-point path for each carrier, used with standard carriers,
but many carriers can be used without significant interference with
each other, outside of early spring.
5
DEV-5: Did You Get The Message?
[ ... ]
© 2008 Progress Software Corporation
Agenda
Did You Get The Message?
What Messaging Is, What It Is For
Java Message Service Overview
SonicMQ Clustering, DRA, and CAA
6
DEV-5: Did You Get The Message?
© 2008 Progress Software Corporation
JMS Overview
7
DEV-5: Did You Get The Message?
© 2008 Progress Software Corporation
JMS Messages
8
Message defines “standard headers” and
“message properties”
Standard Headers: JMSDestination,
JMSReplyTo, JMSTimestamp,
JMSExpiration, JMSDeliveryMode,
JMSPriority, JMSMessageID,
JMSCorrelationID
Message Properties: user-defined
name/value pairs
Subtypes define different types of message body
BytesMessage: stream of bytes
MapMessage: name/value pairs
ObjectMessage: serialized object
StreamMessage: stream of typed primitives
TextMessage: text string or XML document
DEV-5: Did You Get The Message?
© 2008 Progress Software Corporation
JMS Administered Objects
“Administered objects” encapsulate things you want to change in
deployment, without changing code:
JMS provider, logical destinations, connection and tuning
parameters
Queue v. Topic defines distinct “messaging domains”
Most interfaces have domain-specific subtypes
9
DEV-5: Did You Get The Message?
© 2008 Progress Software Corporation
Messaging Domains
Point to Point
Sender
Queue
Reservations
Potential
Receiver
Potential
Receiver
Ticketing
Order fulfillment
Online trading
Publish and Subscribe
Stock ticker
Subscriber
Publisher
Topic
Catalog updates
Subscriber
10
DEV-5: Did You Get The Message?
Price changes
Data replication
© 2008 Progress Software Corporation
JMS Connections
The actual network connection
TCP, SSL, HTTP/S
Authentication Identity
user/pw, certificate
Factory for Sessions
11
DEV-5: Did You Get The Message?
© 2008 Progress Software Corporation
JMS Sessions
Sessions create and “own” Producers, Consumers
Sessions create Messages
Sessions define ordered sequence of production, consumption
Acknowledgement Mode
12
DEV-5: Did You Get The Message?
AUTO
CLIENT
DUPS_OK
SINGLE_MESSAGE
Transactional
XA
© 2008 Progress Software Corporation
JMS Producers and Consumers
Producers
13
Destination (fixed or dynamic)
Delivery Mode
PERSISTENT
NON_PERSISTENT
NON_PERSISTENT_REPLICATED
DISCARDABLE
TTL (Message Expiration)
Priority
DEV-5: Did You Get The Message?
© 2008 Progress Software Corporation
Agenda
Did You Get The Message?
What Messaging Is, What It Is For
Java Message Service Overview
SonicMQ Clustering, DRA, and CAA
14
DEV-5: Did You Get The Message?
© 2008 Progress Software Corporation
Global Distribution and Federation
Brokers, Clusters, Nodes, and DRA
Regional Office
Head Office
Business
Application
P
Business
Application
Business
Application
Business
Application
S
Business
Application
Broker Cluster
P S
P S
P S
Business
Application
Business
Application
Regional Office
Business
Application
Business
Application
P
S
Partner
Cluster
Business
Application
15
DEV-5: Did You Get The Message?
© 2008 Progress Software Corporation
Brokers, Clusters, Nodes, and DRA
Broker is the basic message server
Brokers can be Clustered
Cluster
• A cluster acts like one Broker
in terms of messaging
• Messages are automatically routed to all cluster
members
Brokers alone or in a cluster can
be in Primary-Backup CAA™ pairs
Broker Cluster
P
S
P S
P S
P S
A Node is either a broker or cluster
Dynamic Routing Architecture (DRA)
• on demand connections between Nodes
• Node-to-Node Authorization/Authentication
16
DEV-5: Did You Get The Message?
© 2008 Progress Software Corporation
High Availability through Replication
Sonic Continuous Availability Architecture
Headquarters
CLIENTS
Business
Business
Application
Application
Business
Message Server
P
S
Application
Business
Application
PRIMARY
SERVER
SECONDARY
SERVER
FAULT TOLERANT
SERVER PAIR
17
DEV-5: Did You Get The Message?
© 2008 Progress Software Corporation
Scalability through Clustering
Volume and Throughput Scalability within a Domain
Headquarters
Business
Application
Business
Business
Application
Application
Business
Broker Cluster
Message
Server
P
S
P
Broker Cluster
P
P
S
P
18
P
S
P
S
S
Application
Business
Application
S
S
DEV-5: Did You Get The Message?
© 2008 Progress Software Corporation
Global Reach through Dynamic Routing
A way to reliably connect services across domains
Regional Office
Headquarters
Business
Application
Business
P
S
Business
Business
Application
Application
Application
Business
Business
Broker Cluster
Application
P S
P S
P S
Application
Business
Application
Processing Center
P S
Business
Application
Business
P
Application
Partner
S
Data Center
Cluster
Business
Application
19
DEV-5: Did You Get The Message?
© 2008 Progress Software Corporation
In Summary
Enterprise Messaging enables
• Application Reliability, Availability,
Performance, Scalability
• Business Agility through Loosely Coupled
Architecture
SonicMQ enables
• Globally Distributed Architecture
• Business Continuity with HA built into the
software
• Heterogeneous Connectivity (Java, ABL,
J2EE, C, C++, C#, HTTP, SOAP, … )
You need it in case something goes
wrong – but more importantly, in case
everything goes right!
20
DEV-5: Did You Get The Message?
© 2008 Progress Software Corporation
For More Information, go to…
Java Message Service
• Specification: http://java.sun.com/products/jms/docs.html
• Tutorial: http://java.sun.com/products/jms/tutorial/
PSDN
•
http://www.psdn.com/library/kbcategory.jspa?categoryID=1286
Documentation:
• SonicMQ Application Programming Guide
• SonicMQ Deployment Guide
Other
• Google “RFC 1149”
21
DEV-5: Did You Get The Message?
© 2008 Progress Software Corporation
?
Questions
22
DEV-5: Did You Get The Message?
© 2008 Progress Software Corporation
Thank You
23
DEV-5: Did You Get The Message?
© 2008 Progress Software Corporation
24
DEV-5: Did You Get The Message?
© 2008 Progress Software Corporation