Service layer pattern

This helps to reduce the conceptual overhead related to managing the service inventory, as the services belonging to the same layer address a smaller set of activities.

Grouping services into functional layers reduces the impact of change.

[1] Restricting each layer to a particular functionality, simplifies the design of the service.

Adopting a common layering strategy across the enterprise facilitates reuse in other applications, because developers don't have as much to learn (or invent) when they join a project.

The top-down service delivery approach facilitates the use of this pattern.

Diagram A
Diagram A
In the absence of any layers, services contain a mixture of different types of logic. This makes it difficult to manage these services.
Diagram B
Diagram B
A service inventory divided into layers where each layer contains the same type of logic.