Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parLaure Paul Modifié depuis plus de 10 années
1
Déploiement de systèmes SCA distribués Damien Fournier Projet SCOrWare / Équipe ADAM - INRIA 4 avril 2007
2
Présentation SCA - Service Component Architecture
FDF - Fractal Deployment Framework Langage pour le déploiement Personnalités Composants primitifs Déploiement de systèmes SCA distribués Prérequis Personnalité Tuscany Déploiement Limites Conclusion & Perspective
3
Présentation SCA - Service Component Architecture
FDF - Fractal Deployment Framework Langage pour le déploiement Personnalités Composants primitifs Déploiement de systèmes SCA distribués Prérequis Personnalité Tuscany Déploiement Limites Conclusion & Perspective
4
SCA - Introduction Objectifs
Modèle pour assemblage de Services fortement et faiblement couplés Support préoccupations non fonctionnelles par l’infrastructure (sécurité, transaction) Consortium industriel : IBM, Sun, IONA, SAP, Oracle, Red Hat, Siemens, …
5
SCA – Particularité Descripteur SCDL :
Assemblage mixe vue à gros / fin grain Composants implémentent logique métier Services exposés par l’assemblage Propriétés de l’assemblage et des composants Conteneur d’implémentation Bindings et protocoles
6
SCA - Limites Composite A Composite B 1 composite SCA = assemblage à grain fin / fortement couplé 1 archive contenant 1..n descripteurs SCDL + implémentations 1 système SCA = assemblage à gros grain liaisons entre plusieurs composites SCA répartis sur le réseau binding binding protocole
7
SCA - Limites Composite A Composite B Quid description / déploiement d’un système SCA complet ? Quid infrastructure sous-jacente à chaque composite Quelle machine du réseau ? Quel conteneur SCA ? Tomcat ou Standalone Tuscany Runtime Configurabilité de chaque composite propriétés et bindings entre composites binding binding protocole
8
SCA - Limites Conteneur A ? Conteneur B ? Serveur App. B ? Machine A ?
Composite A Composite B binding binding protocole Conteneur A ? Conteneur B ? Serveur App. B ? Machine A ? Machine B ?
9
Présentation SCA - Service Component Architecture
FDF - Fractal Deployment Framework Langage pour le déploiement Personnalités Composants primitifs Déploiement de systèmes SCA distribués Prérequis Personnalité Tuscany Déploiement Limites Conclusion & Perspective
10
FDF - Introduction Framework générique pour le déploiement de systèmes
Déploiement de différentes couches logicielles avec résolution des dépendances Gestion du déploiement de systèmes distribués et/ou hétérogènes 1 langage spécifique au domaine du déploiement Description de systèmes par administrateurs Programmation de personnalités encapsulant les détails du déploiement 1 bibliothèque de composants primitifs encapsulant mécanismes bas niveau de déploiement protocoles de transfert, de contrôle à distance, shells, etc. 1 interface graphique pour visualiser la configuration du système et déployer les logiciels sélectionnés Basé sur le modèle à composants Fractal
11
FDF - Langage de déploiement
Fournit un langage haut niveau pour le déploiement Description de systèmes par les administrateurs Déclaration de l’infrastructure système / les machines / les protocoles Déclaration des logiciels à déployer Notion de personnalité logiciel Programmation / scriptage des procédures de déploiement Installation, configuration, démarrage, arrêt, déinstallation Spécifique à chaque logiciel
12
FDF - Déclaration du système
Hosts = INTERNET.NETWORK { horse = INTERNET.HOST { hostname = INTERNET.HOSTNAME(horse); user = INTERNET.USER(dfournie,,/home/dfournie/.ssh/id_rsa.pub); transfer = TRANSFER.SCP; protocol = PROTOCOL.OpenSSH; shell = SHELL.SH; } }
13
FDF - Déclaration du système
Hosts = INTERNET.NETWORK { horse = INTERNET.HOST { hostname = INTERNET.HOSTNAME(horse); user = INTERNET.USER(dfournie,,/home/dfournie/.ssh/id_rsa.pub); transfer = TRANSFER.SCP; protocol = PROTOCOL.OpenSSH; shell = SHELL.SH; software { java = JAVA.JRE { archive = JAVA.ARCHIVE(/media/sda5/fdf/lib/jdk-1.5.tgz); home = JAVA.HOME(/home/dfournie/fdf/jdk1.5.0_09); } } } }
14
FDF - Déclaration des logiciels
Tomcat-Servers { tomcat-horse = TOMCAT.SERVER { archive = TOMCAT.ARCHIVE(/media/sda5/fdf/lib/apache-tomcat tar.gz); home = TOMCAT.HOME(/home/dfournie/fdf/apache-tomcat ); host = Hosts/horse; properties { http-port = HTTP.PORT(8080); http-user = HTTP.USER(admin); http-password = HTTP.PASSWORD(null); } } } Servlets { sca-print-ws = TOMCAT.WAR.COMPONENT { archive = TOMCAT.WAR.ARCHIVE(/media/sda5/fdf/lib/print-ws.war); name = TOMCAT.WAR.NAME(print-ws); tomcat = Tomcat-Servers/tomcat-horse; }
15
FDF - Personnalités Composant réifiant un logiciel à déployer
Hérite du composite Software fourni par le framework De nombreuses personnalités existantes : Ant, J2EE, JOnAS, JAVA, Apache Tomcat, etc.
16
FDF - Composants primitifs
Ensemble de composants exécutables ou bas niveau Composants exécutables fournissent les « fonctionnalités de bases » pour l’upload/download, exécution de commandes dans le shell, … Composants bas niveau représentent de manière abstraite les mécanismes d’accès aux machines hôtes
17
Présentation SCA - Service Component Architecture
FDF - Fractal Deployment Framework Langage pour le déploiement Personnalités Composants primitifs Déploiement de systèmes SCA distribués Prérequis Personnalité Tuscany Déploiement Limites Conclusion & Perspective
18
Déploiement de systèmes SCA distribués
Utilisation de FDF pour déployer un système SCA Pré requis : JAVA, Tomcat (Web Service), Runtime Standalone Tuscany Client WS Serveur WS HTTP HTTP SOAP Tuscany Standalone Runtime Tuscany Web Container Tomcat Horse Omega
19
Déploiement de systèmes SCA distribués Personnalité Tuscany - Utilisation
Description du Runtime SCA tuscany-sca-horse = TUSCANY-SCA.SOFTWARE { archive = TUSCANY-SCA.ARCHIVE(/media/sda5/fdf/lib/tuscany-sca-1.0-incubator-M2-bin.tgz); home = TUSCANY-SCA.HOME(/home/dfournie/fdf/tuscany-sca-1.0-incubator-M2-bin); host = Hosts/horse; } Description du client sca_client = TUSCANY-SCA.MODULE(/media/sda5/fdf/lib/sample-converter.jar,WS) { tuscany-sca = /tuscany-sca-horse; dependencies { start-when-install { Servlets/sca-print-ws; Servlets/sca-converter-ws; /tuscany-sca-horse; } } }
20
Déploiement de systèmes SCA distribués Personnalité Tuscany - Runtime
TUSCANY-SCA.SOFTWARE = software.Installable(tuscany-sca,TUSCANY SCA), JAVA.DependOn(tuscany-sca), software.Hosting(tuscany-sca) { # archive is required. archive = TUSCANY-SCA.ARCHIVE(UNDEFINED); # home is required. home = TUSCANY-SCA.HOME(UNDEFINED); tuscany-sca-applications = TUSCANY-SCA.HOME(#[home]/applications,Applications); # The 'configure' procedure. configure { SHELL.MakeDirectory(#[tuscany-sca-applications]); } # The 'start' procedure. start { } # The 'stop' procedure. stop { } }
21
Déploiement de systèmes SCA distribués Personnalité Tuscany – Standalone
TUSCANY-SCA.MODULE-SERVER(archive)= software.Hosted(module-sca,TUSCANY SCA ${execution-mode} Module (#[archive-filename]),tuscany-sca) { archive = TUSCANY-SCA.ARCHIVE(${archive},${execution-mode} Module); # The 'install' procedure. install { TRANSFER.Upload(#[archive],#[tuscany-sca-applications]/#[archive-filename]); } # The ‘start' procedure. start { } # The ‘stop' procedure. stop { } # The 'uninstall' procedure. uninstall { SHELL.RemoveFile(#[tuscany-sca-applications]/#[archive-filename]); } }
22
Déploiement de systèmes SCA distribués Vue globale du système
Visualisation : Dépendances Etat des composants logiciels Interaction : Installation, exécution, désinstallation avec résolution des dépendances
23
Déploiement de systèmes SCA distribués Limitations
Personnalité Tuscany permet uniquement le déploiement des composants nécessaires à l’exécution La configuration de l’application est imposée par l’architecte logiciel URL et Ports sont fixés par descripteurs WSDL Protocoles et Binding fixés par descripteurs SCDL → La configuration d’une application SCA impose à l’administrateur système d’éditer les descripteurs
24
Conclusion & Perspectives
L’introduction de la personnalité Tuscany permet l’installation et la gestion d’un système SCA et des composants logiciels dont il dépend de manière automatique L’application ne peut être configuré (pourtant permis par le modèle SCA et l’outil FDF) Pistes : La configuration d’une application SCA dépend uniquement des descripteurs → Besoin de manipuler l’archive → Transformation de documents XML
25
Références FDF source - http://gforge.inria.fr/projects/fdf
SCA Spec - Tuscany SCA -
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.