Home > Service-Oriented Principles > Service-Orientation Design Principles

Service-Orientation Design Principles

"Service contracts only contain essential information and information
about services is limited to what is published in service contracts."

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.

Service-Orientation Design Principles: The level of suitable abstraction can be closely related to the nature of the logic being encpasulated by 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.


Service-Orientation Design Principles: Orientation Computing Goals

Related Service-Orientation Computing Goals

Increased Intrinsic Interoperability, Increased Federation, Increased Vendor Diversification Options, Increased ROI, Increased Organizational Agility, Reduced IT Burden


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