Adaptive ESB Infrastructure for Service Based Systems

Adaptive ESB Infrastructure for Service Based Systems

Laura González (Instituto de Computación, Universidad de la República, Uruguay) and Raúl Ruggia (Instituto de Computación, Universidad de la República, Uruguay)
DOI: 10.4018/978-1-4666-2089-6.ch001
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

Service-based systems increasingly need adaptation capabilities to agilely respond to unexpected changes in their business or execution environment. Although service orientation constitutes a promising approach to achieve this goal, current methods and technologies do not fully support automatic and dynamic adaptation at runtime. In turn, the Enterprise Service Bus (ESB), one of the preferred middleware technologies to support the development of service-based systems, provides several built-in mediation capabilities (e.g. message transformation), which can be used to perform adaptation actions. However, the configuration of these capabilities cannot usually be performed at runtime. This chapter proposes an Adaptive ESB Infrastructure which, based on the mediation capabilities provided by ESBs, can respond to adaptation requirements in service-based systems in an automatic and dynamic way at runtime. The chapter also specifies how the proposed solutions can be used to deal with concrete situations including response time degradation, services saturation, and changes in services contracts.
Chapter Preview
Top

Introduction

As service-based systems operate in an increasingly dynamic world, they need adaptation capabilities to behave correctly despite unexpected changes in their business or execution environment. These issues becomes especially relevant in large scale service-based systems (e.g. e-government systems), where their massively distribution introduces numerous challenges in terms of performance, availability, reliability and security, among others.

Although service orientation constitutes a promising approach for building software systems which can agilely adapt to different situations, current methods and technologies do not fully support automatic and dynamic adaptation at runtime. (Di Nitto, Ghezzi, Andreas Metzger, Mike Papazoglou, & Klaus Pohl, 2008)

In the context of the S-Cube project, adaptation in service-based systems has been recognized as a crosscutting issue across their different layers (i.e. the infrastructure layer, the composition layer and the business layer). The project is adopting a comprehensive approach to leverage the adaptation capabilities within each layer to provide overarching solutions. This aims to avoid, for example, conflicting adaptation actions across these layers. Additionally, the S-Cube project has specified an integrated Adaptation and Monitoring Framework, which generalizes and broadens the state of the art in adaptation in service-based systems. The framework specifies an overall adaptation process and defines key logical elements including monitoring mechanisms, monitored events, adaptation requirements, adaptation strategies and adaptation mechanisms. (M. Papazoglou, K. Pohl, Parkin, & A. Metzger, 2010)

In turn, Enterprise Service Buses (ESBs) are widely recognized as a mainstream middleware to support the service infrastructure layer of service-based systems. ESBs provide a middle integration layer, with reusable integration and communication logic, which helps to address mismatches between services regarding communication protocols, message formats, and Quality of Service (QoS), among others. Furthermore, propositions like the Internet Service Bus (Ferguson, 2010) aim to apply these technologies in internet scale service-based systems.

Within an ESB-based platform, rather than interacting directly services communicate by sending messages through the ESB. Messages are usually processed by mediation flows which apply them different mediation operations (e.g. transformations). Mediation flows implement the integration and communication logic, and they are the means by which the ESB can ensure that services can connect successfully (Hérault, Thomas, & Fourier, 2005) (Michael Papazoglou, 2007). These mediation capabilities also provide the means to agilely react to different kinds of changes. For example, if a service modifies its location or its functional interface, an integration expert can configure a routing or a transformation in the ESB, respectively, to make these changes transparent to clients. However nowadays, the implementation (or configuration) of these mediation capabilities is usually performed in static and manual ways, which restricts the rapid responsiveness of the systems.

This chapter proposes and specifies an Adaptive ESB Infrastructure which, based on the mediation capabilities provided by ESBs, allows addressing adaptation requirements in service-based systems in an automatic and dynamic way at runtime. The general idea to achieve adaptation at runtime is to intercept all ESB messages and, if an adaptation is required for the invoked service, drive them through adaptation flows. These flows include all the mediations steps (e.g. message transformation) required to carry out a specific adaptation strategy (e.g. invoke an equivalent service). In particular, the chapter focuses on services implemented through the Web Services technology and on adaptation requirements triggered by response time degradation, services saturation and changes in services contracts.

The proposed adaptive infrastructure is based on messaging and integration patterns commonly supported in ESB products, so it provides a generic solution which is likely to be applied and implemented in most of these products. It also follows the key ideas of the S-Cube project, exposing adaptation and monitoring capabilities, which can be used by overarching solutions, and leveraging some of its frameworks (e.g. the Adaptation and Monitoring Framework).

Complete Chapter List

Search this Book:
Reset