SOA Patterns > Basics > Service-Orientation Principles > Service-Orientation Design Principles > Standardized Service Contract
Standardized Service Contract
“Services within the same service inventory are in
compliance with the same contract design standards.”
Services express their purpose and capabilities via a service contract. The Standardized Service Contract design principle is perhaps the most fundamental part of service-orientation in that it essentially requires that specific considerations be taken into account when designing a service’s public technical interface
and assessing the nature and quantity of content that will be published as part of a service’s official contract.
A great deal of emphasis is placed on specific aspects of contract design, including the manner in which services express functionality, how data types and data models are defined, and how policies are asserted and attached. There is a constant focus on ensuring that service contracts are both optimized, appropriately granular, and standardized to ensure that the endpoints established by services are consistent, reliable, and governable.
Figure 1 – Using Web service contract documents (WSDL, XML schema, and WS-Policy definitions) as an example, this illustration highlights the areas that are typically affected by the application of this design principle.
SOA Principles of Service Design by Thomas Erl – Chapter 6: Service Contracts (Standardization and Design) is dedicated to exploring this design principle in detail.
Related Service-Orientation Computing Goals
Increased Intrinsic Interoperability,
Increased Federation,
Increased Vendor Diversification Options,
Increased Business and Technology Alignment,
Increased ROI,
Increased Organizational Agility,
Reduced IT Burden
Related SOA Patterns
Agnostic Capability, Asynchronous Queuing, Canonical Expression, Canonical Protocol, Canonical Schema, Canonical Versioning, Capability Composition, Capability Recomposition, Compatible Change, Concurrent Contracts, Contract Centralization, Contract Denormalization, Data Format Transformation, Data Model Transformation, Decomposed Capability, Decoupled Contract, Distributed Capability, Domain Inventory, Dual Protocols, Enterprise Inventory, Event-Driven Messaging, Inventory Endpoint, Legacy Wrapper, Message Screening, Non-Agnostic Context, Partial Validation, Policy Centralization, Protocol Bridging, Schema Centralization, Service Callback, Service Facade, Service Messaging, Service Refactoring, State Messaging, Termination Notification, Validation Abstraction, Version Identification