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 delicious and Open Social. As an outcome of this experience we present an inconsistency catalog that supports the configuration of self-healing layers for Web2.0 applications
Denaro, G., Pezzè, M., Tosi, D. (2009). Ensuring interoperable service-oriented systems through engineered self-healing. In ESEC-FSE'09 - Proceedings of the Joint 12th European Software Engineering Conference and 17th ACM SIGSOFT Symposium on the Foundations of Software Engineering (pp.253-262). ACM [10.1145/1595696.1595734].
Ensuring interoperable service-oriented systems through engineered self-healing
Denaro, G;Pezzè, M;Tosi, D
2009
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 delicious and Open Social. As an outcome of this experience we present an inconsistency catalog that supports the configuration of self-healing layers for Web2.0 applicationsI documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.