Thursday, 14 October 2010

Service Provisioning Contracts - New SOA Training

SOA is fundamentally a contract-based approach. The concept of ‘loose coupling’ works because the dependency between implementations is replaced by a dependency on contracts. As long as the contract between provider and consumer is met, then the dependency on a specific implementation is removed. However, the devil is always as ever in the detail. What contracts are actually required? How are they documented? How should the level of precision required be conveyed?

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.