2. 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. 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. 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. 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és
configurables
ContraintesContraintes
techniquestechniques
I
n
t
e
r
f
a
c
e
s
I
n
t
e
r
f
a
c
e
s
Fournit
Utilise
6. 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. 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. 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. 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. 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. 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. 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. 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. 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érarchique
2. Un langage de description associé
3. Une application de déploiement
15. 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. 16
1. Un modèle de composants
hiérarchique (2)
Exemple
Interface
d’activation
Partie de
contrôle
Partie
fonctionnelle
Composant
primitif
Composant
composite
17. 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
19. 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. 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. 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. 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. 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. 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. 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
Notas del editor
Evolutions :
- développement d’Internet
- multiplication des équipements communicants à forte puissance de calcul (PDA, …)
Configuration :
- un assemblage particulier de composants via des connecteurs.
Génération d’un exécutable = Olan, Unicon
Modélisation = Wright, Rapide
Dédiée à la construction d’applications asynchrones
Le langage d'interconnexion
Pour décrire :
les interfaces des composants logiciels,
une application en termes d'interconnexions d'interfaces.
Le bus abstrait
Les applications Aster repose sur un intergiciel synchrone.
obtenu en ajoutant des composants intergiciels à un intergiciel de base présent sur les différentes plateformes.
héberge l'exécution d'une application distribuée représentée par un ensemble de composants logiciels.
Déploiement
les prémices d'un outil de déploiement (détermination de l'ensemble des composants intergiciels nécessaires)
un modèle de composants hiérarchique (décrire l'architecture d'un intergiciel en terme d'entités réparties, hiérarchiquement organisées)
Simplicité : pouvoir décrire de nombreux types d’intergiciels
Hiérarchique : faciliter le déploiement
Activités de création:
création d’un composant
Suivant le type du composant:
composite =>création du contrôleur associé + transmet l’ADL
Primitif: crée le composant suivant les informations contenus dans l’ADL
Mise à jour du répertoire
Activités d'activation: activation d’un composant
Primitif appel sur son interface
Pour les composites, l’ordre est transmis aux contrôleurs fils
Exécution suivant la Logique fonctionnelle:
liaison dépend de la création des deux composants
activation dépend de la création du composant et des liaisons de ses interfaces clientes