Dea Presentation Pierre Marguerite 24 Juin 2003

25
1 Déploiement d’intergiciel en environnement hétérogène à grande échelle Pierre Marguerite DEA ISC LSR-IMAG, projet SARDES 24 juin 2003

Transcript of Dea Presentation Pierre Marguerite 24 Juin 2003

Page 1: Dea Presentation Pierre Marguerite 24 Juin 2003

1

Déploiement d’intergiciel en environnement hétérogène à grande échelle

Pierre MargueriteDEA ISC

LSR-IMAG, projet SARDES24 juin 2003

Page 2: Dea Presentation Pierre Marguerite 24 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 …

Page 3: Dea Presentation Pierre Marguerite 24 Juin 2003

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

Page 4: Dea Presentation Pierre Marguerite 24 Juin 2003

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

Page 5: Dea Presentation Pierre Marguerite 24 Juin 2003

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

Uti

lise

Page 6: Dea Presentation Pierre Marguerite 24 Juin 2003

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

Page 7: Dea Presentation Pierre Marguerite 24 Juin 2003

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

Page 8: Dea Presentation Pierre Marguerite 24 Juin 2003

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

Page 9: Dea Presentation Pierre Marguerite 24 Juin 2003

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

Page 10: Dea Presentation Pierre Marguerite 24 Juin 2003

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)

Page 11: Dea Presentation Pierre Marguerite 24 Juin 2003

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

Page 12: Dea Presentation Pierre Marguerite 24 Juin 2003

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

Page 13: Dea Presentation Pierre Marguerite 24 Juin 2003

13

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

Page 14: Dea Presentation Pierre Marguerite 24 Juin 2003

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

Page 15: Dea Presentation Pierre Marguerite 24 Juin 2003

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

Page 16: Dea Presentation Pierre Marguerite 24 Juin 2003

16

1. Un modèle de composants hiérarchique (2)

ExempleInterface d’activation

Partie de contrôle

Partie fonctionnelle

Composantprimitif

Composantcomposite

Page 17: Dea Presentation Pierre Marguerite 24 Juin 2003

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

Page 18: Dea Presentation Pierre Marguerite 24 Juin 2003

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

Page 19: Dea Presentation Pierre Marguerite 24 Juin 2003

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

Page 20: Dea Presentation Pierre Marguerite 24 Juin 2003

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

Page 21: Dea Presentation Pierre Marguerite 24 Juin 2003

21

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

Page 22: Dea Presentation Pierre Marguerite 24 Juin 2003

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.

Page 23: Dea Presentation Pierre Marguerite 24 Juin 2003

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.

Page 24: Dea Presentation Pierre Marguerite 24 Juin 2003

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.

Environnement de déploiement hétérogène: modélisation de façon simple.

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.

Page 25: Dea Presentation Pierre Marguerite 24 Juin 2003

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