SOA Patterns > Service Governance Patterns > Proxy Capability
Proxy Capability (Erl)
How can a service subject to decomposition continue to support consumers affected by the decomposition?
![Proxy Capability Proxy Capability](https://patterns.arcitura.com/wp-content/uploads/2018/09/proxy_capability.png)
Problem
If an established service needs to be decomposed into multiple services, its contract and its existing consumers can be impacted.
Solution
The original service contract is preserved, even if underlying capability logic is separated, by turning the established capability definition into a proxy.
Application
Facade logic needs to be introduced to relay requests and responses between the proxy and newly located capabilities.
Impacts
The practical solution provided by this pattern results in a measure of service denormalization.
Principles
Architecture
Service
![Proxy Capability: By preserving the existing capability and allowing it to act as a proxy for the relocated capability logic, existing consumers will be less impacted. Proxy Capability: By preserving the existing capability and allowing it to act as a proxy for the relocated capability logic, existing consumers will be less impacted.](https://patterns.arcitura.com/wp-content/uploads/2018/09/fig1-87.png)
Related Patterns in This Catalog
Contract Denormalization, Decomposed Capability, Decoupled Contract, Distributed Capability, Service Decomposition, Service Façade, Service Normalization, Service Refactoring, Termination Notification
Related Service-Oriented Computing Goals
This pattern is covered in SOACP Module 4: Fundamental SOA Analysis & Modeling with Services & Microservices.
For more information regarding the SOA Certified Pofessional (SOACP) curriculum,
visit www.arcitura.com/soa.
This page contains excerpts from:
SOA Design Patterns by Thomas Erl
(ISBN: 0136135161, Hardcover, Full-Color, 400+ Illustrations, 865 pages)
For more information about this book, visit www.arcitura.com/books.
This page contains excerpts from:
Web Service Contract Design and Versioning for SOA
by Thomas Erl, Anish Karmarkar, Priscilla Walmsley, Hugo Haas, Umit Yalcinalp, Canyang Kevin Liu, David Orchard, Andre Tost, James Pasley
For more information about this book, visit www.arcitura.com/books.