Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

Design of Quality Aspects in Service Oriented Architecture through Service Level Agreements Requesting a service from a provider becomes therefore more complex, as it contains more than just a function invocation along with data useful to its execution. The requester and the provider have to agree on quality properties and levels specific for a single service request. Booking of services may be of interest and this should be included in the negotiation with the provider. Service Level Agreements (SLA) (Jin, Machiraju, & Sahai, 2002) represent a valid mechanism to achieve the foretold goals, and even more. They hold the description of the requested service along with quality constraints, validity period of the request and other terms. SLA can be negotiated between two parties and when an agreement is reached, the SLA contain the assurance on the quality levels. Even using SLA to ensure that the QoS guaran- teed by the provider of a service are those expected by the requester, unforeseen problems may arise at provisioning time and hinder the execution workflow either with low levels of quality or even with an interruption of the provisioning of a service. Runtime adaptivity (Cheng, de Lemos, Giese, Inverardi & Magee, 2009; Raibulet, 2008) seems to be the solution to overcome these issues. Essentially, it means that a system is constantly aware of itself and of its execution environment (e.g., by monitoring the state of the provision- ing and by having a list of different providers for a given service). Should a problem arise that could slow or stop the execution workflow, the adaptive mechanisms would have the ability to switch from the current provider to another one at runtime. SLA are especially appropriate for this task since they can also hold the information on the strategies adopted by the requester, in case the provider does not meet the agreed QoS. In this chapter we propose a SOA model for enforcing quality aspects on service provisioning by exploiting SLA and adaptivity specific mecha- nisms. Our architectural model, or framework model, should be able to receive service requests coupled with desired QoS. After a request is re- ceived it should manage the execution workflow and contact service providers, as well as negotiate SLA for the specific service provision. Adaptation is performed dynamically whenever QoS are no longer guaranteed or a provider becomes unavail- able. In previous work (Massarelli, Raibulet, Cammareri & Perino, 2009; Raibulet & Massarelli, 2008) we have introduced briefly several aspects of our framework model. The rest of the chapter is organized as follow- ing. The Background Section introduces the main concepts used in this chapter. The Proposed Model Section describes in detail the architectural model of our solution. An application of our approach in an actual scenario is illustrated in the Architecture Exemplification through a Case Study Section. The Related Work Section discusses similar solutions by introducing their advantages and limitations. The lessons learned and future work are dealt within the last section of this chapter. BACKGROUND The background concerns the four main keywords of this chapter: Service Oriented Architecture, Quality of Service, Service Level Agreement and adaptivity. Service Oriented Architecture With the term Service Oriented Architecture (SOA) is denoted a software architecture based on the loose-coupling between a service and its providers (Erl, 2005). Newcomer and Lomow (2005) describe the SOA concept as "a style of design that guides all aspects of creating and using business services throughout their lifecycle (from conceptions to retirement), as well as defining and provision- ing the IT infrastructure that allows different applications to exchange data and participate in business processes regardless of the operating system or programming languages underlying those applications". Furthermore, they define a 3