1 / 10

Messaging

Messaging. Message Type Patterns. Command Invoke a procedure in another application SOAP request is an example Document Message Single unit of information, single object or data structure SOAP response is an example Event Asynchronous event notification between applications

Download Presentation

Messaging

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Messaging

  2. Message Type Patterns • Command • Invoke a procedure in another application • SOAP request is an example • Document Message • Single unit of information, single object or data structure • SOAP response is an example • Event • Asynchronous event notification between applications • Do not require a reply • Request-reply • Two-way communication • Can be P2P or pubsub • How should it be broadcasted? 1, 2, …, many?

  3. Message Channel Patterns • Channels = queues • Point-to-point Channel • Take out the middle man • Pub-sub Channel • Sends event to all subscribed users • Datatype Channel • Different data types have their own channels • Allows applications to handle events differently based on object

  4. Message Queuing • One of the most widely used method for distributed apps • Allows distributed applications to communicate asynchronously • Messages sent are stored in queue to be delivered to recipient • Allows abstraction • Distributed applications can be developed without the need to worry about the mode of transportation • Don’t care about the availability of end recipient

  5. Message Queuing Advantages • No direct communication between programs (clients) • Loose coupling • Communication is independent of time • Communication can be driven by events • Work is carried out by small self-contained programs • Can assign priority to a message • Security • Authorization checks (like access control list) • Data Integrity • Recovery Support

  6. Message Oriented Middleware (MOM) • AMQP (Advanced Message Queuing Protocol) • Apache Qpid • RabbitMQ • StormMQ • XMPP (Extensible Messaging and Presence Protocol) • ejabberd (Erlang Jabber Daemon) • Metronome • STOMP (Streaming Text Oriented Messaging Protocol) • Apache ActiveMQ • Apache Apollo • RabbitMQ • Others • Apache Kafka

  7. Example from RabbitMQ

  8. Example from RabbitMQ

  9. CMAPI with Message Broker

  10. Evaluation • Strengths • Provides increased modularity: middleware is swappable • Can use pub/sub in browser and pub/sub across browsers • Asynchronous communication model for speed • Leverage distributed resources for efficiency and redundancy • Weaknesses • Distributed, asynchronous nature could lead to difficult debugging • Complicated to program (if you start from scratch…) • No real strong standards….

More Related