The SOA architectural style is fundamentally about separation; establishing smaller, separate units of capability that create a more agile application and infrastructure environment. Most of the core SOA principles such as loose coupling, abstraction, virtualization etc depend upon the existence of a contract.
The concept of service contract appears in various guises at different points in both the software process and the service lifecycle. Contractual mechanisms are needed to:
- specify the service that will be provided to the consumer regardless of how the service is implemented
- specify constraints on how the service is to be implemented
- specify the commercial terms and associated logistics that govern the way in which the service is provided and used.
a contract means rights and obligations, and not all the obligations are from the provider of the service : ie, the server offers a service, provided the client respects the conditions of calling it, not only on a syntactic point of view. For example, you could have a service which is implemented with some limitations in terms of enterprise capabilities (read availability, throughput, response time, security, …), for any valid reason (cost, time, resources, …). If one needs the same service in different conditions (for example 24×7), this has an impact on the implementation and should be paid for by the client. The server should check the preconditions before trying to execute the service.
MBA expert advice in this matter is :
Technology -wise, how the maintenance and upgrade and associated downtime (and to which part of the business/systems) will be handled
Business-wise, exit strategy (e.g. supplier change, bankrupt, takeover), how will this be handled by both parties.
Any way,There is no standard for the specification of SLAs. The most referenced and complete specifications that relate to SLAs for SOA environments, and in particular web services, are the Web Service Level Agreement (WSLA) language and framework and the Web Services Agreement Specification (WSAgreement).
The HWSLAH is a specification and reference implementation developed by IBM that provides detailed SLA specification capabilities that enable the runtime monitoring of SLA compliance.