Foundational patterns for all client/service interactions. These patterns may be used with any service API style. Given an understanding of these patterns, one may devise complex conversations in which multiple parties exchange data about a particular topic over extended periods of time.
|Request/Response||What's the simplest way for a web service to process a request and provide a result?|
|Request/Acknowledge||How can a web service safeguard systems from spikes in request load and ensure that requests are processed even when the underlying systems are unavailable?|
|Media Type Negotiation||How can a web service provide multiple representations of the same logical resource while minimizing the number of distinct URIs for that resource?|
|Linked Service||Once a service has processed a request, how can a client discover the related services that may be called, and also be insulated from changing service locations and URI schemes?|
For a given service, developers must choose between Request/Response and Request/Acknowledge. They may optionally use either Media Type Negotiation or Linked Service.