To answer these questions, I recently completed work on building, and subsequently delivering, a new SOA training workshop based on our concepts of Service Provisioning Contracts.
This workshop considers the following three prime contracts used in the provisioning of a Service, and the relationships between the,
- Service Level Agreement: The quality of service contract between service provider and consumer for the operational delivery of the service at run-time.
- Service Specification: The implementation independent behavioral contract between the service provider and consumer, and also the service provider and service implementer, that specifies what a service does but not how it does it.
- Automation Unit Specification: The requirements contract between the service provider and service implementer for the Automation Unit that provides the implementation of one or more service specifications.