Proxy Capability (Erl)
How can a service subject to decomposition continue to support consumers affected by the decomposition?
If an established service needs to be decomposed into multiple services, its contract and its existing consumers can be impacted.
The original service contract is preserved, even if underlying capability logic is separated, by turning the established capability definition into a proxy.
Facade logic needs to be introduced to relay requests and responses between the proxy and newly located capabilities.
The practical solution provided by this pattern results in a measure of service denormalization.
PrinciplesService Loose Coupling
By preserving the existing capability and allowing it to act as a proxy for the relocated capability logic, existing consumers will be less impacted.