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