Applying Concept Reuse for Adaptive Service Composition

Applying Concept Reuse for Adaptive Service Composition

Onyeka Ezenwoye (South Dakota State University, USA) and S. Masoud Sadjadi (Florida International University, USA)
DOI: 10.4018/978-1-60960-493-6.ch011

Abstract

Web Services are gaining acceptance as the predominant standards-based approach to building open distributed systems. Business Process Execution Language (BPEL) allows for the composition of existing Web Services to create higher-level Web Services. There is a need to deliver reliable service compositions with precise Quality of Service (QoS) attributes covering functional correctness, performance and dependability, especially since the current BPEL standard provides limited constructs for specifying exceptional behavior and recovery actions. This chapter presents a language-based approach to transparently adapting BPEL processes to improve reliability. This approach addresses reliability at the business process layer (i.e., the language layer) using a code generator, which weaves fault-tolerant code to the original code and an external proxy. The chapter also explains the software patterns present in this approach. These patterns constitute abstract reusable concepts that will facilitate rapid model-driven development of adaptive service compositions that can be easily configured for a range of situations.
Chapter Preview
Top

Introduction

In component-based architectures, the functionality of a whole system is divided into smaller functions, each encapsulated in components that can work together. As an extension of the component-based architecture, in a distributed system, components may reside in different physical locations (e.g., client/server architecture; Nickull, 2005). Web Services are gaining acceptance as the predominant standards-based approach to building open distributed systems. With Web Services, distributed applications can be encapsulated as self-contained, discoverable and Internet-accessible software components that can be integrated to create other applications. The fundamental aspects of Web Services can be summarized as follows: (1) strict separation of service interface description, implementation, and binding; (2) declarative policies and Service Level Agreements (SLAs) to govern service interactions; and (3) loosely coupled, standards-based and message-centric interactions between autonomous and replaceable service components (Erradi, Maheshwari, & Tosic, 2006).

The family of specifications that makes up the Web service standards includes a specification for service composition known as Business Process Execution Language (BPEL; Ezenwoye & Sadjadi, 2005). BPEL allows for the composition of existing Web Services to create new higher-level Web Services. BPEL is used to define abstractions that represent composite services. As depicted in Figure 1, these executable abstractions constitute centralized applications that model the interaction between the integrated distributed services. The composite service is modeled as a graph where the nodes represent tasks and the edges represent some composition constraints in the form if inter-task dependencies, data flow or flow control. Figure 2 shows the Service Composition Model. In this model, the composite service is an aggregation of tasks and the tasks may be implemented by the integrated services. The composite service itself is a service.

Figure 1.

Service composition

Figure 2.

The service composition model

In Grid computing, the resources available on disparate distributed computing environments are harnessed to create a parallel infrastructure that allows for applications to be processed in a distributed manner. The goal is to create an accessible virtual supercomputer by integrating distributed computers with the use of open standards (Foster, Kesselman, & Tuecke, 2001). To achieve this, OGSA (The Open Grid Services Architecture) defines an architecture for service-oriented Grid computing. Under OGSA, computational and storage resources that exist within autonomous collaborating institutions are exposed as an extensible set of networked Grid services that can be integrated to create higher-function applications (Foster, Kesselman, Nick, & Tuecke, 2002). As illustrated in Figure 3, this service integration that is achieved through composite services are used to create applications for coordinated problem solving in areas such as Bioinformatics and Meteorology. These highly available applications need to remain operational and rapidly responsive even when failures disrupt some of the nodes in the system (Birman, Renesse, & Vogels, 2004). Thus, there is a need to deliver reliable service compositions with precise Quality of Service (QoS) attributes covering functional correctness, performance and dependability (Ouzzani & Bouguettaya, 2004), especially since current Web Services standards provide limited constructs for specifying exceptional behavior and recovery actions.

Figure 3.

Grid service interaction

Complete Chapter List

Search this Book:
Reset