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

par Antonin Chazalet

Thèse de doctorat en Informatique

Sous la direction de Philippe Lalanda.

Soutenue en 2008

à l'Université Joseph Fourier (Grenoble) .

    mots clés mots clés


  • Résumé

    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.


  • Résumé

    Our goal is to provide Internet services on top of "n-tier" architectures. In our context, these architectures are made of five tiers: devices, gateways, mediation, Internet servers and presentation. Apprehending the gateways tier needs the introduction of services applications to answer the requests of the mediation tier and to collect and transform data from the "devices" tier, these data are then used by the "mediation" tier, next they are manipulated by the "Internet server" tier which is in charge of the displaying to the end users. The introduction of such services applications intended to run in services execution environments raises issues related to: - the development of business-specific services applications [ML07], - their deployment in services execution environments (this is the focus of this thesis) [CL07a] - the dynamic management of interactions between services applications and the devices (un)- plugged to the gateways (these devices are exposed as services in the environments) [EBL+08]. Software lifecycle is made of several phases. The main ones are analysis, conception, implementation, test and deployment. The latter is a complex one; it is made of activities and subactivities like installation, activation, deactivation, static and dynamic updates, evolution, dynamism and deinstallation. The introduction and use of the service approach still raises the deployment phase complexity, in particular when the goal is the deployment of services applications on services execution environments. Stakes, here, are: - to execute deployment activities targeting services applications while respecting each application's architecture (i. E. Each application's model), - to control the deployment state of the services (implementations) realizing these applications, - to execute deployment activities on services belonging to these applications while acting only the targeted service and avoiding to impact the whole applications. We called this last stake: "closely deployment" or "deployment in the small". It imposes that development units (i. E. Constraints service-oriented components) used for developing applications and deployment units (i. E. Services implementations) used for realizing applications have the same (fine) grain. This thesis proposes a software prototype, called DMSA (for Deployment Manager for Services Applications), automating the deployment of services applications on services execution environments while following a model-driven approach. Using a model-driven approach is an answer for the constant rise in abstraction of the deployment phase and of its entry point. The full decoupling between model level and "reality" level has been chosen in order to reuse services implementations between services models. This document clarifies our approach, the services applications meta-model, the services applications deployment definition, the DMSA's software architecture and our propositions. These latter target deployment of several applications models on several services execution environments, "transactional" deployment, our embedded context apprehension and execution of deployment activities ordered lists on services execution environments.

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 1 vol. (216 p.)
  • Notes : Publication autorisée par le jury
  • Annexes : Bibliogr. 141 réf.

Où se trouve cette thèse ?

  • Bibliothèque : Service interétablissements de Documentation (Saint-Martin d'Hères, Isère). Bibliothèque universitaire de Sciences.
  • Disponible pour le PEB
  • Cote : TS08/GRE1/0211/D
  • Bibliothèque : Service interétablissements de Documentation (Saint-Martin d'Hères, Isère). Bibliothèque universitaire de Sciences.
  • Disponible sous forme de reproduction pour le PEB
  • Cote : TS08/GRE1/0211
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.