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