L'UNIVERSITE DE SAVOIE ECOLE SUPERIEURE D'INGENIEURS D'ANNECY (ESIA)
par
Vincent LESTIDEAU
pour obtenir le
DIPLÔME DE DOCTEUR DE L'UNIVERSITE DE SAVOIE
(Arrêté ministériel du 30 Mars 1992)
spécialité :
Informatique
Modèles et environnement pour configurer et déployer des systèmes logiciels
Soutenue publiquement le 19 décembre 2003 devant le jury composé de :
J.-C. Derniame Professeur, (Président – Rapporteur) Institut National Polytechnique de Lorraine J.-M. Andreoli Directeur de recherche, CNRS associé, (Rapporteur) Xerox Research Centre Europe N. Belkhatir Professeur, (Directeur de thèse) IMAG (Grenoble) F. Oquendo, Professeur, Université de Savoie R. Balter Vice-Président et Responsable Scientifique, (Examinateur) ScalAgent Distributed Technologies (Echirolles) F. Bernigaud Industriel, (Examinateur) Actoll (Meylan)
Thèse préparée au sein du LISTIC et du LSR/ADELE Remerciements
Remerciements i Résumé
Résumé
Le cycle de vie du logiciel regroupe plusieurs activités comme l'analyse, la conception, la production, le test et le déploiement. Cette dernière activité est un procédé complexe composé de sous activités comme la configuration, l'installation ou la mise à jour. La complexité et l'importance du déploiement a augmenté récemment avec l'évolution des réseaux et la construction d'applications à base de composants. Il est maintenant envisageable d'imaginer des ...
THESE
présentée à
L'UNIVERSITE DE SAVOIE
ECOLE SUPERIEURE D'INGENIEURS D'ANNECY (ESIA)
par
Vincent LESTIDEAU
pour obtenir le
DIPLÔME DE DOCTEUR DE L'UNIVERSITE DE SAVOIE
(Arrêté ministériel du 30 Mars 1992)
spécialité :
Informatique
Modèles et environnement pour configurer et déployer des systèmes
logiciels
Soutenue publiquement le 19 décembre 2003 devant le jury composé de :
J.-C. Derniame Professeur, (Président – Rapporteur)
Institut National Polytechnique de Lorraine
J.-M. Andreoli Directeur de recherche, CNRS associé, (Rapporteur)
Xerox Research Centre Europe
N. Belkhatir Professeur, (Directeur de thèse)
IMAG (Grenoble)
F. Oquendo, Professeur,
Université de Savoie
R. Balter Vice-Président et Responsable Scientifique, (Examinateur)
ScalAgent Distributed Technologies (Echirolles)
F. Bernigaud Industriel, (Examinateur)
Actoll (Meylan)
Thèse préparée au sein du LISTIC et du LSR/ADELE Remerciements
Remerciements
i Résumé
Résumé
Le cycle de vie du logiciel regroupe plusieurs activités comme l'analyse, la conception, la
production, le test et le déploiement. Cette dernière activité est un procédé complexe composé
de sous activités comme la configuration, l'installation ou la mise à jour. La complexité et
l'importance du déploiement a augmenté récemment avec l'évolution des réseaux et la
construction d'applications à base de composants. Il est maintenant envisageable d'imaginer
des solutions permettant le déploiement automatisé de logiciels en assurant que chaque
utilisateur recevra la version du logiciel la plus cohérente et la mieux adaptée à ses besoins et
à son environnement tout en respectant les stratégies de déploiement de l'entreprise. Il existe
de nombreuses approches et outils de déploiement, mais très peu permettent de couvrir
entièrement le cycle de vie du déploiement ou alors en imposant des contraintes fortes.
Cette thèse propose un environnement de déploiement nommé ORYA, c'est à dire une plate-
forme offrant un support automatisé aux activités du cycle de vie du déploiement. ORYA est
basé sur la réutilisation et l'intégration des outils de déploiement existants. Pour cela, nous
proposons une abstraction des différents acteurs et entités du déploiement, ainsi qu'une
infrastructure permettant de faire interopérer des outils hétérogènes et ne se connaissant pas.
Ce travail traite plus particulièrement de l'activité de sélection avec l'utilisation d'un modèle
de composant générique et la mise en place d'un framework basé sur un système d'annotations
et de règles. La deuxième activité étudiée en détail est celle de l'installation qui est basée sur
un langage de procédés permettant la description et la réalisation des procédés dans le monde
réel.
Une implémentation d'ORYA a été réalisée afin de valider notre approche dans le cadre d'une
expérimentation industrielle en vraie grandeur..
Mots clés : Déploiement, Procédés, Environnement, Automatisation, Cycle de vie, Modèles à
composants, Gestion de configuration, Langages.
ii Abstract
Abstract
Software life cycle encompasses many activities: analysis, design, production, test and
deployment. This last activity is itself a complex process composed of sub-activities like
configuration, installation and update. Complexity and importance of deployment are both
increased by network evolution and component based applications. It is possible to imagine
some solutions allowing an automated deployment by providing to each user the most
consistent and adapted software version, with respect to deployment strategies of the
enterprise and user needs. There are many approaches and tools for deployment however few
allow to cover all the deployment life cycle usually imposing some strong constraints.
This thesis proposes a deployment environment named ORYA: an automated support for
deployment life cycle activities. ORYA is based on the reuse and integration of existing
deployment tools. We propose an abstraction of the various deployment actors and entities as
well as an infrastructure allowing the interoperation of heterogeneous tools. This work
focuses more particularly on the selection activity using a generic component model and a
framework based on an annotation system and some rules. The second activity studied in this
thesis is the installation, which is based on a process language allowing the process
description and its realization in the real world.
The ORYA prototype has been validated in the context of an industrial experimentation.
Keywords: Deployment, Process, Environment, Automation, Life Cycle, Component Models,
Configuration Management, Languages.
iii Table des figures
Table des matières
Chapitre I Introduction ............................................................................................................. 16
1. Introduction...................................................................................................................... 17
2. Le domaine de la thèse : le déploiement à large échelle.................................................. 18
2.1. Applications industrielles .......................................................................................... 18
2.2. Déploiement vers des entreprises .............................................................................. 18
3. Les objectifs de la thèse................................................................................................... 19
4. Organisation de la thèse 19
Chapitre II Le déploiement ...................................................................................................... 22
1. Introduction au déploiement ............................................................................................ 23
2. Scénario de motivation .................................................................................................... 23
3. Le cycle de vie du déploiement ....................................................................................... 24
3.1. Introduction ............................................................................................................... 24
3.2. Les différentes activités............................................................................................. 25
3.2.1. Configuration et sélection.................................................................................... 25
3.2.2. Installation ........................................................................................................... 26
3.2.3. Activation ............................................................................................................ 26
3.2.4. Mise à jour 27
3.2.5. Reconfiguration ................................................................................................... 27
3.2.6. Désactivation ....................................................................................................... 27
3.2.7. Désinstallation ..................................................................................................... 28
3.2.8. Fin de support ...................................................................................................... 28
3.3. Déploiement versus adaptation dynamique............................................................... 28
3.4. Conclusion................................................................................................................. 29
4. Les différentes problématiques liées au déploiement...................................................... 29
4.1. La gestion du cycle de vie du déploiement................................................................ 29
4.2. La gestion de configuration ....................................................................................... 29
4.3. L’évolution de l’environnement ................................................................................ 29
4.4. Les relations entre les applications............................................................................ 30
4.5. Les réseaux ................................................................................................................ 30
4.6. L’hétérogénéité des plate-formes .............................................................................. 30
4.7. La sécurité.................................................................................................................. 31
4.8. Conclusion 31
5. Architecture à 3 niveaux.................................................................................................. 31
5.1. Introduction ............................................................................................................... 31
5.2. Niveau producteur ..................................................................................................... 32
5.2.1. Les applications à déployer : ............................................................................... 32
5.2.2. Le support des applications ................................................................................. 32
5.2.3. Le transfert des applications ................................................................................ 33
5.3. Niveau entreprise....................................................................................................... 33
5.4. Niveau utilisateur 34
5.5. Conclusion................................................................................................................. 34
6. Synthèse........................................................................................................................... 34
Chapitre III Etat de l'art et de la pratique 36
1. Introduction...................................................................................................................... 37
2. la gestion de configuration..................................................