SOA Patterns > Service Governance Patterns > Distributed Capability
Distributed Capability (Erl)
How can a service preserve its functional context while also fulfilling special capability processing requirements?
Problem
A capability that belongs within a service may have unique processing requirements that cannot be accommodated by the default service implementation, but separating capability logic from the service will compromise the integrity of the service context.
Solution
The underlying service logic is distributed, thereby allowing the implementation logic for a capability with unique processing requirements to be physically separated, while continuing to be represented by the same service contract.
Application
The logic is moved and intermediary processing is added to act as a liaison between the moved logic and the main service logic.
Impacts
The distribution of a capability’s logic leads to performance overhead associated with remote communication and the need for new intermediate processing.
Principles
Architecture
Service
The logic for the Consolidate operation is relocated to a separate physical environment. A service façade component interacts with the consolidation logic on behalf of the Invoice service contract.
Related Patterns in This Catalog
Contract Centralization, Decoupled Contract, Proxy Capability, Service Data Replication, Service Façade, Service Refactoring
Related Service-Oriented Computing Goals