ForeverSOA

A Rigorous Approach to the Evolution
of Service-oriented Software

As part of the INRIA associated team program

The Team's Mission

ForeverSOA concerns the maintenance of service-oriented applications via the substitution of services that no longer satisfy certain requirements with other services, offering the same functionality, possibly through different interfaces.

Participants

Motivation

Service-Oriented Architecture (SOA) is an architectural style that emerged as the answer to the latest requirements for loosely-coupled distributed computing. These requirements are of particular interest in the area of ambient intelligence (AmI) where the ultimate goal is the development of digital environments that provide seamless access to services that support the daily activities of users in the places where they live and work. Service support to AmI users must be customized to the users’ needs and habits and conform to the users’ particular quality requirements (e.g., performance, reliability, availability).

Services are by themselves autonomous systems that have been developed independently from each other. Moreover, services evolve independently; a service may be deployed, or un-deployed at anytime; its implementation, along with its interface may change without prior notification. The particular case of SOA-based AmI environments further involves the constantly evolving availability of services that offer the same functionality although publishing different interfaces and with varying quality characteristics as AmI users move from one environment to another. The independent evolution of services along with their variation in quality (e.g., performance, availability, reliability) are primary reasons that trigger the need for maintaining service-oriented applications built by composing services. The overall maintenance process amounts to substituting a target service that no longer satisfies the requirements of the end-users with a substitute service that offers the same/similar functionality. The goal in service substitution is to relate the substitute service with the target service, via concrete mappings between their operations, their inputs and outputs. Based on these mappings it should be possible to develop/generate an adaptor that allows service-oriented applications to access the functionality of the substitute service, using the interface of the target service, without modifications in the applications’ implementation. The service substitution should be dynamic, efficient, supported by a high level of automation.

State of the Art

The state of the art on service substitution comprises various interesting approaches. There exist efforts, which assume that the mappings between the target service and the substitute service are given, specified by the end-users or the service providers. The human effort required from this approaches renders them impractical, especially in the case of AmI environments. On the other hand, there exist automated solutions, proposing mechanisms for the derivation of mappings between the given target service that should be substituted and a candidate substitute service. The complexity of these approaches scales up with the cardinality of available services and therefore efficiency is compromised. Again, this is an important disadvantage, especially considering the case of AmI environments.

Contribution

This line of research aims at a systematic approach that enables the dynamic, efficient service substitution. To this end, the proposed approach consists of:
  • A method that allows organizing available services with respect to service abstractions, i.e., groups of relevant services that offer a common subset of similar functionalities through different interfaces. To this end, we formally define the notion of service abstractions and propose a hierarchical clustering algorithm. The algorithm accepts as input a set of alternative services, found in a particular category of a public service registry, and incrementally recovers a corresponding hierarchy of service abstractions.
  • A service discovery middleware that embeds the abovementioned approach and further enables service providers to register available services and service users to discover sets of substitute services for a given target service, exposed as reverse-engineered service abstractions. Based on this approach the efficiency of the retrieval of candidate substitute services is not compromised. In particular, the complexity of the retrieval scales-up with the cardinality of available abstractions, instead of scaling up with the number of available services.
  • Middleware poly-proxies that serve as local representatives of reverse engineered service abstractions on the side of the service-oriented applications. Poly-proxies shall be dynamically customizable middleware elements that map the changing quality requirements (e.g., performance, reliability, availability) of the end-users of the service-oriented software to the concrete services that can fulfill these requirements. The end-users’ quality requirements shall serve as input rules to the dynamically customizable poly-proxies, which will rely on online quality monitoring towards performing the selection of the appropriate concrete services. A second critical property of the poly-proxy middleware elements shall be the ability to dynamically upgrade them with respect to the evolving availability of the concrete services that are registered in / unregistered from the service-discovery mechanism.

Related Publications

Titre
Dynamic Maintenance of Service Orchestrations
Auteurs
Fredj Manel; Zarras Apostolos; Georgantas Nikolaos; Issarny Valérie
Détail
Service Intelligence and Service Science: Evolutionary Technologies and Challenges, IGI Global, 2011
Accès au texte intégral et bibtex
DynamicMaintenanceServiceOrchestrations.pdf BibTex
Titre
Mining Service Abstractions (NIER Track)
Auteurs
Athanasopoulos Dionysis; Zarras Apostolos; Vassiliadis Panos; Issarny Valérie
Détail
33rd International Conference on Software Engineering (ICSE), May 2011, Hawaii, United States. pp. 4
Accès au texte intégral et bibtex
icse11_2nier-p101-athanasopoulos.pdf BibTex
Titre
ForeverSOA: Towards the Maintenance of Service Oriented Software
Auteurs
Athanasopoulos Dionysis; Zarras Apostolos; Issarny Valérie
Détail
CSMR Workshop on Software Quality and Maintenace (SQM), Mar 2011, Oldenburg, Germany.
Accès au texte intégral et bibtex
ForeverSOA.pdf BibTex
Titre
Service Substitution Revisited
Auteurs
Athanasopoulos Dionysis; Zarras Apostolos; Issarny Valérie
Détail
24th IEEE/ACM International Conference on Automated Software Engineering - ASE 2009, Nov 2009, Auckland, New Zealand.
Accès au texte intégral et bibtex
ase09v7-.pdf BibTex

Related Research