Service API Patterns, Protocols, Coupling Types, Metrics > Service API Design Patterns > Concurrent Service APIs
Concurrent Service APIs
How can a service facilitate multi-consumer coupling requirements and abstraction concerns at the same time?
By default, a service has an API that expresses the full range of its capabilities. However, it can be challenging to design this API to accommodate different types of service consumers.
The application of the Concurrent Service APIs pattern enables one body of service logic to expose multiple service APIs. This pattern is often used to accommodate different types of service consumers without having to bloat or convolute a single service API.
This pattern is commonly applied together with the Service Façade pattern, allowing the same service logic to expose different service APIs, each of which may offer a different subset of the service’s capabilities.
Service façade components are positioned to abstract the APIs from the underlying service logic. The façades are used to expose one body of solution logic via two REST APIs and a Web service API.