Ensuring interoperable service-oriented systems through engineered self-healing

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.

[1]  Mary Shaw,et al.  Dynamic configuration of resource-aware services , 2004, Proceedings. 26th International Conference on Software Engineering.

[2]  W. Chan,et al.  A Metamorphic Testing Approach for Online Testing of Service-Oriented Software Applications , 2007, Int. J. Web Serv. Res..

[3]  Jos de Bruijn,et al.  Web Service Modeling Ontology , 2005, Appl. Ontology.

[4]  Kevin Mills,et al.  Understanding self-healing in service-discovery systems , 2002, WOSS '02.

[5]  Eleni Stroulia,et al.  API-Evolution Support with Diff-CatchUp , 2007, IEEE Transactions on Software Engineering.

[6]  David Evans,et al.  A biologically inspired programming model for self-healing systems , 2002, WOSS '02.

[7]  Armando Fox,et al.  Interoperability Among Independently Evolving Web Services , 2004, Middleware.

[8]  Fabio Casati,et al.  Semi-automated adaptation of service interactions , 2007, WWW '07.

[9]  Sebastián Uchitel,et al.  Compatibility verification for Web service choreography , 2004, Proceedings. IEEE International Conference on Web Services, 2004..

[10]  David Notkin,et al.  Semi-automatic update of applications in response to library changes , 1996, 1996 Proceedings of International Conference on Software Maintenance.

[11]  Massimo Paolucci,et al.  Grounding OWL-S in WSDL-S , 2006, 2006 IEEE International Conference on Web Services (ICWS'06).

[12]  David L. Martin,et al.  Describing Web Services using OWL-S and WSDL , 2003 .

[13]  Gail E. Kaiser,et al.  Using process technology to control and coordinate software adaptation , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[14]  Thomas A. Henzinger,et al.  An Interface Formalism for Web Services , 2007 .

[15]  Qianxiang Wang,et al.  Online testing of Web-based applications , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[16]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[17]  Armando Fox,et al.  Application-service interoperation without standardized service interfaces , 2003, Proceedings of the First IEEE International Conference on Pervasive Computing and Communications, 2003. (PerCom 2003)..

[18]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..

[19]  Hussein Zedan,et al.  Augmenting semantic web service descriptions with compositional specification , 2004, WWW '04.

[20]  Bradley R. Schmerl,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[21]  Armin Haller,et al.  WSMX - a semantic service-oriented architecture , 2005, IEEE International Conference on Web Services (ICWS'05).

[22]  Luciano Baresi,et al.  Towards Dynamic Monitoring of WS-BPEL Processes , 2005, ICSOC.

[23]  Marin Litoiu,et al.  A design for adaptive web service evolution , 2006, SEAMS '06.

[24]  Leon J. Osterweil,et al.  Containment units: a hierarchically composable architecture for adaptive systems , 2002, SIGSOFT '02/FSE-10.

[25]  Jeremy J. Carroll,et al.  Resource description framework (rdf) concepts and abstract syntax , 2003 .

[26]  Gail E. Kaiser,et al.  Distributed In Vivo Testing of Software Applications , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.