|
There are two aspects to this question:
1. What information should you provide that describes the service to help potential consumers determine whether they want to use the service (Service Description)?
2. What information should you capture that describes the terms and conditions associated with the specific relationship between the a particular service consumer and service provider (Service Contract)?
A Service Description should include whatever information a service consumer needs to determine whether the service meets its needs. That includes interface definitions (e.g., abstract WSDL and schemas), semantic descriptions and documentation (e.g., prose descriptions), interaction patterns (e.g., call this operation before that one), interaction policy options (e.g., accepted authentication mechanisms, privacy policies, etc.), performance guarantees and/or limitations (e.g., SLA options), support options, enhancement options, payment/remuneration options, etc.
A Service Contract represents the specific agreements that both parties settle on, as well as specific instructions on how to communicate, e.g., concrete WSDL with endpoints, agreed-to interaction policies, SLAs, support agreements, enhancement agreements, remuneration agreements, etc. Note that SLAs should govern not just service performance, but also the load that the consumer is permitted to submit.
|