Dea Presentation Pierre Marguerite 24 Juin 2003

Preview:

Citation preview

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

Uti

lise

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

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 dans les applications à

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 dans les applications à

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.

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.

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

Recommended