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.

An understand of the content and the role of each of these contracts can be seen in an earlier CBDI Journal Report - Service Contracts in the Service Oriented Process - which is now freely available on the Everware-CBDI website (on registration).  

Since that report was authored I have detailed the Automation Unit Specification, and also developed an Exception Management Framework in later reports and so was able to pull this workshop together.

Also, since publishing our original work on Service Specification (the CBDI-SAE Service Specification Template is also freely available for download), we have also gained a lot of experience from different customer engagements as to the differing needs for Service Specification and the other contracts. Consequently, as well as looking at the details of each of these contract types, and walking through the corresponding CBDI-SAE templates for their documentation, the workshop also considers how the requirement for them or the amount of detail required varies by context and differing project profiles.

This workshop doesn't fully replace our existing Service Specification workshop. That goes into more detail on aspects such as developing the Service Information Model and how to document operation behavior, and also includes individual and group exercises on them.

Those particular modules from the Service Specification workshop might be a good follow on for those specifically tasked with their delivery, whilst not necessary in such detail for the rest of the audience. Similarly, the Service Provisioning Contracts workshop really needs to be proceeded with a good understanding of our Service Architecture approach, in particular the classification and layering of service types as this is referenced in the workshop, and also on understanding the difference between the service specification and service implementation architecture views.

Hence, we often find that the agendas for the workshops we put on for our customers are typically customized to suit their specific needs and prior experience.

More details on our workshops can be found in our Education Catalog

No comments:

Post a Comment