soa-5: did you get the message? giovanni boschi director, sonic products
TRANSCRIPT
SOA-5: Did You Get The Message?
Giovanni BoschiDirector, Sonic Products
© 2008 Progress Software Corporation2 DEV-5: Did You Get The Message?
Agenda
What Messaging Is, What It Is For Java™ Message Service Overview SonicMQ® Clustering, DRA, and CAA
Did You Get The Message?
© 2008 Progress Software Corporation3 DEV-5: Did You Get The Message?
Critical SOA Infrastructure Requirements
Reliability, availability, performance
Geographic distribution, organizational federation
Heterogeneous SOA
Management, visibility, control
What if something goes wrong? What if everything goes right?
© 2008 Progress Software Corporation4 DEV-5: Did You Get The Message?
The Evolution of Message-Oriented Middleware
1960 1970 1990 2000 2010
Mainframe
(Queueing)
TCAM/IMS TCAM/CICS
N-Tier
(Pub/Sub)
Teknekron, Reuters, MQSeries, DEC
MessageQ
SOA
(JMS, ESB, EDA)
SonicMQ
© 2008 Progress Software Corporation5 DEV-5: Did You Get The Message?
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. This is an experimental, not
recommended standard. 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. [ ... ]
© 2008 Progress Software Corporation6 DEV-5: Did You Get The Message?
Agenda
What Messaging Is, What It Is For Java Message Service Overview SonicMQ Clustering, DRA, and CAA
Did You Get The Message?
© 2008 Progress Software Corporation7 DEV-5: Did You Get The Message?
JMS Overview
© 2008 Progress Software Corporation8 DEV-5: Did You Get The Message?
JMS Messages
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
© 2008 Progress Software Corporation9 DEV-5: Did You Get The Message?
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
© 2008 Progress Software Corporation10 DEV-5: Did You Get The Message?
Messaging Domains
Reservations
Ticketing
Order fulfillment
Online trading
Point to Point
SenderSenderSenderSenderPotentialPotentialReceiverReceiver
PotentialPotentialReceiverReceiver
PotentialPotentialReceiverReceiver
PotentialPotentialReceiverReceiver
QueueQueueQueueQueue
Stock ticker
Price changes
Catalog updates
Data replication
Publish and Subscribe
PublisherPublisherPublisherPublisher TopicTopicTopicTopic
SubscriberSubscriberSubscriberSubscriber
SubscriberSubscriberSubscriberSubscriber
© 2008 Progress Software Corporation11 DEV-5: Did You Get The Message?
JMS Connections
The actual network connection
TCP, SSL, HTTP/S
Authentication Identity
user/pw, certificate
Factory for Sessions
© 2008 Progress Software Corporation12 DEV-5: Did You Get The Message?
JMS Sessions
Sessions create and “own” Producers, Consumers
Sessions create Messages
Sessions define ordered sequence of production, consumption
Sessions create and “own” Producers, Consumers
Sessions create Messages
Sessions define ordered sequence of production, consumption
Acknowledgement Mode
AUTO
CLIENT
DUPS_OK
SINGLE_MESSAGE
Transactional
XA
Acknowledgement Mode
AUTO
CLIENT
DUPS_OK
SINGLE_MESSAGE
Transactional
XA
© 2008 Progress Software Corporation13 DEV-5: Did You Get The Message?
JMS Producers and Consumers
Producers
Destination (fixed or dynamic)
Delivery Mode PERSISTENT
NON_PERSISTENT
NON_PERSISTENT_REPLICATED
DISCARDABLE
TTL (Message Expiration)
Priority
© 2008 Progress Software Corporation14 DEV-5: Did You Get The Message?
Agenda
What Messaging Is, What It Is For Java Message Service Overview SonicMQ Clustering, DRA, and CAA
Did You Get The Message?
© 2008 Progress Software Corporation15 DEV-5: Did You Get The Message?
Head OfficeRegional Office
Partner
BusinessApplication
BusinessApplication
BusinessApplication
BusinessApplication
BusinessApplication
BusinessApplication
BusinessApplication
Regional Office
BusinessApplication
BusinessApplication
BusinessApplication
Cluster
P S
P S
Broker Cluster
P S
P SP S
Global Distribution and Federation
Brokers, Clusters, Nodes, and DRA
© 2008 Progress Software Corporation16 DEV-5: Did You Get The Message?
Broker is the basic message server Brokers can be Clustered
• A cluster acts like one Brokerin terms of messaging
• Messages are automatically routed to all cluster members
Brokers alone or in a cluster canbe in Primary-Backup CAA™ pairs
A Node is either a broker or cluster Dynamic Routing Architecture (DRA)
• on demand connections between Nodes• Node-to-Node Authorization/Authentication
Cluster
P S
Broker Cluster
P S
P SP S
Brokers, Clusters, Nodes, and DRA
© 2008 Progress Software Corporation17 DEV-5: Did You Get The Message?
Headquarters
FAULT TOLERANTSERVER PAIR
PRIMARYSERVER
SECONDARYSERVER
Business
Application
Business
Application
Business
Application
Business
Application
Business
Application
High Availability through Replication
Sonic Continuous Availability Architecture
CLIENTS
P SP S
Message Server
© 2008 Progress Software Corporation18 DEV-5: Did You Get The Message?
HeadquartersBusiness
Application
Business
Application
Business
Application
Business
Application
Scalability through Clustering
Volume and Throughput Scalability within a Domain
Business
Application
Message Server
P SP S
Business
Application
Broker Cluster
P S
P SP S
BusinessApplication
Broker Cluster
P S
P SP S
© 2008 Progress Software Corporation19 DEV-5: Did You Get The Message?
Data Center
Processing Center
Business
Application
Business
Application
Business
Application
Headquarters
Business
Application
Business
Application
Business
Application
Business
Application
Global Reach through Dynamic Routing
A way to reliably connect services across domains
Regional Office
Business
Application
Business
Application
Business
Application
P S
P S
Broker Cluster
P S
P SP S
Cluster
Partner
P S
© 2008 Progress Software Corporation20 DEV-5: Did You Get The Message?
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!
© 2008 Progress Software Corporation21 DEV-5: Did You Get The Message?
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”
© 2008 Progress Software Corporation22 DEV-5: Did You Get The Message?
Questions?
© 2008 Progress Software Corporation23 DEV-5: Did You Get The Message?
Thank You
© 2008 Progress Software Corporation24 DEV-5: Did You Get The Message?