HOME

TheInfoList



OR:

The standardized service contract is a
software Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work. ...
design principle
to guarantee that service contractsService Inventory
/ref> (enterprise or domain) adhere to the same set of design standards. This facilitates standardized service contracts across the service inventory.Michael Pouli
Evolution of principles of Service Orientation: Service Contract, part 2
Date accessed: 12 April 2010.


Purpose

The
agility Agility or nimbleness is an ability to change the body's position quickly and requires the integration of isolated movement skills using a combination of balance, coordination, speed, reflexes, strength, and endurance. More specifically, it is de ...
promised by a service-oriented architecture (SOA) is usually measured in terms of the reusability level of its contained services. However, this reusability relates directly to the way the service contract defines service capabilities. A service built on a potentially reusable functional contextThe boundary of the service, i.e., the type of functions the service provides but with a contract that does not convey this reusability correctly does not achieve its reusability potential. Within service-oriented solutions, a service contract represents a fundamental artifact, as this is the only medium through which services interact with each other or other consumer programs. This creates 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 standardsTost. et a
Guidelines for Using Web Service Contract Technologies
Date accessed: 12 April 2010.
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 schema An XML schema is a description of a type of Extensible Markup Language, 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 ...
s 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.kou-Kai Li
A preliminary study on Service-oriented migration for a small-scale migration.
Date Accessed: 10 April 2010.


Application

A technical service contract As services are usually implemented as web services so this article focuses on the application of this design principle within the context of web services. is usually composed of a
WSDL The Web Services Description Language (WSDL ) is an XML-based interface description language that is used for describing the functionality offered by a web service. The acronym is also used for any specific WSDL description of a web service (also ...
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:


Functional expression standardization

The service's operations need to be defined using standardized naming conventions. This would also apply to the constituent input and out message names and their corresponding type names. This helps to increase the service contract's correct interpretation, which in turn increases service’s reuse and interoperability. When service contracts clearly express their capabilities, the chance of service duplication is also reduced.


Data model standardization

Two services exchanging messages based on the same type of data—e.g., a purchase order—might model that data according to different schemas, which requires data model transformation. This clearly adds overhead, and stands in the way of service interoperability and reuse. To avoid this transformation, the standardized service contract principle requires standardized data models, which further helps create a standardized data representation architecture that can be reused across the enterprise to define standardized service capabilities. Schema centralization directly supports the objectives of data model standardizationDecoupled Contract Pattern
/ref> design pattern. Also that the ‘contract first’ approach needs to be followed so that the underlying logic only makes use of standardized data models. Furthermore, the requirement for centralized data models may end in transmission of redundant data between services, as the actual data a service needs may be only a subset of the data defined in the standardized schema imposed on the service.


References

* Mauro. et al
Service Oriented Device Integration - An Analysis of SOA Design Patterns.
pp. 1–10, 2010 43rd Hawaii International Conference on System Sciences, 2010. Date accessed: 8 April 2010. * {{cite book , author-link = Thomas Erl , first = Thomas , last = Erl , year = 2008 , title = SOA Principles of Service Design , publisher = Prentice Hall , isbn = 978-0-13-234482-1 * Paul-Alexandru Istoan. tp://ftp.irisa.fr/local/caps/DEPOTS/BIBLIO2009/Istoan_Paul.pdf Software Product Lines and Service Oriented Architectures:can they be connectedDate Accessed: 10 April 2010. * Youssef Achban
A Multi-Agent Framework for Developing Adaptable and Open Service Systems
Date Accessed: 10 April 2010. * Kjell-Sverre Jerijærv
SOA Contract Maturity Model
Date accessed: 12 April 2010.


External links


SOA Concepts

SOA Terms Glossary
Service-oriented (business computing)