Home > Design Patterns > Concurrent Contracts
Concurrent Contracts

Concurrent Contracts (Erl)

How can a service facilitate multi-consumer coupling requirements and abstraction concerns at the same time?

Problem

A service's contract may not be suitable for or applicable to all potential service consumers.

Solution

Multiple contracts can be created for a single service, each targeted at a specific type of consumer.

Application

This pattern is ideally applied together with Service Façade to support new contracts as required.

Impacts

Each new contract can effectively add a new service endpoint to an inventory, thereby increasing corresponding governance effort.

Listen to the podcasts that accompany this site

Concurrent Contracts: Separate contracts are created for the three service consumer categories. In some environments this may require the further qualification of the service name; for example, the three contracts may be named Invoice Admin, Invoice Reporting, Invoice Vendor.

Separate contracts are created for the three service consumer categories. In some environments this may require the further qualification of the service name; for example, the three contracts may be named Invoice Admin, Invoice Reporting, Invoice Vendor.