Artifact: Service Contract
This artifact is a representation of some set of communication between two or more services usually encapsulated as a new service. In this way, the model can represent services whose implementation is simply the collaboration of a set of existing services.
Work Product Kinds: Model Element
Purpose

The following people use the service providers:

  • Implementers, for an understanding of the collaborations and how services are to be composed.
  • Designers of services in understanding the collaboration context in which services will be used and reused.
  • Those who design the next version of the system, to understand the functionality in the service model and specifically the constraints in moving services between providers.
  • Those who test the classes, to plan testing tasks.
Relationships
Container Artifact
RolesResponsible: Modified By:
Description
Main Description

A service contract may be used in one of two ways;

  1. Firstly a service contract may be used during service identification where the primary parties are known but the development of a collaboration model helps to detail the responsibility of the parties. As such the resulting collaboration is not as important as the identified operations on the parties that were required to support the collaboration.
  2. Secondly a service contract may be developed to denote a required behavior between two or more services. Such a contract may then be realized by the providers of the services and their implementation checked against the contract.

The property 'strict' may be used to denote whether the contract is intended to be used to enforce conformance with the specified behavior; where a contract is used to identify services only the value of 'strict' would be 'false'.

Tailoring
Representation OptionsUML Representation:

Collaboration, stereotyped as <<Service Collaboration>>. The participants in the collaboration may only be instances of Service Providers.

Properties:

strict : Boolean - used to denote a contract that is to be used to strictly ensure the conformance of collaboration instances.



More Information