Service reuse rules
What kinds of information should I try to formalize with anyone who wants to reuse my service?

    Requires Free Membership to View

    When you register, you'll begin receiving targeted emails from my team of award-winning writers. Our goal is to keep you informed on recent service-oriented architecture (SOA) and SOA-related topics such as integration, governance, Web services, Cloud and more.

    Hannah Smalltree, Editorial Director

    By submitting your registration information to SearchSOA.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchSOA.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

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.

This was first published in July 2008