Messaging pattern: Difference between revisions
correct example |
|||
Line 1: | Line 1: | ||
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 [[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 [[Message passing|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, the [[ |
In [[telecommunications]], a '''message exchange pattern (MEP)''' describes the [[pattern]] of [[Message passing|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, the [[Hypertext Transfer Protocol|HTTP]] is a ''request-response'' pattern protocol, and the [[User Datagram Protocol|UDP]] has a ''one-way'' pattern. |
||
== SOAP == |
== SOAP == |
Revision as of 17:50, 15 September 2011
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, the HTTP is a request-response pattern protocol, and the UDP has a one-way pattern.
SOAP
The term "Message Exchange Pattern" has a specific meaning within the SOAP protocol.[1][2] SOAP MEP types include:
- 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.
- 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.
- 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.
- In Optional-Out: A standard two-way message exchange where the provider's response is optional.
- Out-Only
- Robust Out-Only
- Out-In
- Out-Optional-In
ØMQ
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:[3]
- Request-reply connects a set of clients to a set of services. This is a remote procedure call and task distribution pattern.[clarification needed]
- Publish-subscribe connects a set of publishers to a set of subscribers. This is a data distribution pattern.[clarification needed]
- Push-pull connects nodes in a fan-out / fan-in pattern that can have multiple steps, and loops. This is a parallel task distribution and collection pattern.[clarification needed]
- Exclusive pair connects two sockets in an exclusive pair. This is a low-level pattern for specific, advanced use cases.
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. [4]
See also
References
- ^ http://www.w3.org/TR/soap12-part1/#soapmep SOAP MEPs in SOAP W3C Recommendation v1.2
- ^ Web Services Description Language (WSDL) Version 2.0: Additional MEPs
- ^ ØMQ User Guide
- ^ Scalability Layer Hits the Internet Stack
External links
- Messaging Patterns in Service-Oriented Architecture
- Enterprise Integration Patterns - Pattern Catalog