SOA Patterns > Service Contract Design Patterns > Decoupled Contract
Decoupled Contract (Erl)
How can a service express its capabilities independently of its implementation?
For a service to be positioned as an effective enterprise resource, it must be equipped with a technical contract that exists independently from its implementation yet still in alignment with other services.
The service contract is physically decoupled from its implementation.
A service’s technical interface is physically separated and subject to relevant service-orientation design principles.
Service functionality is limited to the feature-set of the decoupled contract medium.
By decoupling the service contract, the service implementation can be evolved without directly impacting service consumers. This can increase the amount of refactoring opportunities and the range of potential consumer programs (and corresponding reuse).