Section: Application Domains
Service-oriented architectures
Service-Oriented Computing (SOC) is an emerging paradigm used to program and integrate distributed applications, thus solving some of the integration problems discussed above. Indeed, service-oriented computing has two main advantages:
-
Loose-coupling: services are autonomous, in that they do not require other services to be executed;
-
Ease of integration: Services communicate over standard protocols.
In 2008, we mainly provided new results about the quality of services in service-oriented architectures [1] . In 2009, we focused on the application of aspects to security in service-oriented architectures (SOAs). This work has led to a proposal called CESSA that has been accepted by the french research agency (“Agence nationale de la recherche”, ANR): see Sec. 8.2 for information about the project like its funding and its members.
Our current work is based on the following observation: similar to other compositional structuring mechanisms, SOAs are subject to the problem of cross-cutting functionalities, that is, functionalities that are scattered and tangled over large parts of the architecture and the underlying implementation. Security functionalities, such as access control and monitoring for intrusion detection, are a prime example of such a functionality in that it is not possible to modularize security issues in a well-separated module. Aspect-Oriented Software Development is precisely an application-structuring method that addresses in a systemic way the problem of the lack of modularization facilities for cross-cutting functionalities.
We are considering solutions to secure SOAs by providing an aspect-oriented structuring and programming model that allows security functionalities to be modularized. Two levels of research have been identified:
-
Service level: as services can be composed to build processes, aspect weaving will deal with the orchestration and the choreography of services.
-
Implementation level: as services are abstractly specified, aspect weaving will require to extend service interfaces in order to describe the effects of the executed services on the sensitive resources they control.