ForeverSOA Associated Team
ForeverSOA
A Rigorous Approach to the Evolution
of Service-oriented Software
As part of the INRIA associated team program
The Team's Mission
Participants
- ARLES - INRIA CRI Paris-Rocquencourt
- DMoD – CS Department of University of Ioannina
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
- 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
- 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
- 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
- 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