dea presentation 2eme version
Embed Size (px)
TRANSCRIPT

1
Déploiement d’intergiciel en environnement hétérogène à grande échelle
Pierre MargueriteDEA ISC
LSR-IMAG, projet SARDES24 juin 2003

2
Introduction (1) Systèmes répartis
Répondent aux évolutions technologiques Soulèvent de nombreux défis
Développement, Configuration, Administration, Déploiement, …
Projet de DEA Déploiement
Installation du code du logiciel Instanciation Liaison Activation …

3
Introduction (2)
Défis du déploiement
Hétérogénéité des environnements considérés
Nombre important d'entités à déployer Nombre en constante augmentation
Systèmes répartis : Application(s) au-dessus d’un intergiciel=> Le déploiement dans les intergiciels

4
Plan
Etat de l’art Déploiement dans les applications (à
composants) Déploiement dans les intergiciels
Contribution Proposition d’un modèle de
déploiement d’intergiciel Mise en œuvre

5
ComposantComposant
Déploiement dans les applications (à composants) (1)
La notion de composant Brique de base configurable
Construction d’applications par composition
Interfaces Fonctionnelles De contrôle
Propriétés Contraintes
Propriétésconfigurables
ContraintesContraintestechniquestechniques
I n t e r f a c e s
I n t e r f a c e s
Fourn
it Utilise

6
Déploiement dans les applications (à composants) (2)
Langages de description d'architectures (ADL) Description structurée d'un système
informatique
Concepts communs des ADL Composants Connecteurs Configuration
2 types Génération d’un exécutable Modélisation et analyse du système

7
Déploiement dans les applications (à composants) (3)
Déploiement d’applications sur la plateforme ScalAgent
Modèle de composants : SCBeans – SCContainer - SCControler
Asynchrone Hiérarchique
Langage de description d’architectures Description des composants (fonctionnel) Description d’aspects non fonctionnels
Site de déploiement Ordre d’activation …
Déploiement asynchrone et hiérarchique à l’aide de l’ADL

8
Plan
Etat de l’art Déploiement dans les applications (à
composants) Déploiement dans les intergiciels
Contribution Proposition d’un modèle de
déploiement d’intergiciel Mise en œuvre

9
Déploiement dans les intergiciels (1)
Intergiciel ? Couche logicielle entre les applications et le
système d’exploitation Services de gestion de la distribution et de la
coopération entre les applications
Plusieurs modèles d’exécution Client - serveur Communication par messages Communication par événements Code mobile Mémoire virtuelle partagée
Application(s)
Intergiciel
Système d’exploitation

10
Divers exemples étudiés Synchrone : Aster, OpenORB, Cactus,
Lasagne Asynchrone : AAA, DREAM
Capacités de configuration évoluées Modularité par composition de
composants logiciels Programmation par aspects
Déploiement dans les intergiciels (2)

11
Déploiement dans les intergiciels (3)
Capacités de reconfiguration dynamique Utilisation de techniques réflexives
Absence d’outils de déploiement Déploiement ad-hoc Composants de l’intergiciel déployés
indépendamment Utilisation de fichiers de configuration
statiques

12
Synthèse de l’état de l’art
Applications Utilisation de modèles à composants Utilisation d’une description de l’application
(ADL) Cas de la plateforme ScalAgent
Utilisation d’un modèle de composants hiérarchique permettant le déploiement à grande échelle
Intergiciels Capacités de (re)configuration Peu d’outils de déploiement =>Pas de
déploiement à grande échelle

13
Plan
Etat de l’art Déploiement et composants Déploiement dans les intergiciels
Contribution Proposition d’un modèle de
déploiement d’intergiciel Mise en œuvre

14
Proposition
Objectif Proposer un outil de déploiement
d’intergiciels Méthodologie
S’inspirer des technologies mises en œuvre au niveau applicatif dans la plateforme ScalAgent
1. Un modèle de composants hiérarchique2. Un langage de description associé3. Une application de déploiement

