Appendix B. Service Models Reference
Services can be categorized based on the nature of the logic they encapsulate and the manner in which they are typically utilized within SOA. This book introduces a series of these categories and calls them service models.
Because service model descriptions are interspersed in various chapters, we provide a master list in this Appendix for quick reference purposes. Note that services can (and often do) belong to more than one service model.
Service Model |
Description |
Chapters |
---|---|---|
Application service |
A generic category used to represent services that contain logic derived from a solution or technology platform. Services are generally distinguished as application services when creating service abstraction layers. |
9, 11, 12, 15 |
Business service |
A generic category used to represent services that contain business logic. When establishing specialized service layers, services that fall into the business service layer are collectively referred to as business services. However, individually these services are classified as entity-centric or task-centric business services. |
5, 9, 11, 12, 15 |
Controller service |
A service that composes others. Variations of this model exist, depending on the position of the controller in the composition hierarchy. The parent controller service can be classified as the master controller and a service that composes a subset of a larger composition can be labeled a sub-controller. |
5 |
Coordinator services |
Three service models are derived from the concept of coordination: the coordinator, the atomic transaction coordinator, and the business activity coordinator. All three models are specific to the WS-Coordination specification and related protocols. |
6 |
Entity-centric business service |
A business process-agnostic variation of the business service that represents one or more related business entities. This type of service is created when establishing a business service layer. |
9, 11, 12, 15 |
Hybrid service |
A service that contains both business and application logic. Most services created as part of traditional distributed solutions fall into this category. When organizing services into abstraction layers, hybrid services are considered part of the application service layer. |
9 |
Integration service |
An application service that also acts as an endpoint to a solution environment for cross-application integration purposes. |
9 |
Process service |
A service that represents a business process as implemented by an orchestration platform and described by a process definition. Process services reside in the orchestration service layer. |
6, 9, 11, 12, 16 |
Task-centric business service |
A business process-specific variation of the business service that represents an atomic unit of process logic. Task-centric services are different from process services in that the process logic is provided by the underlying service logic, not by a separate process definition. |
9, 11, 12, 15 |
Utility service |
A service that offers reusable logic. This category is primarily intended for the classification of solution-agnostic application services. However, it also can be used to refer to reusable business services. |
5, 9 |
Wrapper service |
A type of integration service that encapsulates and exposes logic residing within a legacy system. Wrapper services are commonly provided by legacy system vendors and therefore frequently introduce non-standardized interfaces. |
9 |