Ensuring interoperable service-oriented systems through engineered self-healing

  • Authors:
  • Giovanni Denaro;Mauro Pezzè;Davide Tosi

  • Affiliations:
  • University of Milano-Bicocca, Milan, Italy;University of Milano-Bicocca and University of Lugano, Milan, Italy;University of Milano-Bicocca, Milan, Italy

  • Venue:
  • Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many modern software systems dynamically discover and integrate third party libraries, components and services that comply with standard APIs. Compliance with standard APIs facilitates dynamic binding, but does not always guarantee full behavioral compatibility. For instance, problems that derive from behavior incompatibility are quite frequent in service-oriented applications that dynamically bind service implementations that match API specifications. This paper proposes a technique to engineer applications with a self-healing layer that dynamically reveals and fixes interoperability problems. The core elements of the technique are catalogs and a runtime infrastructure. Catalogs support developers in configuring the self-healing layers. The runtime infrastructure enacts the configured self-healing strategies. This paper discusses both the effectiveness of our solution and the relevance of the problem in the context of service-oriented applications, referring to a case study of Web2.0 social applications that integrate the standard APIs del.icio.us and OpenSocial. As an outcome of this experience we present an inconsistency catalog that supports the configuration of self-healing layers for Web2.0 applications.