Standardized Service Contract
Encyclopedia
The Standardized Service Contract is a design principle, applied within the service-orientation
design paradigm
, in order to guarantee that the service contracts within a service inventory (enterprise or domain) adhere to the same set of design standards, which results in standardized service contracts across the service inventory.
is usually measured in terms of the reusability level of its contained services. However, this reusability is directly related to the way service capabilities have been defined within the service contract, as a service that is built upon a potentially reusable functional context but whose contract does not convey this reusability in an appropriate manner is not going to achieve its reusability potential. Within service-oriented solutions, a service contract represents a fundamental artifact as this is the only medium through which the services interact with each other or with other potential consumer programs. Therefore, there exists a strong need to standardize the service contracts in order to make services reusable and recomposable as much as possible. In order to achieve this, the Standardized Service Contract design principle needs to be applied as its application results in standardized service contracts that are based on design standards as set within a service inventory.
One of its goals is to reduce the need for data transformations as two services interact with each other, which can be achieved if the service contracts use standardized data models e.g. XML schemas
if the services have been implemented as web services
. This also helps in making services more interoperable. Another important goal of this design pattern is to use a standardized way of expressing service capabilities so that their purpose and ability can be easily understood at design time.
document, XML schema(s) and policy document(s). Consequently, this principle needs to be applied across three areas of a service contract as described below:
Service-orientation
Service-orientation is a design paradigm to build computer software in the form of services. Like other design paradigms , service-orientation provides a governing approach to automate business logic as distributed systems...
design paradigm
Design paradigm
The term Design paradigm derives from the rather ambiguous idea of paradigm originating in Sociology of Science, which carries at least two main meanings:...
, in order to guarantee that the service contracts within a service inventory (enterprise or domain) adhere to the same set of design standards, which results in standardized service contracts across the service inventory.
Purpose
The agility promised by an SOAService-oriented architecture
In software engineering, a Service-Oriented Architecture is a set of principles and methodologies for designing and developing software in the form of interoperable services. These services are well-defined business functionalities that are built as software components that can be reused for...
is usually measured in terms of the reusability level of its contained services. However, this reusability is directly related to the way service capabilities have been defined within the service contract, as a service that is built upon a potentially reusable functional context but whose contract does not convey this reusability in an appropriate manner is not going to achieve its reusability potential. Within service-oriented solutions, a service contract represents a fundamental artifact as this is the only medium through which the services interact with each other or with other potential consumer programs. Therefore, there exists a strong need to standardize the service contracts in order to make services reusable and recomposable as much as possible. In order to achieve this, the Standardized Service Contract design principle needs to be applied as its application results in standardized service contracts that are based on design standards as set within a service inventory.
One of its goals is to reduce the need for data transformations as two services interact with each other, which can be achieved if the service contracts use standardized data models e.g. XML schemas
XML schema
An XML schema is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntactical constraints imposed by XML itself...
if the services have been implemented as web services
Web service
A Web service is a method of communication between two electronic devices over the web.The W3C defines a "Web service" as "a software system designed to support interoperable machine-to-machine interaction over a network". It has an interface described in a machine-processable format...
. This also helps in making services more interoperable. Another important goal of this design pattern is to use a standardized way of expressing service capabilities so that their purpose and ability can be easily understood at design time.
Application
A technical service contract is usually composed of a WSDLWeb Services Description Language
The Web Services Description Language is an XML-based language that is used for describing the functionality offered by a Web service. A WSDL description of a web service provides a machine-readable description of how the service can be called, what parameters it expects and what data structures...
document, XML schema(s) and policy document(s). Consequently, this principle needs to be applied across three areas of a service contract as described below: