SOA Patterns > Service Governance Patterns > Service Decomposition
Service Decomposition (Erl)
How can the granularity of a service be increased subsequent to its implementation?
Problem
Overly coarse-grained services can inhibit optimal composition design.
Solution
An already implemented coarse-grained service can be decomposed into two or more fine-grained services.
Application
The underlying service logic is restructured, and new service contracts are established. This pattern will likely require Proxy Capability to preserve the integrity of the original coarsegrained service contract.
Impacts
An increase in fine-grained services naturally leads to larger, more complex service composition designs.
Principles
Architecture
Service
The original, coarse-grained Invoice service is decomposed into three separate services, one of which remains associated with general invoice processing but only encapsulates a subset of the original capabilities.
Related Patterns in This Catalog
Decomposed Capability, Decoupled Contract, Entity Abstraction, Proxy Capability, Service Façade, Service Normalization, Service Normalization, Service Refactoring, Utility Abstraction
Related Service-Oriented Computing Goals
Increased Federation, Increased Intrinsic Interoperability, Reduced IT Burden
Related Publications