Orchestration of heterogeneous and secured services
Orchestration de services hétérogènes et sécurisés
Résumé
Service-oriented Computing (SOC) has appeared recently as a new software engineering paradigm. The very purpose of this reuse-based approach is to build applications through the late composition of independent software elements, called services, which are made available at run-time by internal or external providers. SOC brings properties of major interest. First, it supports rapid application development. Using existing, already tested, services is likely to reduce the time needed to build up an application and the overall quality of this application. SOC also improves software flexibility through late binding. A service to be used by an application is chosen at the last moment, based on its actual availability and on its properties at that moment. The service orientation has also to face thorny problems, as in any reuse-based approach. In this work, we focus on two major issues: the integration of heterogeneous service-oriented technologies and the management of security aspects when invoking a service. Security is actually a major concern to SOC practitioners. SOC technologies have allowed companies to expose applications, internally and externally, and, for that reason are heavily used. However, in some distributed environments, software services and process engines can be alarmingly vulnerable. Service-based processes can expose organizations to a considerable amount of security risk and dependability degradation. We propose to use a model-driven approach for solving this problem. During system design, paradigms such as abstraction, separation of concerns and language definition are used to define a model of the service composition with security properties. This model is transformed into an execution model. We present a generative environment applying these principles for service composition. This environment has been built as part of the SODA European project and validated on several industrial use cases.
Récemment, l'approche à services est apparue en ayant pour but de construire des applications à partir d'entités logicielles, nommées services. Un service fournit un ensemble de fonctionnalités définies par une description de services. A partir de cette description, un consommateur de service peut rechercher un service qui corresponde à ses besoins, le sélectionner et l'invoquer. La construction d'applications par composition de services demeure néanmoins une activité complexe puisqu'il faut traiter conjointement les aspects métier et techniques ; la composition doit satisfaire aux exigences fonctionnelles et non-fonctionnelles ainsi que respecter les contraintes des technologies à services liées, notamment, à l'hétérogénéité des plates-formes. Par ailleurs, les points forts de l'architecture à services, qui sont la distribution et le déploiement des services sur des platesformes hétérogènes, ouvrent d'importantes failles de sécurité. Nous proposons une approche dirigée par les modèles pour simplifier la réalisation d'applications basées sur une orchestration de services hétérogènes en prenant en considération les aspects de sécurité dès l'étape de conception. Pour cela, nous avons défini deux méta-modèles : l'un pour l'orchestration de services et l'autre pour la sécurité, ainsi que des liens entre ces méta-modèles dans le but d'étendre l'orchestration avec des propriétés de sécurité. Ainsi, il est possible de réaliser des modèles d'orchestration de services hétérogènes et sécurisés conformes aux méta-modèles. A partir de ces modèles, nous générons le code nécessaire à l'exécution de l'orchestration. L'exécution se fait en fonction des modèles définis dans la phase de conception et des services disponibles qui répondent aux spécifications. Notre approche a été validée avec la plate-forme Secure FOCAS, qui a été réalisée dans le cadre du projet Européen ITEA SODA.
Loading...