Service-Orientation Design Principles
“Service contracts only contain essential information and
about services is limited to what is published in service
Abstraction ties into many aspects of service-orientation. On a fundamental level, this principle emphasizes the need to hide as much of the underlying details of a service as possible. Doing so directly enables and preserves the previously described loosely coupled relationship. Service Abstraction also plays a significant role in the positioning and design of service compositions.
Various forms of meta data come into the picture when assessing appropriate abstraction levels. The extent of abstraction applied can affect service contract granularity and can further influence the ultimate cost and effort of governing the service.
Figure 1 – The level of suitable abstraction can be closely related to the nature of the logic being encpasulated by the service.
SOA Principles of Service Design by Thomas Erl – Chapter 8: Service Abstraction (Information Hiding and Meta Abstraction Types) covers various aspects of applying abstraction to different types of service meta data, along with processes and approaches associated with information hiding.
Related Service-Orientation Computing Goals
Related SOA Patterns
Capability Composition, Capability Recomposition, Decomposed Capability, Domain Inventory, Dual Protocols, Enterprise Inventory, Entity Abstraction, Exception Shielding, Inventory Endpoint, Legacy Wrapper, Policy Centralization, Process Abstraction, Service Perimeter Guard, Service Refactoring, Utility Abstraction, Validation Abstraction