Thursday, April 7, 2011

Better Message Exchange Patterns

With Web Services a number of Message Exchange Patterns (MEP) are defined
  • Request-response: the endpoint receives a message and sends a correlated message
  • One-way: the endpoint receives a message
  • Solicit-response: the endpoint sends a message and receives a correlated message
  • Notification: the endpoint sends a message
This goes even further with optional or robust variations of the same theme.  In practice, 99% of all web services are request-respone. 1% will be one-way, so POST a SOAP message and only get a 200 back.  The remaining patterns are not encountered in practice.

A better and more relevant categorization in our opinion are the service communication patterns as defined by SAP:
  • Query/Response pattern: inquiry regarding a state or subject matter, to which an answer is expected
  • Request/Confirmation pattern: requisition or requirement to execute an activity which involves the change of a state or subject matter
  • Information pattern: An informal, asynchronous message regarding a state or subject matter
  • Notification pattern: A formal, asynchronous notice regardign a state or subject matter
These patterns build upon the following transaction communication patterns:
  • Information: informal message regarding a state or subject matter
  • Notification: formal notice or advice regarding a state or subject matter
  • Query: inquiry regarding a state or subject matter, to which an answer is expected
  • Response: an answer to an inquiry
  • Request: a requisition or requirement to execute an activity which involves the change of a state or subject matter
  • Confirmation: an assurance with obligation about the (degree of) fulfillment of a request
Bottom line: there are better ways to categorize service patterns, independent of the actual technical implementation.


Authored by: Guy

    No comments:

    Post a Comment