Reconciliation of Contractual Concerns of Web Services

Reconciliation of Contractual Concerns of Web Services

Hong-Linh Truong (Vienna University of Technology, Austria), G.R. Gangadharan (IBM Research India, India), Marco Comerio (University of Milano-Bicocca, Italy), Vincenzo D’Andrea (University of Trento, Italy), Flavio De Paoli (University of Milano-Bicocca, Italy) and Schahram Dustdar (Vienna University of Technology, Austria)
DOI: 10.4018/978-1-61350-432-1.ch013


There exist many works addressing service contracts fully or partially. They often mention the same notion with different languages and terminologies. This causes several problems in the specification, negotiation, and monitoring of contractual concerns in service-oriented environments, in particular in the Internet-scale and cloud computing environments. With the objective of reconciling contractual concerns, in this chapter, we will analyze the strengths and weaknesses of existing languages and standards for describing service contracts. We will present our research efforts for dealing with multiple contract specifications and semantics mismatching when identifying, specifying, negotiating, and establishing service contracts for service composition in the Internet and cloud computing environments. We will explore the issues of service contracts compatibility and present our solutions. Furthermore, we will analyze crucial points in monitoring and enforcement emerging contractual terms for Internet-based and cloud-based services that so far have not been in the research focus.
Chapter Preview


Web services aim at simplifying the interoperability and integration of services, developed by independent providers, for complex business processes by discovering and composing services distributed over the Internet. The building of such complex and valuable processes of multi-provider Web services relies on the efficiency of discovering the services and composing them. The Web services discovery will locate machine-processable descriptions of Web services that meet certain criteria. The Web service composition consists in combining the functionality of several discovered Web services in order to define composite services (Kuno et al, 2003). The increasing availability of Web services in the Internet and cloud computing environments that offer similar functionalities requires mechanisms to go beyond the pure functional discovery and composition of Web services. As a result, researchers have developed many solutions for enhancing Web service discovery and composition with the evaluation of multiple types of non-functional properties (NFPs) and applicability conditions associated with a Web service. These solutions play a crucial role in the establishment of mutual understanding about the business transaction between a provider (seller) and a consumer (buyer).

Currently, the mutual understanding between the service provider and the service consumer is established by several approaches across various application domains. Contracts, policies, licenses, and service level agreements (SLAs) are the most common approaches for expressing this understanding. Though there are some differences among contracts, policies, SLAs, and licenses, the common denominator is an identification for a belief of a business transaction between the service provider and the service consumer and thereby, commonly considered under the umbrella term `Service Contracts' or simply by `contracts'.

A contract is a legally binding exchange of promises or agreement between parties that the law will enforce. The contents of contracts may vary as the definition of contract is very broad in scope. A contract can include quality of service terms (e.g., response time and availability), legal terms (e.g., fair use and copyrights), intellectual rights terms (e.g., allowing or denying composition), and business terms (including financial terms such as payment and tax). Typically these terms are described in forms of conditions established on the basis of non-functional parameters. Both the provider and consumer can specify non-functional parameters associated with their services and their requests, in general, but contract terms will include specific conditions of non-functional parameters that are agreed by the provider and consumer for particular business transactions. As there is no single formal ontology or unique way of describing these terms, service providers and service consumers can represent these terms as they wish. This causes strong ambiguity and redundancies in terms descriptions, preventing the right interpretation of contract terms in multi-provider service-oriented environments.

In the literature, there exist many works fully or partially addressing service contracts, but they often mention the same concepts with different languages and terminologies. This requires guidelines and approaches for reconciling them to better collaboration between service providers, service consumers and service integrators. In most cases, current works do not consider the negotiation and establishment of contractual terms modeled by different specifications. However, such negotiation and establishment should be supported as service consumers are increasingly composing and utilizing services provided by different providers, each imposes a different meaning on contractual terms. In parallel, the trend of providing Software-as-a-service (SaaS) (Viega, 2009) and Data-as-a-Service (DaaS) (Dan et al., 2007;Truong et al., 2009) in the cloud demands a strong support for establishment, monitoring and enforcement of diverse contractual terms as in the SaaS/DaaS model typically each software usage is bound to a service contract. Addressing service contracts for composite services is important but this work is under-researched.

Key Terms in this Chapter

Service Contract: A legal agreement between a service provider and service consumer that is enforced by the law.

Non-Functional Parameters: Qualitative and quantitative parameters of a service covering QoS, business, legal, and intellectual rights issues related to the service usage.

Service Contract Mapping: A process to map different service contracts described in different specifications and terminologies.

Service Contract Reconciliation: A process to reconcile the semantics and syntax of multiple service contracts specified in different languages.

Service Contract Compatibility: A process to verify whether there are no conflicting contractual terms among different contracts.

Contractual Terms: An instance built as a constraint based on non-functional properties characterizing concerns associated with services and their data. They basically describe the associated non-functional parameters of a service.

Complete Chapter List

Search this Book: