Thèse soutenue

Déploiement d'Applications à Services sur des Environnements d'Exécution à Services : Une Approche Dirigée par les Modèles

FR  |  
EN
Auteur / Autrice : Antonin Chazalet
Direction : Philippe Lalanda
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 2008
Etablissement(s) : Grenoble 1

Résumé

FR  |  
EN

Notre objectif est la fourniture de services Internet basés sur des architectures "n-tiers". Dans notre contexte, ces architectures sont composées de cinq tiers : "équipements", "passerelles", "médiation", "serveur Internet" et "clients finaux". L'appréhension du tiers "passerelle" nécessite l'introduction d'applications à services qui sont destinées à répondre à des requêtes du tiers "médiation" et à collecter et transformer des données provenant du tiers "équipements" qui seront ensuite utilisées par le tiers "médiation" puis manipulées par le tiers "serveur Internet" qui est chargé de leur présentation aux clients finaux. L'introduction de telles applications à services destinées à fonctionner dans des environnements d'exécution à services nécessite la résolution de problématiques propres : - au développement d'applications à services métiers [ML07], - à leur déploiement dans des environnements d'exécution à services (ce qui est l'objectif de cette thèse) [CL07a] - à la gestion dynamique des interactions entre les applications à services et les équipements (dé)- branchés à la passerelle (qui sont exposées comme des services) [EBL+08]. Le cycle de vie logiciel est composé de plusieurs phases. Les principales sont l'analyse, la conception, l'implémentation, le test et le déploiement. Cette dernière est une phase complexe qui est composée d'activités et de sous-activités comme l'installation, l'activation, la désactivation, les mises à jour statique et dynamique, l'évolution, le dynamisme et la désinstallation. L'introduction et l'utilisation de l'approche à service augmente encore la complexité de la phase de déploiement, en particulier lorsqu'il s'agit de déployer des applications à services sur des environnements d'exécution à services. Les enjeux sont, ici : - d'exécuter des activités de déploiement sur les applications tout en respectant l'architecture de chaque application (c'est-à-dire le modèle de chaque application), - de maîtriser l'état de déploiement des (implémentations de) services réalisant ces applications, - d'exécuter des activités de déploiement sur des services appartenant à ces applications en ne touchant que le service ciblé et donc sans impacter entièrement les applications dans leur ensemble. Nous appelons ce dernier enjeu : "déploiement au plus près". Il impose que les unités de développement (c'est-à-dire les composants orientés service contraints) utilisées pour développer les applications et les unités de déploiement (c'est-à-dire les implémentations de services) utilisées pour réaliser les applications aient le même grain. Cette thèse propose un prototype, nommé DMSA (pour Deployment Manager for Services Applications), automatisant le déploiement d'applications à services sur des environnements à services en suivant une approche dirigée par les modèles. L'utilisation de l'approche dirigée par les modèles est une réponse à la constante montée en abstraction du déploiement et de son point d'entrée. Le découplage total entre les niveaux modèles et "réalité" a été choisi afin de permettre la réutilisation des implémentations de services entre modèles de services. Cette thèse explicite notre approche, le méta-modèle pour les applications à services, la définition du déploiement pour les applications à services, l'architecture du DMSA et nos propositions. Ces dernières ciblent le déploiement d'un, puis de plusieurs modèles d'application à services sur un environnement d'exécution à services, le déploiement "transactionnel", l'appréhension de notre contexte embarqué/réactif et l'exécution de listes ordonnées d'activités de déploiement sur des environnements d'exécutions à services.