15
1. Un modèle de composants hiérarchique (1)
But Modéliser un intergiciel de façon simple et
hiérarchique Le modèle
Les composants La partie fonctionnelle
Interfaces clientes et serveurs définies par un Identifiant, un rôle et une signature
La partie contrôle Activation, …
Les composants primitifs Les composants composites Les connecteurs

16
1. Un modèle de composants hiérarchique (2)
ExempleInterface d’activation
Partie de contrôle
Partie fonctionnelle
Composantprimitif
Composantcomposite

17
2. Langage de description d’architectures (1)
But Décrire un intergiciel suivant le modèle de
composants présenté
L’ADL permet de décrire
La partie fonctionnelle de l'intergiciel Les composants Les interconnections
La partie non fonctionnelle de l’intergiciel Positionnement des composants sur les sites

18
2. Langage de description d’architectures (2)
<composite name=''Composite''> *** Interfaces fonctionnelles *** <interface name='‘serveur''> <role>serveur<\role> <signature>./fr/primitif2/service1.java<\signature> <caractere>obligatoire<\caractere> <\interface> *** Composants encapsulés *** <importComponent description='‘primitif1''\> <importComponent description='‘primitif2''\>
*** Mise en oeuvre *** <instanciateComponent name=primitif1 deploymentsite=''zirconium.inrialpes.fr''\> <instanciateComponent name=primitif2 deploymentsite='‘nickel.inrialpes.fr''\> *** Instanciation des fabriques de connecteurs *** <instanciateConnector name=''jms'' description=''JMS''
connectorfactory=''zirconium.inrialpes.fr''\> *** Liaisons avec connecteurs spécifiés *** <bind server='‘primitif2'' interface='‘serveur2'' client='‘primitif1'‘ interface='‘client‘ connector=''jms''\> <\composite>
1 2
serveur
serveur1
client serveur2
jms

19
3. Une application de déploiement asynchrone hiérarchique (1)
But Utiliser la description de l’intergiciel pour
procéder à son déploiement asynchrone et hiérarchique
Déploiement Création, liaison et activation des différents
composants Respect de la logique fonctionnelle
Un composant ne peut être lié que s’il a été créé auparavant
Un composant ne peut être activé que s’il a déjà été créé et que toutes ses interfaces clientes ont été liées

20
3. Une application de déploiement asynchrone hiérarchique (2)
Principe Utilisation de contrôleurs de déploiement
hiérarchiquement organisés (un contrôleur par composant composite)
Architecture d'un contrôleur de déploiement Un ensemble d’activités
Instanciation Liaison Activation
Un répertoire Stocke le résultat des opérations effectuées par les
activités Moyen de synchronisation entre activités

21
Plan
Etat de l’art Déploiement et composants Déploiement dans les intergiciels
Contribution Proposition d’un modèle de
déploiement d’intergiciel Mise en œuvre

22
Mise en œuvre (1) Les activités et le répertoire suivent un modèle
événement=>réaction
Utilisation de l’intergiciel AAA Modèle de programmation distribué à base d’agents qui
envoient et réagissent à des notifications asynchrone
5 types d’agents Les activités:
agent création Crée un composant et met à jour le répertoire;
agent liaison Crée une liaison et met à jour le répertoire;
agent activation Active un composant et met à jour le répertoire.

23
Mise en œuvre (2)
Types d’agents (suite) Les agents du contrôleur
agent contrôleur Met en place les activités et le répertoire
du contrôleur; agent répertoire
Tient à jour la liste des opérations effectuées et envoie des notifications aux agents concernés après une mise à jour.

24
Conclusion (1)
Evaluation du travail un processus de déploiement d'intergiciel,
afin de combler un manque des intergiciels existants.
contrôle décentralisé du déploiement: l'application de déploiement est hiérarchisée en accord avec la structure de l'intergiciel à déployer.
l'exécution parallèle des différentes activités de l'application garantit une activation au plus tôt de l'ensemble des composants déployés.

25
Conclusion (2)
Perspectives Rendre l'application de déploiement
tolérante aux fautes. Prendre en compte les intergiciels
déjà installés Etendre la description d'architectures