Messaging pattern

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In software architecture, a messaging pattern is a network-oriented architectural pattern which describes how two different parts of a message passing system connect and communicate with each other.

In telecommunications, a message exchange pattern (MEP) describes the pattern of messages required by a communications protocol to establish or use a communication channel. There are two major message exchange patterns — a request-response pattern, and a one-way pattern. For example, HTTP is a request-response pattern protocol, and UDP is a one-way pattern.[1]

SOAP[edit]

The term "Message Exchange Pattern" has a specific meaning within the SOAP protocol.[2][3] SOAP MEP types include:

  1. In-Only: This is equivalent to one-way. A standard one-way messaging exchange where the consumer sends a message to the provider that provides only a status response.
  2. Robust In-Only: This pattern is for reliable one-way message exchanges. The consumer initiates with a message to which the provider responds with status. If the response is a status, the exchange is complete, but if the response is a fault, the consumer must respond with a status.
  3. In-Out: This is equivalent to request-response. A standard two-way message exchange where the consumer initiates with a message, the provider responds with a message or fault and the consumer responds with a status.
  4. In Optional-Out: A standard two-way message exchange where the provider's response is optional.
  5. Out-Only: The reverse of In-Only. It primarily supports event notification. It cannot trigger a fault message.
  6. Robust Out-Only: similar to the out-only pattern, except it can trigger a fault message. The outbound message initiates the transmission.
  7. Out-In: The reverse of In-Out. The provider transmits the request and initiates the exchange.
  8. Out-Optional-In: The reverse of In-Optional-Out. The service produces an outbound message. The incoming message is optional ("Optional-in").

ØMQ[edit]

The ØMQ message queueing library provides a so-called sockets (a kind of generalization over the traditional IP and Unix sockets) which require to indicate a messaging pattern to be used, and are particularly optimized for that kind of patterns. The basic ØMQ patterns are:[4]

Each pattern defines a particular network topology. Request-reply defines so-called "service bus", publish-subscribe defines "data distribution tree", push-pull defines "parallelised pipeline". All the patterns are deliberately designed in such a way as to be infinitely scalable and thus usable on Internet scale.[5]

See also[edit]

References[edit]

  1. ^ Erl, Thomas (2005). Service Oriented Architecture: Concepts, Technology, and Design. Indiana: Pearson Education. p. 171. ISBN 0-13-185858-0. 
  2. ^ http://www.w3.org/TR/soap12-part1/#soapmep SOAP MEPs in SOAP W3C Recommendation v1.2
  3. ^ Web Services Description Language (WSDL) Version 2.0: Additional MEPs
  4. ^ ØMQ User Guide
  5. ^ Scalability Layer Hits the Internet Stack

External links[edit]