Inside Sonic MQ Progress Sonic MQ and the
- Slides: 54
Inside Sonic. MQ Progress Sonic. MQ and the Java Message Standard Mitchell Horowitz Technical Product Manager, Sonic. MQ
Objectives n n To explore the JMS Specification. – Discuss the 2 JMS Messaging Models. – Discuss the 7 core framework classes. Describe how Sonic. MQ implemented the JMS specification. – Highlight what differentiates Sonic. MQ. – Show easy it is to code JMS applications. 2 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Agenda n n n The JMS spec What the API looks like Sonic. MQ’s implementation of the JMS spec 3 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
The Java Message Service n n n Specification for the implementation of Java messaging A common set of Java interfaces and semantics Part of the Java 2 Enterprise Edition specification Developed and Maintained by Java. Soft Not just an intersection but the fast lane to the information super highway. 4 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
The Java Messaging Service n n Service allowing Java-based applications to communicate. – Sonic. MQ has added C/C++ and Active. X applications. Two models: – Publish and Subscribe n n n 0 or more recipients Messages passed between publishers and subscribers via topics Message can be published in a persistent manner Message can be subscribed to in a durable manner Message are consumed at least once. – Point-to-Point n n n One recipient only Messages passed between senders and receivers via queues Messages are consumed at most once and only once 5 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Producer - Destination - Consumer Producer Destination Consumer Posts messages to a destination Subject of communication Available to registered participants Receives messages on a destination 6 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Publish & Subscribe Publisher Topic Subscriber Posts messages to the topic Subject of communication Available to registered participants Receives messages on the topic 7 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Publish & Subscribe Supply Chain Management Publisher Topic Subscriber New Flavor Price Increase 8 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Point to Point Sender Queue Receiver Posts messages to the queue Subject of communication Available to registered participants Receives messages on the queue 9 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Point-to-Point Order and Fulfillment Sender Queue Receiver Need Supplies Goods Shipped 10 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Publish & Subscribe vs. Point-to-Point n Publish and Subscribe – Stock ticker – Pricing changes / catalog updates – Data replication n Point-to-Point* – Ordering and fulfillment * Point-to-Point is a specialized version of Publish and Subscribe 11 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
The JMS spec and what it means n n A common way for Java applications to interact with an enterprise messaging system. Design to leverage existing messaging systems as well as create new ones. Describes portable efficient standards for powerful and extensible messaging service A common set of Java interfaces and semantics 12 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
The JMS spec and what it means n Defines an Architecture that includes: – JMS Provider n n n JMS Interface JMS Application Administration Two Messaging Styles Message Delivery Capabilities 13 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Hub & Spoke Topology JMS Client Message Broker JMS Client JMS Client 14 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Peer-to-Peer Topology JMS Client JMS Client 15 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
The JMS spec and what it means n JMS/API Framework that includes: – Connection. Factories , – Connections. – Sessions. – Destinations. – Message Producers. – Message Consumers. – Messages. 16 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Message Interfaces Topic. Publisher Topic. Connection. Factory Creates Connection. Factory Topic. Session Topic. Connection Creates one or more Sessions Connection Session Message. Producer Queue. Sender Each Session type creates one or more Producers and/or Consumers Queue. Connection Queue. Sessions Create Message Instances Send messages to Queue Receive messages from Topic. Subscriber Creates Queue. Connection. Factory Send messages to Topic Message. Consumer Receive messages from Queue. Receiver Object. Message Topic Map. Messages are sent to Destinations (Topic/Queue) and routed to Message. Consumers Destination Message Stream. Message Text. Message XMLMessage Queue Bytes. Message Inheritance (Extends) LEGEND Creation Incoming/Outgoing Messages 17 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Message Interfaces Topic. Connection. Factory Creates Connection Creates Queue. Connection. Factory Topic. Connection Creates one or more Sessions Session Queue. Connection LEGEND Inheritance (Extends) Creation Incoming/Outgoing Messages 18 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Connection. Factories Topic. Connection. Factory n Queue. Connection. Factory Provides access to a specific messaging service implementation 19 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Connections Topic. Connection n Queue. Connection Interface representing a client connection to the underlying messaging provider Connection. Factory returns a Connection implementation Protocol and connection information contained in this object 20 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Destination Interfaces Topic Messages are sent to Destinations (Topic/Queue) and routed to Message. Consumers Destination Queue LEGEND Inheritance (Extends) Creation Incoming/Outgoing Messages 21 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Destinations Topic n n Queue Targets for a producer’s messages Sources for a consumer’s messages JMS administered objects Can be temporary – Out-of-band discussions – Request / reply 22 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
JMS Administered Objects n Can be modified without requiring changes to the application 23 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Message Interfaces Topic. Publisher Topic. Session Each Session type creates one or more Producers and/or Consumers Queue. Session Message. Producer Queue. Sender Send message s to Topic Send message s to Queue Receive messages from Topic. Subscriber Receive messages Message. Consumer from Queue. Receiver LEGEND Inheritance (Extends) Creation Incoming/Outgoing Messages 24 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Sessions Topic. Session n n Queue. Session Enforces ordering for production and consumption of messages Defines acknowledgement semantics Defines JMS transactions One or more sessions can be created by a Connection 25 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Message Producers Topic. Publisher n n n Queue. Sender Used to send or publish messages to a destination Created by a Session instance Can define message delivery semantics – Time-to-live – Persistence – Priority 26 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Message Consumers Topic. Subscriber n n n Queue. Receiver Used to handle messages sent to a destination Created by a Session instance Can be durable beyond a physical connection 27 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Message Interfaces Sessions Create Message Instances Message Object. Message Map. Message Stream. Message Text. Message XMLMessage Bytes. Message LEGEND Inheritance (Extends) Creation Incoming/Outgoing Messages 28 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Messages Message Header Properties Used to identify and route the message Support application-specific values passed with the message Body The actual “payload” of the message (five different types, plus XML for Sonic. MQ) 29 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Message Headers n n n JMSReply. To JMSCorrelation. ID JMSExpiration JMSPriority JMSDelivery. Mode JMSMessage. ID Full list available in the JMS spec 30 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Message Properties n n n Optional fields and values associated with a message. Allows filtering of messages by the consumer Can be used to carry the data, or selected parts of the data to do content-based filtering – e. g. where region= “Northeast” 31 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Message Body Message Bytes. Message Map. Message Object. Message Stream. Message Text. Message 32 Exchange 2000, Barcelona Spain XMLMessage © 2000, Progress Software Corporation
Agenda n n n The JMS spec What the API looks like Sonic. MQ’s implementation of the JMS spec 33 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
What the Java/API looks like // Create a connection factory Topic. Connection. Factory factory; factory = (new progress. message. jclient. Topic. Connection. Factory (broker)); // Create a connection connect = factory. create. Topic. Connection (username, password); // Create a session = connect. create. Topic. Session(true, Session. AUTO_ACKNOWLEDGE); // Create a topics. Topic topic = session. create. Topic (“jms. progress. chat”); // Create Subscriber to application topics. Topic. Subscriber subscriber = session. create. Subscriber(topic); // Initialize the on. Message() message handler. subscriber. set. Message. Listener(this); // Create a publisher publsher = session. create. Publisher(null); // Topic will be set for each reply // Now setup is complete, start the Connection connect. start(); 34 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Agenda n n n The JMS spec What the API looks like Sonic. MQ’s implementation of the JMS spec 35 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
However there are… Limitations of the JMS Standard It Does Not Address n n n n Security Load Balancing Fault Tolerance Error Notification Administration Repositories XML Support Wire Protocols It Does Not Require n n Support for Both Messaging Models Transaction Support Server Clusters 100% Java Commercial Implementations Vary in Scope 36 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Hub & Spoke Topology JMS Client Message Broker JMS Client JMS Client 37 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Peer-to-Peer Topology JMS Client JMS Client 38 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Sonic. MQ Architecture Admin Client C Client Broker Cluster Broker Topic Queue Broker JMS JMS Client 39 Exchange 2000, Barcelona Spain Topic Active. X Client © 2000, Progress Software Corporation
Sonic. MQ Features MESSAGE BROKER • Transaction Support • Security • Message Persistence • Qo. S Delivery • Asynch Delivery • Abstraction of Communications • Interbroker Support TOPIC/QUEUE • PTP & Pub/Sub • XML Messages • Durable Subscribers • Hierarchical Name Spaces • Push to Client • Subject-based Addressing Java Clients Active. X Clients C Clients Future Clients ADMINISTRATION CLIENT • Command Line & GUI • Remote access 40 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Sonic. MQ’s JMS Implementation n n n n Administration Security Performance and Scalability Internet / Protocol Support Active. X/COM Clients C/C++ Clients XML Support Usability 41 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Administration Tools n n n n Java-based GUI tool Command-line tool for script-based automation of administrative tasks Support of managing users, groups, destination Qo. P, destination ACLs, clusters Allows monitoring of broker performance metrics and broker events Provides tools for prototyping and testing Remote monitoring capability JNDI support 42 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Sonic. MQ Explorer 43 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Security n n n Access Control Lists (by topic and queue) Secure authentication PKI support / Digital certificates SSL support Payload encryption User and group administration – Available at the cluster-level 44 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Performance and Scalability n n Thousands of clients 10, 000’s messages per second – Publish and subscribe n Broker Clusters – Cluster-level administration n In-house Long Duration Test – 42 days: 100 million test cycles n 200 million 10 K messages served – That's 2 Terabytes through the broker! 45 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Sonic. MQ Performance Quad CPU Machine (messages/ second) T h ro u g h p u t 256 -Byte Message Size Out of Box (No tuning) Concurrent Clients * Durable, persistent 46 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Internet / Protocol Support n n n n SSL TCP HTTP tunneling Full support for firewalls and proxies Applet support Interbroker communication over Internet protocols XML message support 47 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
JMS over HTTP for Firewall Support* No changes required by the firewall administrator. Allows for multi-company networks. Plus SSL support with 40 bit and 128 bit encryption. Any Application JMS API JMS Server Firewall(s) JMS Client M HTTP TCP/IP Stack * Beyond the JMS specificaion 48 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Active. X/COM client n Provides access to Sonic. MQ from non-Java development environments – – – n n MS Visual Basic MS Visual C++ Delphi VBA-enabled applications Progress 4 GL Java events are presented as native Active. X control events, allowing for asynchronous listeners Exception listeners provide support for JMS exception handling 49 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
C/C++ Clients n n Publish and Subscribe Point- to- Point Text. Message and Binary. Message formats Native client implementation – No JVM required n Supported on Windows NT and Solaris 50 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
XML Support n n n XMLMessage type Accessible as DOM or Text IBM xml 4 j parser included in product – Can be replaced if required 51 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Usability n n Extensive documentation Rich set of sample applications – Publish and subscribe – Point-to-point – Active. X/COM – Servlet n n Turnkey installation Open database connectivity via JDBC – In addition to the embedded data store 52 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Questions 53 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
Thank you for your time. 54 Exchange 2000, Barcelona Spain © 2000, Progress Software Corporation
- Sonic jms
- Progress sonic esb
- Physical progress and financial progress
- Sonic and ultrasonic in endodontics
- Standing waves ch 12:1
- Sonic barrier mhr
- Examples of sound devices
- Sound device in poem
- Sonic animado gif
- Sonic visualiser tutorial
- Sonic images
- Sonic rush review
- Sonic the hedgehog
- Sonic the hedgehog
- Sonic tension meter 507c
- Sonic in slaton
- Rundrucken
- Micro switch wiring diagram
- Sonic islamic
- Quickservice-segment
- Sonic log ppt
- Ultra sonic sensor
- Sonic boom
- Arby's menu board
- High challenge fire wall
- Sonic pi variables
- Sonic esb
- Sonic esb
- Sonic samp drill
- Progress and performance measurement and evaluation
- Progress and performance measurement and evaluation
- Hát kết hợp bộ gõ cơ thể
- Frameset trong html5
- Bổ thể
- Tỉ lệ cơ thể trẻ em
- Chó sói
- Chụp phim tư thế worms-breton
- Bài hát chúa yêu trần thế alleluia
- Kể tên các môn thể thao
- Thế nào là hệ số cao nhất
- Các châu lục và đại dương trên thế giới
- Công thức tiính động năng
- Trời xanh đây là của chúng ta thể thơ
- Mật thư anh em như thể tay chân
- Phép trừ bù
- Phản ứng thế ankan
- Các châu lục và đại dương trên thế giới
- Thơ thất ngôn tứ tuyệt đường luật
- Quá trình desamine hóa có thể tạo ra
- Một số thể thơ truyền thống
- Cái miệng bé xinh thế chỉ nói điều hay thôi
- Vẽ hình chiếu vuông góc của vật thể sau
- Biện pháp chống mỏi cơ
- đặc điểm cơ thể của người tối cổ
- V. c c