Client-Service Interactions
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.