Here I describe the tree logical service layers in which services can be categorized.
The tree logical service layers
- (orchestrated) task service layer (business process service): A task service is directly associated with a specific business task/process. It is less reusable and has the function of a controller of a service composition to compose more process agnostic services.
- entity service layer: An entity service is a business-centric service, that has a boundary (contract) and a context (capabilities), which are based on one or more business entities. It is highly reusable, because it is agnostic to most business processes.
- utility service layer (application service, technology service, infrastructure service): In contrast to the previously mentioned service layers, utility services don’t have a focus on representing business logic. It is a more technology centric layer and provides reusable, cross-cutting agnostic utility functionality.
e.g.: event logging, notification and exception handling