SOA Patterns > Foundational Inventory Patterns > Service Layers
Service Layers (Erl)
How can the services in an inventory be organized based on functional commonality?
Arbitrarily defining services delivered and governed by different project teams can lead to design inconsistency and inadvertent functional redundancy across a service inventory.
The inventory is structured into two or more logical service layers, each of which is responsible for abstracting logic based on a common functional type.
Service models are chosen and then form the basis for service layers that establish modeling and design standards.
The common costs and impacts associated with design standards and up-front analysis need to be accepted.
Related services are designed according to service models, thereby establishing logical service layers. In this case, the service inventory is structured with three service layers that correspond to the three abstraction patterns described in Chapter 7. (Note the pipe symbol is used to represent a service layer in this book.)
Layers (and sub-layers) can form groups of services. Long-term governance ownership of these groups can be assigned to dedicated custodians most suited to the nature of the underlying service models.