Service APIs Client-Service Interactions Request and Response Management Service Implementation Service Infrastructures Service Evolution API Patterns

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.