Date post: | 16-Dec-2015 |
Category: |
Documents |
Upload: | roberta-douglas |
View: | 214 times |
Download: | 0 times |
JMS in der Praxis JMS in der Praxis
Stefan KischelProduct Manager
© 2000, Progress Software Corporation2
Messaging = MOM(Message Oriented Middleware)Messaging = MOM(Message Oriented Middleware)
Point-to-Point (11)
- Or -
Publish and Subscribe (1Many)
Messaging API
Messaging Client
Networking Stack
Messaging API
Messaging Client
Message Server
Application-driven Messaging
Within or across systems
MM
MM
Application A Application B
Networking Stack
Networking Stack
© 2000, Progress Software Corporation3
Building Distributed ApplicationsBuilding Distributed Applications
Internet B2B applications and services Creating the global enterprise Disparate systems acquired via mergers
and acquisitions Increase of disconnected users
– Handheld, mobile Growth of embedded systems
A New LandscapeA New Landscape
© 2000, Progress Software Corporation4
Building Distributed ApplicationsBuilding Distributed Applications
Potential for explosive successHigh-performance, massive scalabilityBuilt on most common Internet protocols TCP and HTTP
Heterogeneous (multi-company, multi-vendor) Standard interfaces and data formats JMS and XMLComprehensive security, encryption and firewall support
Diversity in application styles and devicesFlexible Topology: 11 and 1Many Wide range of platforms & mobile devices 100% Java
Highly distributed, unpredictable environmentFault-Resilient with guaranteed delivery and QoS“Loosely Coupled” communications architecture
© 2000, Progress Software Corporation5
Building Distributed ApplicationsBuilding Distributed Applications
Not optimized for the Internet No support for disconnected users Proprietary systems over private networks Unwieldy and inflexible Large footprint Limited support for standards
Limitations of Current TechnologyLimitations of Current Technology
© 2000, Progress Software Corporation6
Frequent Limitations of current Technologies*Frequent Limitations of current Technologies*
Forces “tightly coupled” synchronous model Not designed for the Internet or firewalls Inflexible & cumbersome No guaranteed delivery Large “footprint” & not easily embedded Difficult to maintain or administer No support for intermittent or mobile clients No explicit support for XML
* e.g., CORBA, COM, RPC or RMI, Native Sockets, * e.g., CORBA, COM, RPC or RMI, Native Sockets, Custom Programming on HTTP, or Proprietary MiddlewareCustom Programming on HTTP, or Proprietary Middleware
© 2000, Progress Software Corporation7
Today’s Religious Dividefor the Underlying Communications Architecture
Today’s Religious Dividefor the Underlying Communications Architecture
Choices: CORBA, COM, RMI, RPC& Messaging
Favored for traditional Enterprise applications
& simple web apps
Choices: Messaging
Favored for distributedInternet applications
& Enterprise Integration
Loosely CoupledLoosely CoupledTightly CoupledTightly Coupled
SynchronousSynchronous
Application Servers
Application Servers
Client/ServerClient/Server B2CB2C
AsynchronousAsynchronous
Integration BrokersIntegration Brokers
EAIEAIB2BB2B B2CB2C
© 2000, Progress Software Corporation8
Enter ... Java MessagingEnter ... Java Messaging
Service allowing Java-based applications to communicate
Two models:– Publish and Subscribe (1Many)
Messages passed between publishers and subscribers via topics
– Point-to-Point (11) Messages passed between senders and
receivers via queues
© 2000, Progress Software Corporation9
Java Messaging Service (JMS)The Only Industry Standard for MessagingJava Messaging Service (JMS)The Only Industry Standard for Messaging
Developed and maintained by Javasoft– Standardized since 1998
A way for Java programs to interact Embraced within J2EE specification An API and set of semantics A common programming framework for:
– Point-to-Point (PTP)
– Publish & Subscribe (Pub/Sub)
© 2000, Progress Software Corporation10
Messaging ModelsMessaging Models
Subscriber(s)Subscriber(s)PublisherPublisher
Posts messages to a Posts messages to a TopicTopic
Each receive Each receive messages on topics messages on topics
to which they registerto which they register
Topic = “Subject” of Topic = “Subject” of communicationcommunication
Available to “registered” Available to “registered” participantsparticipants
Publish & Subscribe (1Many)
TopicTopic
ReceiverReceiverSenderSender
Queue = “Location” Queue = “Location”
for the messages of a for the messages of a given typegiven type
Sends message to a Sends message to a QueueQueue
Only one client receives Only one client receives the message, the message,
(but several receivers (but several receivers may share load)may share load)
Point-to-Point (11)
QueueQueue
© 2000, Progress Software Corporation11
Publish & SubscribePublish & Subscribe
PublisherPublisher SubscriberSubscriberTopicTopic
Price IncreasePrice Increase
New FlavorNew Flavor
© 2000, Progress Software Corporation12
Point-to-PointPoint-to-Point
PotatoesPotatoes
Queue
SausagesSausages
Sender Receiver
Can SendCan Send
Can SendCan Send
© 2000, Progress Software Corporation13
How is Messaging Being Used?How is Messaging Being Used?
“E-Tail” Supply Chain Management Workflow Management Data Dissemination / Integration Distributed monitoring Enterprise Application Integration
© 2000, Progress Software Corporation14
E-Tailer:Business to ConsumerE-Tailer:Business to Consumer
ConsumerConsumer
Credit Credit BureauBureau
E-TailerE-TailerMessage 2:Message 2:“Credit Check”“Credit Check”
Message 1:Message 1:“Product Order”“Product Order”
Message 3:Message 3:“Credit OK”“Credit OK”
© 2000, Progress Software Corporation15
Supply Chain Management:Wholesalers and RetailersSupply Chain Management:Wholesalers and Retailers
WholesalerWholesaler Message 1:Message 1:“Item on Sale”“Item on Sale”
Message 2:Message 2:“Place Order”“Place Order”
WholesalerWholesaler
SmallSmallRetailerRetailer
ChainChainRetailerRetailer
© 2000, Progress Software Corporation16
Workflow Management:Mobile Loan ProcessorsWorkflow Management:Mobile Loan Processors
Message 2:Message 2:“ Loan Approved”“ Loan Approved”
MortgageMortgageCompanyCompany
Message 1:Message 1:“Loan Request”“Loan Request”
LoanLoanAgent AAgent A
LoanLoanAgent BAgent B
Message 3:Message 3:“Need More Info”“Need More Info”
© 2000, Progress Software Corporation17
Limitations of the JMS StandardLimitations of the JMS Standard
It Does Not Address
Security Load Balancing Fault Tolerance Error Notification Administration Repositories XML Support Wire Protocols
It Does Not Require
Support for Both Messaging Models
Transaction Support Asynchronous Reply Naming Conveniences
for Topics & Queues 100% Java
SonicMQMessaging for Next Generation Internet Centric Applications
SonicMQMessaging for Next Generation Internet Centric Applications
...Get the ...Get the Message!Message!
© 2000, Progress Software Corporation19
SonicMQ:Many ApplicationsSonicMQ:Many Applications
SonicMQSonicMQ
New Internet ServicesNew Internet Services
Real-timeBusiness Info
Real-timeBusiness Info
On-lineReservations
On-lineReservations
Exchanges& Auctions
Exchanges& Auctions New Collaborative
Communication
New CollaborativeCommunication
Distributed E-tailDistributed E-tail
Reliable “Push”Reliable “Push”
Traditional EnterpriseCRM & SCMCRM & SCM
WorkflowAutomation
WorkflowAutomation
EAIEAI Fast Data&ObjectReplications
Fast Data&ObjectReplications
Mission CriticalMonitoring
Mission CriticalMonitoring
Web SiteManagement
Web SiteManagement
© 2000, Progress Software Corporation20
SonicMQ Feature SummaryFull Implementation of JMS Standard and MoreSonicMQ Feature SummaryFull Implementation of JMS Standard and More
TOPICS & QUEUESTOPICS & QUEUES• PTP & Pub/SubPTP & Pub/Sub
• XML MessagesXML Messages
• Durable SubscribersDurable Subscribers
• Hierarchical Name Hierarchical Name
SpacesSpaces
• Client PushClient Push
• Subject-based Subject-based
AddressingAddressing• Broker ClustersBroker Clusters
MESSAGE BROKERMESSAGE BROKER• Transaction SupportTransaction Support
• SecuritySecurity
• Message PersistenceMessage Persistence
• QoS DeliveryQoS Delivery
• Asynchronous ReplyAsynchronous Reply
• Abstraction of Abstraction of
CommunicationsCommunications
ADMINISTRATION CLIENTADMINISTRATION CLIENT• Command Line & GUICommand Line & GUI• Remote accessRemote access
JavaJavaClientsClients
ActiveXActiveXClientsClients
C++ ClientsC++ Clients
100% Java100% Java
© 2000, Progress Software Corporation21
BrokerBrokerBrokerBroker
BrokerBroker
TopicTopic QueueQueue
SonicMQ ArchitectureScalability & Flexibility via ClusteringSonicMQ ArchitectureScalability & Flexibility via Clustering
Distributed BrokerDistributed BrokerClusterCluster
Distributed BrokerDistributed BrokerClusterCluster
TopicTopic
JMSJMSClientClient
ActiveXActiveXClientClient
AdminAdminClientClient
C/C++C/C++Client*Client*
*Future
© 2000, Progress Software Corporation22
SonicMQ Delivers: Speed & ScalabilitySonicMQ Delivers: Speed & Scalability
The highest performance forThe highest performance for““Loosely Coupled” Internet applicationsLoosely Coupled” Internet applications
SonicMQSonicMQSonicMQSonicMQ
Integration BrokersIntegration Brokers
EAIEAIB2BB2B B2CB2C
TCP/IP or HTTPTCP/IP or HTTP
© 2000, Progress Software Corporation23
SonicMQ Delivers:ReliabilitySonicMQ Delivers:Reliability
The guaranteed delivery & security for The guaranteed delivery & security for business critical services & transactionsbusiness critical services & transactions
SonicMQSonicMQ
Roll-back of Whole Sets of Messages
Persistent Messages 40 and 128 Bit
Encryption
Durable Subscriptions
SSL Authentication
© 2000, Progress Software Corporation24
SonicMQ Delivers:FlexibilitySonicMQ Delivers:Flexibility
The right kind of flexibility for today’s The right kind of flexibility for today’s diverse Internet environmentdiverse Internet environment
SonicMQSonicMQ
XML Message Type
Pub/Sub &
Point-to-Point
Choice of Client API(Java, ActiveX, C/C++, more)
Choice of Databasewith JDBC
QoS Delivery Optionsand “Firewall Tunneling”
© 2000, Progress Software Corporation25
SonicMQ Delivers:Ease of Use and Low TCO*SonicMQ Delivers:Ease of Use and Low TCO*
The only product designed to be “built-in”The only product designed to be “built-in”to new Internet centric applicationsto new Internet centric applications
SonicMQSonicMQ
Remote Administration
over the Internet
Subject-based and Hierarchical Addresses
Embedded Database Included
Abstraction of Communication Layer
*TCO= Total Cost of Ownership
Small “Footprint”& Easy Install
© 2000, Progress Software Corporation26
SonicMQ Product LineSonicMQ Product Line
SonicMQ Developer Edition– Single broker, 5 clients– Supported on WinNT only
SonicMQ Small Business Edit.– Single broker, 50 clients– Includes first year support
SonicMQ Enterprise Edition– Clustered brokers no client limitations
© 2000, Progress Software Corporation27
Reference Accounts to DateReference Accounts to Date
SonicMQ Customer SuccessSonicMQ Customer Success
IONA GemStone SAG America