Home > Design Patterns > Service Decomposition
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.

Architecture

Service

Listen to the podcasts that accompany this site

Service Decomposition: 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.

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.