Home
UNIVERSITE JOSEPH FOURIER THESE
Contents
1. La pr c dence d termine la priorit qu il existe entre les strat gies de m me type au niveau d un m me n ud La priorit peut tre accord e aux strat gies h rit es HERITEES c est dire appliqu es au niveau d un groupe p re ou aux strat gies locales LOCALES appliqu es sur le n ud Les strat gies globales ne sont pas mentionn es puisqu elles peuvent tre vues comme des strat gies h rit es partir de la racine de la structure d entreprise Avec cette partie du langage l utilisateur peut d finir les types de strat gie qui lui conviennent le mieux et la mani re de les appliquer Apr s avoir d fini ce qu est un type de strat gie 1l reste d finir comment repr senter une strat gie 6 1 2 Expression de strat gie Nous avons vu d s le d but de ce chapitre qu une strat gie est caract ris e par e l activit de d ploiement pour laquelle elle est d finie e expression d une contrainte sur les unit s c est dire sur quelle unit s doit s appliquer la strat gie e expression d une contrainte sur l entreprise c est dire ce qu impose la strat gie Nous rajoutons ici le type de la strat gie nomType qui permet de lui associer les caract ristiques qui viennent d tre nonc es lt strat gie gt lt activit DeD ploiement contrainte Unit s 154 Chapitre 6 Un environnement de d ploiement orient strat gies
2. Page web de Poutil Rembo Auto Deploy RAD http www rembo com products_autodeploy htm Techniques de clonage de Rembo http www rembo com products_autodeploy_details htm J L Ruiz J C Due as F Usero Deployment in dynamic environments 1e conf rence francophone sur le d ploiement et la Re Configuration de logiciels DECOR 04 Grenoble France Octobre 2004 Site Internet de RedHat http www redhat com Site Internet des technologies Rembo http www rembo com 207 SF93 SOK04 SysP Tcm Tec Tivoli Tlm TPB03 Tsd Upm Veg05 Vil02 Bibliographie C Rolland A primer for method engineering Actes du Congr s INFORSID 1997 Toulouse France June 1997 Site Internet de RPM http www rpm org Projet ITEA S4ALL n 04025 Services FOR ALL S Jamal Sanlaville Environnement de proc d extensible pour orchestration Application aux services web Th se de doctorat Universit Joseph Fourier Grenoble France D cembre 2005 M E Segal O Frieder On the Fly Program Modification Systems for Dynamic Updating IEEE Software v 10 n 2 pp 53 65 March 1993 A Smeda M Oussalah T Khammaci A Multi Paradigm Approach to Describe Software Systems In WSEAS Transactions on Computers Issue 4 Volume 3 October 2004 edited by Mastorakis N WSEAS 2004 Page web de l outil SYSPREP de Microsoft Sysprep
3. Figure 3 4 R sultats de r ussite et de s ret d un d ploiement 56 Chapitre 3 Etat de l art et de la pratique Ainsi par exemple lors de l application de la strat gie IS insertion s par e les propri t s de s ret et de r ussite seront assur es Par contre le composant ne sera pas r utilisable par d autres applications Comme autre exemple nous pouvons citer qu il faut qu un composant install selon la politique ROIN remplacement si nouveau assure une compatibilit descendante pour garantir les m mes propri t s En effet avec la compatibilit descendante les applications fonctionneront avec le composant qu elles sont sens es utiliser si c est celui dont la version est la plus r cente ou avec un composant plus r cent si une version plus r cente est install e Dans ce cas le composant pourra tre utilis par d autres composants composants d j d ploy s ou futurs composants 2 3 4 Conclusion Ce mod le pr sente trois dimensions int ressantes La premi re est qu une installation peut tre compl te ou partielle c est dire qu un ensemble de composants install s ne repr sentent pas forc ment une application eux seuls La deuxi me dimension int ressante est que plusieurs versions concurrentes sont support es Ainsi plusieurs versions s par es peuvent tre install es politiques de d ploiement IS ou une seule version autres politiques de d ploiemen
4. Ce plan permet de d ployer une unit sur un groupe de machines Chaque machine concern e re oit sa propre version de l application ventuellement la m me A partir de ces diff rentes phases de la construction d un plan de d ploiement global nous pouvons tablir une classification en trois cat gories de strat gies cf le mod le de strat gie ci dessus e les strat gies de s lection Se ectionStrategy e les strat gies d ordonnancement SchedulingStrategy et e les strat gies d ex cution ExecutionStrategy Chacune de ces cat gories de strat gies est li e la phase de la construction ex cution d un plan de d ploiement global durant laquelle elles sont utilis es Chaque cat gorie peut contenir plusieurs types de strat gies Ainsi par exemple pour les strat gies de s lection les types de strat gies suivants peuvent tre nonc s e d finir la compatibilit qui doit exister entre les diff rentes machines d un groupe e caract riser les droits d ployer ou non un certain type d unit D autres types de strat gies seront d finis et illustr s plus en d tails dans la partie suivante Plusieurs caract ristiques permettent ensuite de d terminer plus pr cis ment la s mantique de chaque type de strat gie 138 Chapitre 6 Un environnement de d ploiement orient strat gies 3 2 Caract ristiques des strat gies Chaque strat gie est d finie par son compo
5. Chapitre 3 Etat de l art et de la pratique En outre les artefacts fichiers physiques composant le logiciel sont regroup s en collection Pour chacun d eux son nom et sa localisation avant et apr s le d ploiement sont sp cifi s Pour chaque fichier DSD on d finit aussi les agents qui seront fournis par le syst me agent d installation de mise jour etc 3 1 3 Les activit s support es Plusieurs activit s du cycle de vie sont mises en uvre par Software Dock HHC 98 l installation la mise a jour la reconfiguration la v rification de coh rence et la d sinstallation 3 1 3 1 L installation Tout d abord l agent d installation est t l charg vers le FieldDock utilisateur Cette op ration peut se faire l initiative de l utilisateur ou tre ordonn e par un autre agent dans le cas de d pendance d un logiciel par rapport un autre Cet agent r cup re le registre de configuration du site et les d pendances du logiciel installer S il y a des d pendances et que l un des logiciels n est pas install l agent demande au serveur de t l charger les agents d installation concern s un pour chaque logiciel installer Apr s avoir r solu toutes les d pendances l agent r cup re la bonne configuration de l application Puis il cr e un n ud application pour le logiciel dans le registre du FieldDock un v nement est g n r et re u par l agent du site de l utilisateur Celui ci cr
6. D Ayed C Taconet G Bernard Context Aware Deployment of multi component applications Proceedings of the 5 Generative Programming and Component Engineering GPCE03 Young Researchers Workshop Erfurt Germany September 2003 D Ayed C Taconet G Bernard Architecture base de composants pour le d ploiement adaptatif des applications multi composants Journ es Composants 2004 Lillie France Mars 2004 D Ayed C Taconet N Sabri G Bernard CADeComp plate forme de d ploiement sensible au contexte des applications base de composants 4 me Conf rence Fran aise sur les Syst mes d Exploitation CFSE 05 Le Croisic France 5 8 Avril 2005 G Bieber J Carpenter Introduction to Service Oriented Programming September 2001 http www openwings org download html N Belkhatir J Estublier W Melo ADELE TEMPO An environment to Support Process Modelling and Enaction Book Software Process Modelling and Technology pages 187 217 John Willey and Son inc Research Study Press Tauton Somerset England 1994 N Belkhatir J Estublier W Melo Process Centered Software Engineering Environment Pankaj K Garg and Mehdi Jazayeri ISBN 0 8186 7103 3 1995 J B zivin O Gerb Towards a Precise Definition of the OMG MDA Framework ASE 01 November 2001 C Boulton Service Oriented Architectures Underpin On demand May 2003 Digital Magazine InternetNews com http
7. t pr sent e dans le chapitre 4 Figure 4 3 Les strat gies sont associ es a l entit de l entreprise qui les appliquer savoir un groupe applyGroupStrategy ou une machine applyMachineStrategy Le reste de la Figure 6 1 illustre les relations qui sont cr es lorsqu un d ploiement est demand Les strat gies permettent alors de construire un plan de d ploiement global Elles peuvent tre de diff rentes sortes SelectionStrategy SchedulingStrategy ExecutionStrategy et sont utilis es pour s lectionner les unit s d ployer se ects pour ordonnancer le plan de d ploiement schedules ou pour guider son ex cution guidesExecution L ex cution de ce plan permet de d ployer un ensemble d unit s deploys Unit sur un ensemble de machines La gestion de ce genre de liens permet notamment de conserver un historique de tout ce qui s est pass en terme de d ploiement sur une entit de l entreprise Ces liens peuvent aussi permettre par exemple de pouvoir configurer une nouvelle machine en fonction des strat gies d j appliqu es dans le groupe o elle est ins r e 3 CATEGORIES TYPES ET CARACTERISTIQUES DES STRATEGIES Les strat gies de d ploiement sont utilis es pour construire un plan de d ploiement global Elles peuvent intervenir a diff rentes phases de sa construction Nous pouvons alors d finir diff rentes cat gories de strat gies Ensuite chaque strat gie peut tre asso
8. 1 Conference on Component Based Software Engineering CBSE Varsovie Poland September 4 6 2001 18 35 J Estublier H Verjus P Y Cunin Modelling and Managing Software Federations European Conference on Software Engineering ESEC Wien Austria September 10 14 2001 37 137 J Estublier H Verjus P Y Cunin Building Software Federations The 2001 International Conference on Parallel and Distributed Processing Techniques and Applications PDPTA Las Vegas Nevada USA June 25 28 2001 J Estublier J Villalobos Anh Tuyet Le S Sanlaville G Vega An Approach and Framework for Extensible Process Support System Proceedings of 9th European Workshop on Software Process Technology EWSPT 2003 Helsinki Finland September 2003 203 Fab76 Fav04 Gdf05 Gom00 Hal99 Han99 HHC 98 HHH 97 HHW98 HHW99 a HHW99 b HHW99 c Bibliographie R S Fabry How to design a system in which modules can be changed on the fly Proceedings of the 2 international conference on Software engineering p 470 476 San Francisco California USA October 1976 J M Favre Towards a Basic Theory to Model Model Driven Engineering Workshop on Software Model Engineering WISME 2004 joint with UML 2004 Lisboa Portugal October 11 2004 On demand Service Installation and Activation with OSGi ObjectWebCon05 Fourth Annual ObjectWeb Conference Lyon
9. 1 2 Principales contributions et r sultats obtenus Dans ce paragraphe nous r sumons plus particuli rement les contributions que nous avons apport es pour traiter la probl matique qui vient d tre expos e 1 2 1 Mod lisation des concepts de d ploiement et r utilisation Nous avons commenc notre travail par la mod lisation des concepts li s au d ploiement Pour cela nous avons d fini un m ta mod le de d ploiement qui se divise en trois parties e une partie est li e aux unit s de d ploiement et leur description e une partie est li e aux machines cibles et la d finition de leurs caract ristiques et de leur tat en terme d unit s d j d ploy es e une partie est li e l environnement de l entreprise la structuration hi rarchique des diff rentes cibles de d ploiement machines et aux strat gies de d ploiement utiliser Notre m ta mod le contient donc les concepts principaux du d ploiement e une unit de d ploiement est l entit que l on cherche d ployer e une machine est la cible finale de d ploiement qui va recevoir une unit de d ploiement e un groupe rassemble un ensemble de machines qui doivent tre trait es ensembles pour le d ploiement A ces concepts s ajoutent des concepts compl mentaires e les propri t s d crivent les unit s de d ploiement et les machines cibles e les contraintes associ es aux unit s de d ploiement ind
10. FIGU RE 5 13 CREATION D UNE STRUCTURE D ENTREPRISE ssssscceeeccceceeeeesesceeeesesseseeaenenes 121 RE 5 14 INFORMATIONS LIEES A LA STRUCTURE D ENTREPRISE 121 RE 5 15 STRUCTURE D APPLICATION uia ea a aA E a E a eeen ii 122 RE S 16 STRUCTURE DE PLAN ciriciri aie a E E A E AAA 124 RE 5 17 STRUCTURE D ENTREPRISE POUR UN DEPLOIEMENT SUR LE GROUPE ADELE 128 RE 5 18 STRUCTURE D APPLICATION DES UNITES DE DEPLOIEMENT DISPONIBLES 129 RE 5 19 UNITES POSSIBLES POUR CHAQUE MACHINE CIBLE SANS PRENDRE EN COMPTE LES DEPENDANGES i svevGssseeacsstattaavs thousnctateasossocedennsecbabainds dete re a aac dngseeesueaubuaataachdeswenaans 129 RE 5 20 UNITES DE DEPLOIEMENT POSSIBLES POUR CHAQUE MACHINE CIBLE CONTRAINTES TRAIT ES IND PEND AMMENT Re Ueuide panei eceuetecueanuagerveduacdeuveeieianeaneebacseanet 130 RE 5 21 UNITES DE DEPLOIEMENT POSSIBLES POUR CHAQUE MACHINE CIBLE CUMUL DE CONTRAINTES rent aa en nn ent nent ATA A A Ni Mae tente 131 RE 5 22 STRUCTURE DE PLAN POUR LE DEPLOIEMENT DE L APPLICATION U SUR LES MACHINES DU GROUPE ADELE ccccceeseeeseeeseecscsessesseeessecsceecseescsesscessecssscesseesssessseeaseeaaes 131 RE 6 1 MOD LE DE STRATEGIE ET SES RELATIONS cccccsesssceeeeccesceseeeessseceesesseseessnenes 137 RE 6 2 EXEMPLE D ORDONNANCEMENT ccssssseceeeccceccceeessseceeesecsseeeeesceeeesssesssusensnsees 143 RE 6 3 STRUCTURE D ENTREPRISE APPLIQUANT DES STRATEGIES ss 149 RE 6 4 UNIT S POSSIBLES P
11. Le gestionnaire de Configuration Tivoli Configuration Manager Tcm est une solution pour d ployer des logiciels et assurer le suivi des configurations mat rielles et logicielles des machines d une entreprise Il propose un contr le total des logiciels et mat riels de l entreprise Le d ploiement d applications complexes peut tre r alis sur plusieurs sites partir d un point central du r seau Cet outil permet de distribuer et de r aliser l inventaire des logiciels sur les machines cibl es par le d ployeur Ces tapes sont effectu es gr ce la prise en charge d annuaires gr ce au module d inventaire et l outil de distribution De plus ces op rations peuvent tre s curis es travers des pare feux Le gestionnaire de configuration de Tivoli regroupe une distribution de logiciels et un inventaire logiciel et mat riel dans un environnement multi plate formes Le module d inventaire permet de d terminer les ressources de l entreprise tandis que l outil de 69 Chapitre 3 Etat de l art et de la pratique distribution permet de configurer et d installer des applications de mani re centralis e et automatis e La distribution des logiciels peut aussi tre planifi e En outre les modifications apport es au syst me et la configuration des machines peuvent tre surveill es pour ajouter des fonctionnalit s de rapport 4 1 1 1 L inventaire Un module d inventai
12. Property name OS name Mem name Disk value winXP value 512 value 123 Figure 4 13 Description de la machine M1 100 Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle La machine M1 est caract ris e par trois propri t s P11 P12 et P13 Elles concernent respectivement le syst me d exploitation la capacit m moire et l espace disque disponible sur la machine De plus le d ploiement sur M1 suit une strat gie S La strat gie n est pas d taill e ici puisqu un chapitre complet Chapitre 6 traite des strat gies de d ploiement Enfin des unit s de d ploiement versions d une application peuvent aussi tre d crites La Figure 4 14 d crit l unit U5 qui est la version 5 de l application U Cette unit est d crite par trois propri t s P1 US5 P2 U5 et P3 U5 qui indiquent le type de l unit un outil de d veloppement son langage d impl mentation java et le type de son interface graphique DPinstallUS DeploymentPlan C1 U5 Constraint deploymentActivity INSTALL logicalExpression O8 winXP win2000 action P1 U5 Property name Type value devTool US Unit P2 U5 Property name U 2 U5 Constraint version 5 deploymentActivity INSTALL name Implern url urlU5 logicalExpression Mem gt 256 value java action C3 U5 Constr
13. application qui va tre disponible Fich er des propri t s Moditier Sp cification de r les T Processus cinstatation E W extraction F V riications R le er une archive zip ristaller 99 Etapes dinstatistion Interface aepioymert roles stoler nstolerftole est M thode ine ace pur F Faire executer V ilicators Param tres M terminaison r 7 P Valeur Description Cokul F fore fleManager caca Cracte zip java lang String Nom de l arche zip Gi Sclmp essai java bg String Nom Aa repertoire o iv Edter Figure 7 4 Construction du descripteur de d ploiement Une fois l ensemble de l information disponible un outil Figure 7 5 assiste le producteur dans la construction du package fournir aux clients 170 Chapitre 7 ORYA r alisation et valuation 5 xi amp ORYA Package Builder 1 1 LSI Directory OR package 2003 Actoltfedexecicientfedeclientaatapackages Depend zip Checking Buikling and checking Build Check Browse Choose package Package checking Site pro PACKAGE CHECKING D iFedeV3 dec2003 ActollifedexeciclientifedeClientidatalpackages Depend zip INFORMATION about application deployment 7 Package contains manifest manifeste xml Manifeste is well formed Package has same name as application Package contains deployment descriptor Depend xml Deployment
14. est pas trait En effet m me si toutes les d pendances ont pu tre r solues et que le proc d de d ploiement est lanc il peut par exemple se produire une erreur au cours du transfert des ressources En outre l approche est sp cialis e pour les architectures orient es service et ne permet donc pas le d ploiement d applications plus g n rales Enfin un niveau permettant une entreprise d appliquer des choix au cours du d ploiement est absent Par exemple il n est pas possible d exprimer le souhait de d ployer la m me version d une unit m me impl mentation d un service pour un ensemble de cibles 3 4 Discussion et synth se sur les environnements de d ploiement issus de la recherche Les environnement de d ploiement que nous avons pr sent s dans cette partie se focalisent tous sur des probl matiques diff rentes Nous les avons choisis pour avoir un large aper u de ce qui peut tre utile pour le d ploiement d applications grande chelle Tout d abord Software Dock fournit la base d un support automatis pour le d ploiement En effet l utilisation de mod les permet de r aliser les diff rentes activit s du d ploiement de mani re automatique De plus l utilisation de contraintes permet de s assurer qu une application d ploy e peut fonctionner correctement sur un site cible donn Ensuite CADeComp m me s il s agit d une approche cibl e pour les clients mob
15. le composant d j d ploy sur la cible est remplac par l autre composant e Remplacement si nouveau ROIN Replace Only If Newer le composant d j d ploy sur la cible est remplac par l autre composant seulement si celui ci a une version plus r cente e Aucun remplacement NR Never Replace on ne fait rien la version du composant d j d ploy e est laiss e intacte Selon la politique de d ploiement qui est appliqu e et en fonction des compatibilit s qui existent entre les diff rents composants la qualit du d ploiement peut alors tre valu e 2 3 3 Evaluation du d ploiement Pour valuer la qualit du d ploiement deux propri t s sont utilis es e Propri t de r ussite l application install e fonctionne correctement e Propri t de s ret les applications existantes continuent fonctionner correctement apr s l installation de la nouvelle application En fonction des politiques de d ploiement et des compatibilit s appliqu es le tableau de la Figure 3 4 peut tre d fini Il r sume les propri t s que doivent remplir les composants pour assurer les propri t s de s ret ou de r ussite au d ploiement Politique de d ploiement appliqu e Propri t s suffisantes pour garantir la s ret Propri t s suffisantes pour garantir la r ussite R utilisation possible du composant FC BC Oui FC BC Oui BC BC Oui
16. unit d ployer n a aucune d pendance il suffit simplement de cr er la feuille Les feuilles sont cr es partir des informations disponibles dans la structure 183 Chapitre 7 ORYA r alisation et valuation d entreprise Le code suivant est une partie de la m thode qui permet de cr er un n ud partir d un noeud de la structure d entreprise contenu dans la variable fNoeud Dans cette partie il s agit de cr er les plans fils d un noeud dont la racine est un orderWord if fNoeud getCibleType toString equalsIgnoreCase GROUP cas group appel r cursif noeudPlanFils this orderNodePlan fNoeud deployActivity toReturn addSonNode i noeudPlanFils else if fNoeud getCibleType toString equalsIgnoreCase MACHINE StrategyType chronoUStrat this getStrategieChronoU fNoeud deployActivity if fNoeud getUnitesPossibles getUnitePossible 0 getDependancyCount 0 cas machine avec d pendances gt plusieurs unit s gt neud NodePlanType gt appel a la m thode traitant les d ploiements sur une machine et ajout du fils au plan a retourner noeudPlanFils createNodeMachine chronouUStrat getStrategyChoice fNoeud deployActivity toReturn addSonNode i noeudPlanFils else cas machine sans d pendances gt une seule unit gt neud LeafType gt cr ation d une feuille LeafType noeud
17. unit U6 et de sa d pendance W2 une machine cible potentielle doit avoir un espace disque d au moins 98 132 230 De la m me mani re pour le d ploiement d U7 et de sa d pendance V4 il faut 7 4 132 246 et pour le d ploiement de U7 et de X5 114 100 214 sont n cessaires 130 Chapitre 5 ORYA mise en uvre des mod les et conception Le cumul des contraintes impose alors de supprimer U7 de la liste des possibilit s pour la machine M1 Le tableau de la Figure 5 21 contient l ensemble des unit s possibles pour chaque machine Unit s de d ploiement possibles E4 U 1 U 2 U 4 US V 1 E2 U 1 U 2 U 5 V1 U6 W2 U7 VA X5 El U LU 2 U 4 U5 V 1 U6 W2 U7 V4 X5 E2 U 1 U 2 U 5 V1 U6 W2 U7 VA X5 El U 4 U5 V 1 U6 W2 U7 V4 X5 Figure 5 21 Unit s de d ploiement possibles pour chaque machine cible cumul de contraintes La Figure 5 21 r sume simplement l information contenue dans la structure de plan La Figure 5 22 illustre cette structure lt M1 U1 gt lt M1 U2 gt lt M1 U4 gt r U lt M3 U1 gt lt M4 U1 gt lt M3 U2 gt lt M4 U2 gt lt a 05 gt 4 U5 gt lt M5 V4 gt lt M5 X5 gt Figure 5 22 Structure de plan pour le d ploiement de
18. Ainsi il g re les flux de donn es qui sont chang s par les agents r alisant les activit s Un environnement de travail pour les proc d s permet aussi de stocker les informations et produits chang s par les diff rents acteurs intervenant dans un proc d Les produits peuvent tre partag s entre plusieurs acteurs mais chaque acteur utilise son propre espace de travail pour r aliser l activit dont il est responsable La Figure 5 2 sch matise l architecture d un environnement de travail pour les proc d s D une part les proc d s sont d crits dans un langage de mod lisation de proc d s D autre part ils sont ensuite interpr t s par le moteur de proc d s qui charge des acteurs machines ou humains de le r aliser Les environnements de proc d s utilisent des langages de mod lisation de proc d s appel s PML Process Modelling Languages pour d crire les proc d s Certains de ces langages sont plus appropri s l une ou l autre des tapes du proc d CL95 Par exemple lors de l ex cution du proc d le langage doit tre op rationnel tandis qu il doit tre compr hensible lors de sa phase de conception par un humain 106 Chapitre 5 ORYA mise en ceuvre des mod les et conception Description du proc d dans le langage Interpr tation du Mod le de proc d langage de proc d tat du proc d produits Moteur de proc d
19. An environment for evolving information systems ACM Transactions on Information Systems 10 1 1992 A Ketfi N Belkhatir Dynamic Interface Adapdability in Servcie Oriented Software WCOP 03 Darmstadt Germany June 2003 A Ketfi N Belkhatir P Y Cunin Automatic Adaptation of Component based Software Issues and Experiences Proceedings in the 2002 International Conference on Parallel and Distributed Processing Techniques and Applications PDPRA 02 Las Vegas Nevada USA June 2002 A Ketfi Une approche g n rique pour la reconfiguration dynamique des applications base de composants logiciels Th se de doctorat Universit Joseph Fourier Grenoble France D cembre 2004 G Kiczales J Lamping A Mendhekar C Maeda C V Lopes J M Loingtier J Irwin Aspect Oriented Programming In the Proceedings of the 11 European Conference on Object Oriented Programming ECOOP 97 Lecture Notes in Computer Science vol 1241 Springer Verlag June 1997 V Lestideau N Belkhatir PY Cunin Environnement de d ploiement de logiciel automatis centr entreprise ICSSEA 2000 9 V Lestideau N Belkhatir P Y Cunin Un environnement de d ploiement automatis d applications d entreprise Revue g nie logiciel pages 23 31 Mars 2001 V Lestideau N Belkhatir P Y Cunin Towards automated software component configuration and deployment PDTSD 02 Orlando Florida USA J
20. Il faut alors envoyer le produit les outils servant son extension dans l environnement de l entreprise des outils de tests et toute l information n cessaire pour son installation et sa gestion sur les sites clients tout au long du cycle de vie du d ploiement L information descriptive du produit est contenue dans le mod le de produit ou mod le d application L information relative son d ploiement se trouve dans le plan de d ploiement unitaire sp cifique une version d un produit L ensemble de ces l ments forme l application ou produit producteur A chaque version de produit est associ un mod le de produit qui d crit l architecture de la version du produit Par exemple il contient les options du produit et les d pendances entre produits Le mod le de produit contient aussi un ensemble d information caract risant le produit et pouvant servir au client On peut trouver comme information le langage d impl mentation du produit le s syst me s d exploitation pour le s quel s il est con u etc Certaines des informations du mod le de produit peuvent tre commune plusieurs versions du produit A chaque version de produit est aussi associ un plan de d ploiement unitaire Ce plan peut tre sp cifique une version du produit ou tre commun plusieurs versions Ce plan donne le mode d emploi permettant de d ployer la version concern e Par exemple il indique quels fichiers copier ou
21. ORGANISATION DU DOCUMENT Ce document est organis en trois grandes parties La premi re concerne le cadre conceptuel du travail et comporte les deux chapitres suivants e le chapitre 2 pr sente les diff rents points qui motivent ce travail Ce chapitre d finit aussi l ensemble des concepts de base utilis s dans le domaine du d ploiement e le chapitre 3 propose un tat de l art et de la pratique Diff rentes approches sont utilis es pour pr senter des aspects diff rents du d ploiement Nous nous sommes focalis s sur les aspects li s notre probl matique et nos objectifs La deuxi me partie concerne notre contribution et comporte les trois chapitres suivants e le chapitre 4 d finit notre m ta mod le de d ploiement Il s agit de d finir un m ta mod le g n rique pour pouvoir permettre le d ploiement de tout type de produits dans n importe quel environnement cible entreprise et machines e le chapitre 5 d crit le travail de conception bas sur le m ta mod le du chapitre pr c dent Notre approche utilise deux technologies qui sont d velopp es dans notre quipe de recherche les f d rations et les proc d s 20 Chapitre 1 Introduction e le chapitre 6 met l accent sur les strat gies de d ploiement Il d finit des exemples de strat gies et les classe en diff rentes cat gories et types Il discute aussi des diff rentes interactions qu il peut exister entre strat gies L
22. abandonner le d ploiement complet et ventuellement de recalculer un nouveau plan de d ploiement d attendre la reconnexion de la machine ou de r aliser le d ploiement sur les autres machines encore connect es Nous ne d finissons pas plus de types de strat gies ici L objectif de cette partie tait de donner un ensemble d exemples de ce qui peut tre exprim au moyen de strat gies de d ploiement 5 PRINCIPE D APPLICATION DES STRATEGIES Pour appliquer les strat gies il faut parcourir la structure d entreprise cf paragraphe 5 1 du chapitre 5 que nous avons d finie dans le chapitre pr c dent Ceci permet d associer chaque n ud la structure d application cf paragraphe 5 2 du chapitre 5 qui convient en accord avec les strat gies de s lection Ensuite un autre parcours de la structure d entreprise permet de cr er la structure de plan cf paragraphe 5 3 du chapitre 5 de d ploiement en accord avec les strat gies d ordonnancement et les structures d applications possibles Enfin un parcours de la structure de plan permet l ex cution du plan de d ploiement Cette ex cution peut mettre en jeu l application de strat gies d ex cution Cette partie pr sente tout d abord les algorithmes de parcours qui permettent d appliquer les diff rentes strat gies Puis ces algorithmes sont illustr s par un exemple 5 1 Algorithmes de parcours Nous nous int ressons ici au parcours
23. applications d ployer puis de cr er et ordonnancer un plan de d ploiement global M me si cette deuxi me version n cessite encore beaucoup de travail pour une utilisation industrielle elle montre l utilit des strat gies pour le d ploiement 187 Chapitre 7 ORYA r alisation et valuation 188 CHAPITRE 8 CONCLUSION ET PERSPECTIVES Pr ambule Ce chapitre conclut le travail expos et pr sente les perspectives pour la suite Chapitre 8 Conclusion et perspectives 190 Chapitre 8 Conclusion et perspectives 1 CONCLUSION Dans cette partie apr s un bref rappel de notre probl matique nous concluons sur notre travail et nos principales contributions 1 1 Probl matique du d ploiement grande chelle La probl matique du d ploiement grande chelle est particuli rement riche et complexe En effet plusieurs probl mes peuvent tre pris en compte Le d ploiement exige alors la connaissance de divers domaines diff rents instants gestion du cycle de vie du d ploiement h t rog n it des machines cibles etc Nous nous sommes int ress s fournir un support pour le d ploiement le plus proche possible des besoins des entreprises L un des objectifs est l automatisation du d ploiement Ainsi il est possible de g rer un grand nombre de machines Pour les entreprises il est aussi n cessaire de prendre en compte leur organisation interne En effet le choi
24. c dent sont utilis s au travers de diverses structures Enfin le chapitre se termine par un exemple illustrant l ensemble des informations expliqu es 2 LA TECHNOLOGIE DES PROCEDES Un proc d repr sente la mani re de r aliser un objectif Plus qu une automatisation des tapes effectuer il cherche guider un utilisateur dans son travail La ma trise des proc d s entra ne le contr le de la qualit des co ts et des d lais lors de la conception d un logiciel La technologie des proc d s a d j t utilis e dans le cadre de la production d applications Elle permet notamment de mod liser d analyser puis d automatiser la production DAW98 Dans cette partie il s agit d tudier dans quelle mesure ces concepts peuvent tre appliqu s ou adapt s au d ploiement d applications grande chelle 2 1 Mod lisation de proc d Une approche dirig e par des proc d s permet de mod liser un but et de guider et d automatiser sa r alisation Ainsi un proc d d finit les activit s et les entit s qui les r alisent Ces entit s peuvent tre des outils ou des entit s humaines agissant pour effectuer une t che La Figure 5 1 mod lise les concepts de base des proc d s Der94 Un proc d est vu comme un ensemble d activit s r aliser Une activit peut tre composite c est dire constitu e d un ensemble de sous activit s Un produit est une ressource n cessai
25. comme le processeur la m moire l espace disque le type de carte vid o e Les caract ristiques logicielles d crivent l tat de la machine c est dire l ensemble des unit s d ploy es sur la machine D autres caract ristiques logicielles peuvent aussi tre d crites avec des propri t s le syst me d exploitation par exemple Ces informations sont utilis es pour choisir des versions d application unit s de d ploiement adapt es le plus possible la configuration des machines et ne d ployer que des unit s qui fonctionneront correctement sur les sites clients La Figure 4 6 illustre le m ta mod le des concepts li s la description des machines 85 Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle Strategy from Logical View amp expressionLogique String Machine amp deploymentActivity deployActivityType from Logical View choice String name String connected Boolean describesMachine from Logical View from Logical View me name String describesUnit value String depends Figure 4 6 M ta mod le de machine Un ensemble de propri t s Property permet de d crire la machine Par exemple des propri t s d crivent le nombre de sorties vid o de la machine son espace disque disponible ou son syst me d exploitation Les descriptions permettent de savoir si les contraintes im
26. e Le planificateur prend des d cisions sur le d ploiement en se basant sur les capacit s de la cible et les besoins du composant Pour cela il fait correspondre les besoins de l impl mentation avec les ressources disponibles de la cible et cr e un plan de d ploiement sp cifique e L ex cutant utilise le plan de d ploiement pour ex cuter le d ploiement et instancier l application 50 Chapitre 3 Etat de l art et de la pratique Le planificateur peut d finir un ensemble de plans de d ploiement valides c est dire un ensemble de plans de d ploiement qui d crivent un d ploiement valide de l application dans le domaine cible Certains de ces plans pouvant tre plus appropri s un contexte donn la s lection de l un d entre eux d pend de l impl mentation finale Un algorithme est d fini pour d terminer les plans valides pour le d ploiement d une application dans un environnement cible 2 1 4 Conclusion Le PIM de la sp cification a t utilis pour d finir un PSM pour CCM Ceci montre la bonne applicabilit de la sp cification pour un mod le composants Cependant il semble plus difficile de l adapter des applications commerciales type COTS dont on ne conna t pas forc ment une description aussi d taill e en termes de composants De plus les contraintes de d ploiement ne sont exprim es que selon les besoins des applications Les sites clients ne sont d fin
27. e un r pertoire pour l application Ensuite l agent d installation ins re les n uds des fichiers et r pertoires de l application Chacune de ces insertions g n re un v nement et l agent de site cr e ainsi toute l arborescence physique de l application En fin d installation l agent de mise jour est ajout au site du FieldDock 3 1 3 2 La mise jour D s qu une nouvelle version d une application est disponible elle est ajout e au registre du ReleaseDock producteur Cette insertion g n re un v nement qui est re u par l agent de mise jour du FieldDock s il avait souscrit ce type d v nements Cet agent recherche le registre du FieldDock Puis il communique avec le ReleaseDock pour retrouver la bonne configuration du logiciel Enfin il ins re les n uds des fichiers et r pertoires correspondants et l agent de site modifie l arborescence en fonction 3 1 3 3 La reconfiguration et la v rification de coh rence L activit de reconfiguration consiste r installer le logiciel sous une nouvelle configuration Par exemple la reconfiguration peut permettre d installer une version qui utilise moins d espace disque sur une machine qui commence tre surcharg e V rifier la coh rence d un logiciel c est v rifier que tous les fichiers et r pertoires de l application sont pr sents 3 1 3 4 La d sinstallation Il s agit de supprimer de mani re physique une application install e et d enlever
28. e xor un des plans reli s par cette relation doit tre ex cut e and tous les plans reli s par cette relation doivent tre ex cut s selon un ordre ind fini Une relation pourrait aussi tre d finie pour augmenter les possibilit s fournies par ces deux derni res relations En effet une relation permettant de choisir de d ployer sur n machines parmi un ensemble de p p gt n est int ressante Une telle relation permet par exemple d exprimer que l on souhaite d ployer l application sur deux machines du groupe cible peu importe lesquelles Dans ce cas des strat gies appliquer lors de l ex cution du plan peuvent accorder une priorit aux machines offrant les meilleurs performances ou celles tant le moins surcharg es etc L ajout de tels op rateurs conduit la d finition d un langage de description de plan de d ploiement base d op rateurs d ordonnancement comme next d op rateurs ensemblistes 2parmi et d op rateurs de composition and Un statut peut aussi tre associ un plan de d ploiement et permet d exprimer dans quel tat il se trouve Les statuts suivants peuvent tre identifi s e INACTIF Le plan de d ploiement n a pas encore t ex cut e ACTIF Le plan de d ploiement est en cours d ex cution e OK Le plan de d ploiement a t r alis avec succ s e KO L ex cution du plan de d ploiement a chou Un statut de r solution d erre
29. est une strat gie de s lection de type VERSION INTRAGROUPE Elle est repr sent e par les champs lt JNSTALL Impl mentation Java UNIT gt Cela signifie qu il faut d ployer la m me unit impl ment e en java sur toutes les machines du groupe G e La strat gie SVD appliqu e au groupe G est une strat gie de s lection de type VERSION DROITS Elle est d finie par le triplet lt INSTALL Interface multimedia NEVER gt Cela signifie qu il ne faut pas d ployer d unit avec une interface multim dia sur les machines du groupe G e La strat gie SC appliqu e au groupe G est une strat gie d ordonnancement de type CHRONOLOGIE MACHINES Elle est d fini par le triplet lt INSTALL Type devTool PARALLEL MI M2 gt Cela signifie qu il faut d ployer les outils de d veloppement en parall le sur les machines M1 et M2 e La strat gie SC3 appliqu e au groupe G3 est une strat gie d ordonnancement de type CHRONOLOGIE MACHINES Elle est d fini par le triplet lt INSTALL Type devTool ORDERED MS M4 gt Cela signifie qu il faut d ployer les outils de d veloppement d abord sur la machine MS puis sur la machine M4 Les strat gies SVI et SVD sont donc utilis es pour la s lection des unit s d ployer Les strat gies SC et SC3 sont n cessaires pour l tape de cr ation et d ordonnancement du plan de d ploiement 5 2 1 S lection des unit s d ployer Pou
30. gie ou une strat gie de chaque cat gorie est utilis e Cependant les cas d tude se compliquent lorsque plusieurs strat gies interviennent Dans cette partie nous tudions diff rentes interactions qui peuvent exister Cette partie pr sente donc quelques probl mes que nous avons pu identifier au cours de nos exp riences mais qui n ont pas t r solus dans le cas g n ral Ces probl mes devront tre trait s dans les versions de notre environnement ORYA qui seront op rationnelles pour supporter des strat gies labor es 157 Chapitre 6 Un environnement de d ploiement orient strat gies 7 1 Interaction des strat gies entre elles Tout d abord plusieurs strat gies peuvent intervenir pour une m me unit et une m me cible Deux types d interaction peuvent alors tre identifi s e la composition de strat gie et e le conflit entre strat gies 7 1 1 Composition de strat gies Pour simplifier notre exemple nous avons d cid de d finir quelle unit d ployer a la fin de l tape de s lection Cependant l entreprise peut aussi choisir de n effectuer ce choix que le plus tard possible au moment de l ex cution du plan de d ploiement Dans notre exemple les unit s U1 US et U7 taient alors encore possibles Figure 6 5 Dans ce cas le plan de d ploiement construire est diff rent Lorsque les diff rents plans unitaires sont ordonnancer pour produire le plan de d plo
31. http www microsoft com technet prodtechnol Windows2000Pro deploy depopt sysprep mspx EDAA Page web du gestionnaire de configuration de Tivoli Tivoli Configuration Manager http www 306 ibm com software tivoli products config megr Page web de la console d entreprsie Tivoli Tivoli Enterprise Console http www 306 ibm com software tivoli products enterprise console Site web de Tivoli http www 306 ibm com software tivoli Page web de l outil du gestionnaire de licence de Tivoli Tivoli License Manager http www 306 ibm com software tivoli products license megr C Taconet E Putrycz G Bernard Context Aware Deployment for Mobile Users Proceedings of the 27 International Conference on Computer Software and Applications Conference COMPSAC 2003 IEEE Computer Society Dallas USA November 2003 Page web de l outil de distribution logicielle de Tivoli Tivoli Software Distribution White Paper http www 306 ibm com software tivoli resource center security wp software dist jsp Universit Polythechnique de Madrid Site Internet http www upm es G Vega D veloppement d Applications a grande chelle par composition de m ta mod les Th se de doctorat Universit Joseph Fourier Grenoble France D cembre 2005 J Villalobos APEL Sp cification formelle du moteur Rapport Technique de l Equipe Ad le Mars 2002 208 Vil03 Win Winl
32. il s agit de pr senter un exemple des donn es qui viennent d tre d crites La Figure 4 12 pr sente une partie du mod le d entreprise de notre laboratoire de recherche le LSR 99 Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle Group Group NonPermanentsA Group Doctorants Group M4 Machine Figure 4 12 Description de l entreprise LSR Group M1 M2 M3 Machine Machine Machine ME Machine Le groupe LSR est divis en plusieurs sous groupes Certains concernent les quipes de recherche ici Ad le et Drakkar d autres concernent les utilisateurs ici Permanents Le groupe Ad le est lui m me divis en plusieurs sous groupes PermanentsA et NonPermanentsA qui peuvent tre divis s en d autres sous groupes Doctorants ou contenir des machines M1 M2 M3 M4 et M5 On peut aussi noter que le groupe PermanentsA est aussi un sous groupe du groupe Permanents Remarquons que la structure du mod le est un graphe acyclique Chacune des machines cit es a ses propres caract ristiques La Figure 4 13 repr sente par exemple les caract ristiques de la machine M1 Les mod les d instance des autres machines ne seront pas pr sent s ici puisqu ils sont similaires seules les valeurs des attributs sont modifi es M1 Machine name M1 connected true St rategy P11 Property P12 Property P13
33. impl mentation sera d ploy e et quels n uds du r seau seront utilis s La deuxi me partie de l algorithme consiste affecter les impl mentations s lectionn es aux n uds choisis 3 2 4 Conclusion CADeComp permet le d ploiement d applications multi composants Le point fort est que le d ploiement des composants est r alis en fonction du contexte de d ploiement Cependant cette approche est tr s cibl e pour les clients mobiles puisque les composants sont install s chaque nouvelle demande de service et d sinstall s chaque arr t du service pas de mise jour En outre le service de d ploiement n a pas de capacit de raisonnement automatique il repose enti rement sur les r gles sp cifiques d adaptation associ es l application D autres r gles pourraient aussi tre utilis es pour imposer des contraintes sur le r seau comme par exemple ne pas d ployer sur un site d j surcharg 3 3 Resolvit Resolvit est le prototype de l approche propos e par l Universit Polytechnique de Madrid Upm Resolvit est un moteur de d ploiement pour OSGi Osg03 L approche souhaite aussi couvrir l ensemble des activit s du cycle de vie du d ploiement Pour l illustrer nous pr sentons tout d abord le contexte de travail Puis nous nous focalisons sur la gestion des d pendances point int ressant dans l approche en d terminant les besoins et la mani re utilis e pour les r soud
34. n est utilis e que pour des modifications statiques de l application puisque les modifications dynamiques interdisent l arr t complet ou la d sactivation de l application Apr s avoir effectu une d sactivation dans le but de r aliser une mise jour ou une reconfiguration l application doit tre activ e une nouvelle fois avant de pouvoir s ex cuter nouveau L activation r activation a videmment lieu apr s avoir r alis les modifications n cessaires 4 4 Mise jour La mise jour a lieu lorsque le producteur propose une nouvelle version de son application La mise jour peut s effectuer la demande du client ou l initiative du producteur si le client s est inscrit un service de mise jour En g n ral un producteur fournit une nouvelle version d une application pour corriger une erreur de fonctionnement pour ajouter de nouvelles fonctionnalit s ou am liorer les performances D sactivation L gt Mise jour statique L Activation Figure 2 6 Activit de mise jour La mise jour statique n cessite de d sactiver l application sur le site client Figure 2 6 Il faut ensuite r cup rer les informations n cessaires chez le producteur et effectuer les modifications indiqu es Ces modifications peuvent tre des modifications mineures la copie d une nouvelle DLL par exemple And00 Mais elles peuvent aussi tre
35. n ralement un niveau d abstraction assez limit Le mod le de produit inclut au minimum la liste des fichiers installer avec l information sur la version et la plate forme Le mod le de site souvent sp cifique la plate forme ou limit contient l information sur la configuration du site l environnement utilisateur et le syst me de fichiers De plus le proc d de d ploiement est assez rigide et peut difficilement tre personnalis Certains de ces outils commerciaux supportent aussi l activit de mise jour 4 3 2 Les gestionnaires de packages et l outil RPM Les gestionnaires de package sont des utilitaires de syst mes d exploitation qui assistent les administrateurs dans la gestion des applications Ils sont bas s sur le concept de package et de d p t repository de site qui stocke l information sur l tat de chaque package install Un package contient un ensemble de fichiers et les m ta donn es d crivant le syst me Ces m ta donn es sont fournies par le producteur puis utilis es par le gestionnaire de packages et stock es sur le site client une fois le package install 75 Chapitre 3 Etat de l art et de la pratique En termes d abstraction le mod le de site est une collection de packages et un d p t Le mod le de produit fournit un ensemble riche d attributs dans les m ta donn es du package avec des param tres qui peuvent modifier le comportement des proc dures de d pl
36. pendance En r alisant la v rification des contraintes de chaque unit de d ploiement pour chaque machine cible le tableau de la Figure 5 20 est obtenu Ce tableau rassemble toutes les unit s qui sont d ployables sur chaque machine Unit s de d ploiement possibles E3 U1 U2 U4 U5 V 1 U7 X5 E2 U1 U2 U5 V1 U6 W2 U7 V4 X5 El U1 U2 U4 U5 V 1 U6 W2 U7 V4 X5 E2 U1 U2 U5 V1 U6 W2 U7 V4 X5 El U1 U2 U4 U5 V1 U6 W2 U7 V4 X5 Figure 5 20 Unit s de d ploiement possibles pour chaque machine cible contraintes trait es ind pendamment 7 3 Cumul des contraintes Dans les parties pr c dentes les contraintes ont t pr sent es et trait es individuellement Cependant nous avons vu dans le chapitre pr c dent que des contraintes diff rentes peuvent faire intervenir les m mes propri t s des machines cibles Dans le cas o les valeurs de ces propri t s sont modifi es par la post action d une contrainte les contraintes ult rieures doivent prendre en compte la nouvelle valeur Dans notre exemple pour une unit donn e chaque contrainte fait intervenir des propri t s diff rentes Cependant certaines unit s ont des d pendances Dans ce cas les m mes propri t s peuvent tre utilis es plusieurs fois c est le cas de la propri t exprimant l espace disque disponible Ainsi pour le d ploiement de l
37. s et des f d rations Il est int ressant d associer la technologie des proc d s une f d ration EVL 03 pour le d ploiement En composant un domaine de proc d s avec les concepts de d ploiement il est plus simple de g rer les tapes r aliser pour d ployer une application En effet un proc d de d ploiement peut tre d fini pour structurer les diff rentes tapes r aliser transfert r solution de d pendances ex cution de fichiers de commandes pour remplir la t che de d ploiement Avec une telle utilisation des technologies de f d rations et de proc d s il est alors relativement ais d automatiser le d ploiement De plus en se pla ant un niveau plus bas la f d ration gr ce au concept de r le fournit une grande flexibilit l utilisateur En effet elle permet d utiliser des outils diff rents d une machine l autre Par exemple il est possible d utiliser un outil de transfert sur un site client et un autre outil de transfert n utilisant pas le m me protocole sur un autre site client Comme les outils sont utilis s par la f d ration via leurs r les ici r le de transfert le d ploiement peut tre r alis dans les deux cas sans modification du proc d Cette approche est aussi extensible par le nombre illimit de machines qu il est possible de g rer De plus les machines ne se connaissent pas entre elles Il est ainsi possible de d ployer une appli
38. sente les informations de contexte auxquelles les services sont sensibles Les informations de contexte directes sont r cup r es par des capteurs tandis que les informations indirectes sont d duites d autres contextes en utilisant des r gles d interpr tation Le domaine de capteur permet la repr sentation des capteurs qui interagissent 63 Chapitre 3 Etat de l art et de la pratique Sensibilit au Contexte Figure 3 6 Repr sentation de COMCAS Le domaine de r gles et politiques repr sente les politiques d adaptation et les m thodes d interpr tation qui sont utilis es pour s adapter au contexte Enfin le domaine de services sensibles au contexte repr sente les services install s au dessus du middleware sensible au contexte propos En outre l adaptation d une application son contexte d utilisation n cessite trois tapes e la collecte des informations de contexte e analyse des informations de contexte et la d cision des activit s d adaptation e ex cution des activit s d adaptation Ces tapes r aliser permettent de d finir l architecture du service de d ploiement propos et plac au dessus d une infrastructure sensible au contexte qui communique avec les sources d information du contexte La Figure 3 7 illustre cette architecture ATS 05 Terminal utilisateur Domaine du prestataire du service de d ploiement Application pren eee
39. sentons les concepts principaux du d ploiement en g n ral puisqu ils constituent la base des notions utilis es Pour cela nous listons les diff rentes tapes d un d ploiement qui m nent la d finition du cycle de vie du d ploiement Enfin avant de conclure nous montrons comment ces concepts s adaptent notre contexte de travail sur le d ploiement grande chelle Ainsi nous d terminons une architecture fonctionnelle utiliser et les concepts sp cifiques au d ploiement 2 DEPLOIEMENT VS DEPLOIEMENT A GRANDE ECHELLE Le processus de d ploiement arrive en fin du cycle de vie du logiciel I d bute lorsque le produit ou application est valid par le producteur et continue jusqu la d sinstallation des 25 Chapitre 2 Le d ploiement concepts et contexte de travail sites des clients Entre ces deux tapes il faut consid rer plusieurs activit s comme l installation ou la mise jour En consid rant toutes ces activit s on peut d finir un cycle de vie du d ploiement paragraphe 4 L ensemble des activit s ainsi d finies doit tre pris en compte pour g rer un ensemble de machines d utilisateurs Dans les grandes entreprises le d ploiement prend beaucoup d importance Hal99 En effet celles ci ont un nombre de machines consid rable g rer Il est donc int ressant de leur fournir un support automatis pour l ensemble des activit s de d ploiement LBC02 Par extension un t
40. tout au long de ces ann es depuis mon DEA la rentr e 2001 Merci toi Pierre Yves pour ton soutien dans mes travaux pour ces discussions et ces remarques toujours pertinentes et constructives qui font avancer Merci toi Nourry pour m avoir encadr e Je vais continuer en remerciant chacun des membres de l quipe Ad le ceux qui sont d j partis vers d autres horizons comme ceux qui sont encore l pour cette bonne ambiance qui r gne au sein de l quipe Un remerciement plus particulier pour ceux qui ont particip de pr s ou de loin quelques discussions philosophiques pour faire progresser ce travail Anca German Jorge Vincent Merci aussi Madjid mon coll gue de bureau pour ces discussions pass es refaire le monde et cet enrichissement culturel quasi quotidien Je remercie aussi Philippe Martin et Camille Belissant du d partement informatique de TUT2 pour m avoir fait confiance et donner ma chance dans l enseignement Cette exp rience fut tr s enrichissante pour mot Merci aussi tous ceux qui ont relu ce document dans son int gralit ou en partie que ce soit pour le fond ou la forme afin de l amener ce stade J ai les m mes pens es pour ceux qui m ont fait des remarques pour am liorer la pr sentation de ma soutenance Et puis une th se c est des bons moments mais aussi des moins bons Et dans les moments de doute comme dans les moments de joie j ai t heureus
41. tre d ploy es avant ou apr s l unit UNIT Seuls les d ploiements s quentiels sont consid r s c est pourquoi le mot cl PARALLEL n intervient pas ici 4 4 Plan de d ploiement Les strat gies que nous venons de citer sont utilis es pour cr er le plan de d ploiement global permettant de d ployer une application n unit s chacune tant une version sur p machines 4 4 1 Structure d entreprise et structure d application Pour simplifier l impl mentation les structures d entreprise et d application sont d finies dans le m me fichier XML Un sch ma XSD permet de d finir quelles informations doit contenir chaque n ud de la structure d entreprise La structure d application fait partie de ces informations c est pourquoi elle se trouve dans le m me fichier 178 Chapitre 7 ORYA r alisation et valuation lt xml version 1 0 encoding UTF 8 gt lt xsd schema xmlns xsd http www w3 org 2001 XMLSchema targetNamespace http castor exolab org version 0 9 4 gt lt xsd complexType name DeployEnterpriseStructDescriptor gt lt xsd sequence gt lt xsd element name deployActivity type DeployActivityType gt lt xsd element name cibleGroupName type Node gt lt xsd element name unitNameToDeploy type xsd string minOccurs 0 maxOccurs unbounded gt lt xsd sequence gt lt xsd complexType gt lt xsd complexType name Node gt lt xsd sequence gt lt xsd elem
42. tre propag e aux sous n uds de la structure d entreprise En effet avant de pouvoir tre appliqu s certains types de strat gies peuvent par exemple exiger une collecte d information en provenance des niveaux inf rieurs Dans ce cas la strat gie peut tre propag e ou non aux sous n uds Cette propagation aux sous n uds peut d pendre du type des sous n uds par exemple la strat gie peut n tre propag e qu aux sous groupes et pas aux machines e La pr c dence d termine quelles strat gies doivent tre appliqu es en priorit En effet plusieurs strat gies de m me type peuvent tre appliqu es un m me n ud Il faut alors d finir si ce sont les strat gies locales ou les strat gies h rit es propag es voire globales qui sont prioritaires Lors de la d finition d un nouveau type de strat gie quelque soit sa cat gorie ses caract ristiques doivent alors tre sp cifi es Elles permettent de d terminer la mani re d appliquer la strat gie ces informations s ajoute la s mantique de base de la strat gie Celle ci permet alors de conna tre quel s traitement s appliquer aux sous ensembles d unit s possibles Ce traitement permet de d terminer quelles unit s possibles doivent tre conserv es 4 DES EXEMPLES DE TYPES DE STRATEGIES Trois cat gories de strat gies ont t identifi es dans la section pr c dente Dans chaque cat gorie nous avons d fini plusieurs types de str
43. une exp rimentation industrielle pourra tre envisag e En effet seule la premi re version d ORYA a t exp riment e industriellement La deuxi me version d ORYA n a t valu e qu avec des tests que nous avons nous m me construits L exp rimentation de cette deuxi me version en milieu industriel permettra tout d abord d valuer le niveau de difficult de l utilisation de strat gies de d ploiement Ainsi en fonction de ses r sultats des outils pourraient tre ajout s pour faciliter le travail de l administrateur dans la d finition et l exploitation de strat gies de d ploiement Une exp rimentation en grandeur r elle permettra aussi d valuer le temps de pr paration du d ploiement En effet pour un grand nombre de machines le temps mis pour s lectionner les unit s d ployer et cr er et ordonnancer le plan de d ploiement doit rester n gligeable par rapport au temps du d ploiement sur l ensemble des machines 196 Chapitre 8 Conclusion et perspectives 2 2 Perspectives d utilisation Plusieurs projets en relation avec le d ploiement sont en cours dans notre quipe de recherche ANSO Anso S4ALL S4all PISE Pise Ces projets r utilisent certains travaux que nous avons pr sent s dans ce document ventuellement en les adaptant a un contexte pr cis 2 2 1 D ploiement distribu Un premier objectif est d ajouter la gestion des applications distribu es En
44. DEPLOIEMENT Dans notre approche nous avons choisi d utiliser un plan de d ploiement pour d finir quelles tapes r aliser pour effectuer une activit de d ploiement 6 1 D finition d un plan de d ploiement Deux types de plans de d ploiement peuvent tre distingu s le plan de d ploiement unitaire et le plan de d ploiement global 6 1 1 Plan de d ploiement unitaire Un plan de d ploiement unitaire est associ chaque unit de d ploiement Il permet d tablir la liste des instructions r aliser pour d ployer l unit sur une machine Ce plan est sp cifique une unit il est fourni par le producteur puisque c est le seul avoir la connaissance sur les tapes r aliser pour d ployer son produit Chaque unit peut tre associ e plusieurs plans de d ploiement unitaires mais un seul plan par activit de d ploiement peut tre associ Ainsi une unit a au maximum un plan pour son installation un plan pour sa mise jour un plan pour sa d sinstallation etc 95 Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle Un tel plan contient un lien vers les instructions r aliser pour d ployer une unit sur une machine Les instructions peuvent par exemple tre des instructions de copie de fichiers ou d ex cution de commandes Le producteur peut laisser ouvert certains choix de d ploiement comme le nom des r pertoires utiliser ch
45. DeployPlanstructDescriptor gt lt xsd sequence gt lt xsd element name deployActivity type DeployActivityType gt lt xsd element name cibleName type xsd string gt lt xsd element name unitName type xsd string gt lt xsd element name nodePlan type NodePlanType gt lt xsd sequence gt lt xsd complexType gt lt xsd complexType name NodePlanType gt lt xsd sequence gt lt xsd element name orderWord type OrderWordType gt lt xsd element name sonNode type NodePlanType minOccurs 0 maxOccurs unbounded gt lt xsd element name sonLeaf type LeafType minOccurs 0 maxOccurs unbounded gt lt xsd sequence gt lt xsd complexType gt lt xsd complexType name LeafType gt lt xsd sequence gt lt xsd element name machineName type xsd string gt lt xsd element name unitName type xsd string gt lt xsd element name unitVersion type xsd string gt lt xsd element name sourceURL type xsd string gt lt xsd element name deployActivity type DeployActivityType gt lt xsd sequence gt lt xsd complexType gt lt xsd simpleType name OrderWordType gt lt xsd restriction base xsd string gt lt xsd enumeration value ORDERED gt lt xsd enumeration value AND gt lt xsd restriction gt lt xsd simpleType gt lt xsd simpleType name DeployActivityType gt lt xsd restriction base xsd string gt lt xsd enumeration value INSTALL gt lt xsd enumeration valu
46. EErEE ENE tete ene seen ete tete ed ee 30 3 5 GESTION DEL APPLICATION oieee Er E E annee ner tape einen corde eue 30 4 LE CYCLE DE VIE DU D PLOIEMENT cccccccsscccccccccccccccccccccccccccccccccccccccccccccscceeccessceeeceeees 30 4 1 NOUVELLE VERSION DE L APPLICATION seseecccceceeessssseeesccccesessssusesccecesseesssssesesceeees 31 ASD INSTATLATION A Yes ive cena te Ta OSU ea ose oo ahaa so SEG Th Da SSUES ee RSE EE 31 4 3 ACTIVATION ET DESACTIVATION ooer trr r Eee RAS ede cbvassdobsoves Gidereeestsssooe secneteetedessess 32 AAS IMISBPA TOUR ur Aa rE OTE eteoes ootenshe bot E eset sieves 224 ste 32 AD IREGONFIGURBA TIONS nn nn Ma M im ne nn en En er nan 33 246 D SINSTALLATION E serre ressentie nn os rene men Mi si esters tated ete svbsedeaeetinses coetee 34 AT SEIN DE SUPPORT T aan se dre ne en en nn mel nt LS ane 34 5 ARCHITECTURE FONCTIONNELLE csccssssssccescccccccccssssscecccccccccesssccccecccccccssessscescscceesssess 34 51 NIVEAU PRODUCTEUR 55 nano ren into ni tre asia este 35 512 NIVEAU ENTREPRISE sms dim odtocemmnese se eee mine sense docs St d cennie de 36 5 3 NIVEAU UTILISATEUR oirra ewes men an nine tee nine de re anale detente 38 5 4 ORGANISATION PHYSIQUE DE L ARCHITECTURE FONCTIONNELLE 0eecccccsseeccsseeseeseeeeees 38 6 LES CONCEPTS DE BASEss2 siccccusscessssoscsnscscssessssoossecvcsususssussocoseoocccssusssssvesocevescduuessssvesessesoes 39 6 1 MODELE D ENTREPRISE 42221 meteo vieddsennsnv
47. Figure 4 1 Personnalisation des concepts du m ta mod le de d ploiement Dans ce chapitre nous d finissons un m ta mod le de d ploiement avec tous les concepts utiliser pour le d ploiement 2 MODELISATION DES INFORMATIONS LIEES AU DEPLOIEMENT Pour structurer l ensemble de l information li e au d ploiement nous d finissons un m ta mod le de d ploiement Figure 4 2 82 Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle cadntansSsubGroup describasMachite Property containsMachine Strategy _ S Et K appiyMachineStrategy Machine deploysUnit s Un DeploymentPlan k CE si ini p f Site cible Produit Figure 4 2 M ta mod le de d ploiement Ce m ta mod le est pr sent en trois parties distinctes li es aux concepts d entreprise paragraphe 2 1 de site cible paragraphe 2 2 puis de produit paragraphe 2 3 2 1 Concepts li s la structure de l entreprise Un ensemble de concepts li s la structure de l entreprise est n cessaire au d ploiement Ces informations sont notamment utilis es lors de l application des strat gies de d ploiement et lors de la construction d un plan de d ploiement global Ces informations sont mod lis es par le m ta mod le de groupe Une entreprise est consid r e comme un regroupement ou groupe d
48. France January 2005 Ana Laura Gomez Mod le de Sites pour le d ploiement de logiciels Rapport de DEA Syst mes d Information MATIS Universit Joseph Fourier UFR IMA Grenoble France Juin 2000 R S Hall Agent based Software Configuration and Deployment PhD Thesis University of Colorado USA 1999 W J Hansen Deployment Descriptions in a World of COTS ans Open Source Proceedings in the International Symposium on System Configuration Management SCM 9 Lecture Notes in Computer Science 1675 Springer Heidelberg September 1999 A Van Der Hoek R S Hall A Carzaniga D Heimbigner A L Wolf Extending Configuration Management Support into the Field Crosstalk The Journal of Defense Software Engneering volumel 1 number 2 Febuary 1998 R S Hall D Heimbigner A Van Der Hoek A L Wolf An Architecture for Post Development Configuration Management in a Wide Area Network Proceedings of the 17 International Conference on Distributed Computing Systems Baltimore USA May 1997 R S Hall D Heimbigner A L Wolf Evaluating Software Deployment Languages and Schema Proceedings of the 1998 International Conference on Software Maintenance IEEE Computing Society November 1998 R Hall D Heimbigner A L Wolf A Cooperative Approach to Support Software Deployment Using the Software Dock Proceedings of the International Conference on Software Engineering IEEE Computer Science Press 1
49. Il y a deux types d agents e Les agents externes peuvent migrer vers d autres Docks par exemple un agent d installation e Les agents internes restent fixes un Dock par exemple l agent de site fect ReleaseDock Agent Agent e Serveur d v nements InterDock Agent FieldDock Hse Agent FieldDock Agent Agent Agent Bea Figure 3 5 Architecture de Software Dock Les Docks HHH 97 servent mod liser les diff rents niveaux du d ploiement d crits dans la partie pr c dente Le ReleaseDock correspond au producteur InterDock l entreprise et le FieldDock l utilisateur final La Figure 3 5 sch matise l architecture de Software Dock e Le FieldDock se trouve sur le site client et offre des informations sur l environnement mat riel et logiciel du site Il y en a un par site consommateur Ses agents par exemple l agent de site g rent les modifications apport es l environnement e Le ReleaseDock r side sur le site du producteur et offre des informations sur les logiciels disponibles pour le d ploiement pouvant tre modifi es via une 59 Chapitre 3 Etat de l art et de la pratique interface utilisateur Il poss de les agents d installation et de mise jour utilis s lors du d ploiement Lorsqu un client choisit un logiciel un agent est envoy sur le site client Cet agent communique avec le F
50. Java un activateur de bundle un fichier de m ta donn es et d autres ressources De plus un bundle a un cycle de vie qui lui permet de passer tour tour par l un des tats suivants install installed r solu resolved d marr started en cours de d marrage starting en cours d arr t stopping arr t stopped d sinstall uninstalled La partie suivante s int resse aux exigences souhait es du moteur de d ploiement qui a pour but de r soudre automatiquement les d pendances et conflits entre unit s de d ploiement 3 3 2 Expression des besoins En premier lieu l tat de la plate forme doit pouvoir tre stock En effet il faut pouvoir consulter l tat de la plate forme pour adapter le d ploiement en fonction des caract ristiques de la cible De plus les t ches de d ploiement doivent tre fiables soit le d ploiement se termine correctement soit la plate forme est laiss e dans son tat initial Dans le cas o le d ploiement se d roule correctement les changements de l tat de la cible doivent tre persistants Pour cela Resolvit d compose le d ploiement en deux phases v rification et ex cution Si les v rifications sont correctes alors le d ploiement est ex cut automatiquement De plus les d pendances doivent tre sp cifi es dans des descripteurs de d ploiement afin de pouvoir g rer leur r solution Pour OSGi la sp cification des d pendances se fait au nive
51. SELECTION Ces strat gies ont le m me principe de fonctionnement que les strat gies VERSION DROITS qui indiquent une pr f rence F AVAILABLE Dans ce cas si plusieurs unit s restent disponibles le choix se porte vers celle qui remplit les conditions indiqu es par l expression logique Elles peuvent alors exprimer une pr f rence pour des unit impl ment es en java pour des unit s n cessitant peu d espace disque etc Elles sont appliqu es lorsque l ex cution de la structure du plan arrive sur un n ud o un choix est possible n ud XOR par exemple Comme le plan de d ploiement global contient un ensemble de d ploiements unitaires concernant une machine ce type de strat gie ne peut tre appliqu que sur une machine D autres types de strat gie d ex cution pourraient tre d finis pour exprimer comment doivent tre r solus les diff rents degr s de libert Par exemple un type EXECUTION CHRONOLOGIE pourrait indiquer comment r soudre les ordres partiels n uds AND du plan indiqu s dans le plan de d ploiement 145 Chapitre 6 Un environnement de d ploiement orient strat gies 4 3 2 Strat gies EXECUTION ERREUR Les strat gies de type EXECUTION ERREUR permettent de d cider de ce qu il faut faire en cas d erreur au cours de l ex cution du plan de d ploiement arr ter continuer le d ploiement etc Il peut s agir de tout type d erreur li l ex cution des diff rente
52. activit s Chaque activit des ports d entr e et de sortie par lesquels les produits transitent Enfin les produits sont transmis entre les diff rentes activit s par les flux de donn es client t K l a re KO ok bagia i a gt ie rm _ wopatkage olent sta p Olemine KOU A I Yee Tani HOTTES KOT Brminate fenor KoDependencies a gt a tee KO dl client packageName client package sewer r re ferar a endSeare gere shient packageNeme Figure 7 1 Proc d d installation Selon la d finition de ce proc d MB04 b pour r aliser une installation il faut commencer par rechercher le package de l application souhait e activit Search Control Package sur un serveur d applications qui la fournit Ensuite il faut r soudre les d pendances ventuelles activit Dependencies Resolve Dans le cas o il y a des d pendances r soudre un autre proc d d installation est lanc L activit suivante r alise le transfert des donn es du serveur d applications vers le site client activit Transfer Dans notre cas comme nous utilisons la technologie des f d rations et que les machines ne se connaissent pas entre elles le transfert est r alis en deux tapes du serveur d applications vers un serveur de d ploiement puis du serveur de d ploiement vers le site client Nous rappelons qu un serveur de d ploiement est un serveur depui
53. adaptant en fonction de situations particuli res Nous avons choisi d utiliser APEL DEA98 un environnement de support de proc d s d velopp par notre quipe de recherche Cet environnement permet de repr senter sous forme graphique les activit s les flux de contr le workflow et de donn es dataflow du proc d de d ploiement Les activit s ainsi d crites seront r alis es au cours de l ex cution du proc d Ainsi les t ches seront affect es les unes apr s les autres un utilisateur via un syst me d agenda ou un outil Quand une t che est termin e on passe celle qui lui succ de dans le descriptif de l activit et ainsi de suite jusqu ce que l activit soit enti rement termin e 2 3 2 Gestion des erreurs Des proc d s de d ploiement peuvent tre d finis puis ex cut s Cependant des erreurs surviennent parfois au cours du d ploiement Elles doivent tre rep r es afin de laisser le s site s client s concern s dans un tat coh rent Un travail Mar04 a t r alis afin d tudier l aspect transactionnel du d ploiement en identifiant les cas d erreur et leurs alternatives possibles 2 3 2 1 Aspect transactionnel d un proc d de d ploiement Pour un proc d de d ploiement il est int ressant de rep rer quoi faire en cas d erreur au cours de l activit Un choix peut tre de revenir l tat initial en d faisant les activit s d j r a
54. au niveau de chaque machine sont associ es les propri t s qui les caract risent Sur la figure celles ci sont mentionn es sous une forme compr hensible intuitivement plut t que formellement RE Ad le os ee a Eet Ga j OS win2000 OS win2000 Mem 512 Mem 256 we Disk 758 Disk 546 OS win2000 Mem 512 Disk 280 Disk 452 Figure 5 17 Structure d entreprise pour un d ploiement sur le groupe Ad le Nous nous int ressons au d ploiement de l application U Celle ci est disponible en plusieurs versions Chacune de ces versions constitue une unit de d ploiement avec ses propres caract ristiques propri t s et contraintes L ensemble de ces unit s constitue alors la structure d application Figure 5 18 qui concerne le d ploiement auquel nous nous int ressons 128 Chapitre 5 ORYA mise en ceuvre des mod les et conception Type devTool Implem java Interface txt Type devTool Implem c Interface txt Type devTool Implem java Interface txt Type devTool Implem java Interface txt OS e winXP win2000 Mem gt 256 Disk gt 104 OS winXP win2000 Mem gt 256 Disk gt 104 OS Linux OS e winXP win2000 Mem gt 256 Mem gt 512 Disk gt 98 Disk gt 104 depends mandatory depends mandatary 1 1 i i Type
55. c dents ont d fini les concepts utiliser et leur mise en oeuvre pour fournir un environnement automatis pour le d ploiement d applications a grande chelle utilisant des strat gies Ce chapitre pr sente la r alisation qui a t effectu e en deux tapes environnement automatis puis orient strat gies et son valuation Chapitre 7 ORYA r alisation et valuation 164 Chapitre 7 ORYA r alisation et valuation 1 INTRODUCTION Le chapitre 5 a pr sent la mise en uvre des mod les en utilisant les technologies de f d rations et de proc d s Dans ce chapitre nous introduisons la r alisation de ce qui a t d crit pr c demment Pour cela nous pr sentons notre environnement de d ploiement ORYA Comme pour les concepts qui ont t d crits nous avons r alis l impl mentation en deux tapes e La premi re version d ORYA se focalise sur l automatisation du d ploiement Elle permet de r aliser le d ploiement automatis d une version d une application sur une machine Elle ne prend pas en compte les informations issues de l entreprise e La deuxi me version d ORYA met l accent sur l environnement de l entreprise Elle permet le d ploiement automatis d une application ventuellement plusieurs versions sur un groupe de machines Cette version d ORYA prend en compte le niveau entreprise du d ploiement et les strat gies de d ploiement Dans ce
56. caract ristiques particuli res par exemple ou au moment de l ex cution du plan de d ploiement selon les ressources disponibles par exemple Ce choix est effectu en accord avec les strat gies de d ploiement appliqu es par l entreprise e D pendances de remplacement Les d pendances de remplacement sont repr sent es par une liste d unit s En cas de conflit sur une machine cible ou pour toute autre raison l unit de d ploiement peut tre remplac e par l une des unit s de la liste 125 Chapitre 5 ORYA mise en ceuvre des mod les et conception e D pendances facultatives Les d pendances facultatives sont repr sent es par une liste d unit s Ces unit s seront d ploy es ou non selon ce qu indiquent les strat gies de d ploiement a appliquer De plus ces unit s ne seront pas d ploy es s il y a un probl me particulier sur une machine cible comme par exemple un conflit avec une unit d j d ploy e sur la machine cible un manque d espace disque une strat gie imposant une configuration minimum etc 6 2 Contraintes Les contraintes permettent de v rifier les caract ristiques que doit avoir une machine pour pouvoir recevoir une unit Elle peuvent tre consid r s comme des pr conditions au d ploiement La v rification de certaines d entre elles est suivie d une action d cr menter la propri t indiquant l espace disque disponible par exemple 6 2 1 Langage d
57. cas o aucune strat gie de ce type n est appliqu e un groupe cela signifie que des unit s diff rentes peuvent tre d ploy es sur chaque machine cible du groupe 4 1 3 Strat gies VERSION UNITE Les strat gies de type VERSION UNITE permettent d exprimer quelle compatibilit doit exister entre les unit s de m me nom versions d une m me application sur une machine Par exemple l entreprise peut interdire le remplacement d une version d une application par une autre afin de conserver la compatibilit de versions entre plusieurs machines Dans le cas o ce type de strat gie est appliqu un groupe il concerne toutes les machines du groupe S il est appliqu une seule machine il ne concerne que cette cible Ce type de strat gie est propag jusqu aux n uds de type machine puisque ce sont les machines qui sont les cibles finales et qui sont concern es par ces informations Les strat gies 141 Chapitre 6 Un environnement de d ploiement orient strat gies h rit es sont prioritaires sur les strat gies locales De plus les strat gies de ce type cachent les strat gies de m me type des n uds fils Les choix possibles sont bas s sur le mod le pour les applications base de composants PDC01 que nous avons pr sent dans le chapitre 3 Les contraintes d entreprise suivantes sont possibles pour ce type de strat gie e IS UNSERT SEPARATELY Cela signifie que deux unit s de m me n
58. ce chapitre Chapitre 6 Un environnement de d ploiement orient strat gies 134 Chapitre 6 Un environnement de d ploiement orient strat gies 1 INTRODUCTION NOTRE APPROCHE Le d ploiement grande chelle est une phase tr s complexe du cycle de vie du logiciel Cette tape ne peut raisonnablement pas tre r alis e la main C est pourquoi un support automatique est indispensable pour cette phase De plus les entreprises souhaitent pouvoir appliquer des strat gies ou politiques de d ploiement Des strat gies permettent d assurer un certain niveau de qualit l op ration que ce soit en termes de s curit d homog n it de conformit aux standards etc Certaines approches incluent directement en dur les strat gies dans les outils de d ploiement Ceci implique que l utilisateur ne peut pas d finir de nouvelles strat gies mieux adapt es ses besoins Une strat gie peut aussi tre vue comme une contrainte exprim e sur l environnement cible structure d entreprise concernant les unit s d ployer Notre objectif est de fournir un moyen d exprimer des strat gies de d ploiement avanc es L utilisateur peut ainsi d finir ses propres strat gies en fonction de ses besoins Nous avons choisi d associer des strat gies aux groupes et machines d une entreprise En effet le choix des strat gies appartient l entreprise cible de d ploiement Il semble donc lo
59. ces informations produit description et plan de d ploiement est ensuite packag Ce package r sultant peut ensuite tre transf r vers l entreprise l ayant choisi 4 2 Installation L activit d installation consiste installer physiquement l application sur le site client Pour cela il faut tout d abord transf rer le package obtenu chez le producteur vers le site client concern Le transfert peut s effectuer selon l une des deux techniques vues pr c demment push ou pull Une fois le package sur le site cible il faut r cup rer l information qu il contient Ensuite il faut instancier le plan de d ploiement en fonction des caract ristiques de la machine si cela est n cessaire Il s agit de donner des valeurs pr cises aux param tres du plan en fonction de la configuration de la machine cible Par exemple l administrateur d termine o r aliser l installation chemins de d ploiement Ensuite il n y a plus qu lancer l ex cution du plan de d ploiement Pour r aliser l installation il peut tre n cessaire d utiliser des outils disponibles sur la machine cible par exemple un outil permettant de copier des fichiers L utilisation ou l installation de l application peut aussi avoir des d pendances On dit qu une application d pend d une autre lorsqu elle l utilise pour pouvoir fonctionner correctement L administrateur de l entreprise peut exiger de r soud
60. choisie Apr s la s lection le fichier XML refl tant la structure d entreprise contient les unit s d ployer pour chaque machine cible Il reste ensuite construire la structure de plan en ordonnant des diff rents d ploiements unitaires 4 4 3 Ordonnancement des plans de d ploiement unitaires A partir de la structure d entreprise la structure de plan peut tre construite La structure de plan est stock e dans un descripteur XML Figure 7 11 Ce descripteur permet de savoir quel d ploiement il correspond avec l activit de d ploiement deployActivity le nom du groupe cible cibleName et le nom de l application d ployer unitName Les autres informations nodePlan correspondent la structure de plan Les n uds sont soit des n uds avec des fils VodePlanType soit des feuilles LeafType Les noeuds avec des fils sont repr sent s par un terme exprimant un ordre orderWord Les feuilles indiquent un plan unitaire avec le nom de la machine machineName le nom unitName et la version unitVersion de l unit de d ploiement l URL sourceURL a laquelle elle est disponible et l activit de d ploiement deployActivity qui doit tre r alis e 182 Chapitre 7 ORYA r alisation et valuation lt xml version 1 0 encoding UTF 8 gt lt xsd schema xmlns xsd http www w3 org 2001 XMLSchema targetNamespace http castor exolab org version 0 9 4 gt lt xsd complexType name
61. compose la structure d application r sultat de l application de la strat gie S il est vide la structure d application est compos e des unit s de l ensemble Faux Si aucune des unit s de l ensemble Vrai n est finalement compatible avec les caract ristiques d une ou plusieurs machine s cible s une nouvelle tentative est r alis e avec les unit s de l ensemble Faux 140 Chapitre 6 Un environnement de d ploiement orient strat gies 4 1 2 Strat gies VERSION INTRAGROUPE Les strat gies de type VERSION INTRAGROUPE permettent d exprimer quelle compatibilit doit exister entre les diff rentes machines d un groupe Ce type de strat gie ne peut donc tre appliqu qu aux n uds de type groupe et concerne la compatibilit d unit entre toutes les machines du groupe Il s agit ici de d cider si toutes les machines d un groupe doivent avoir la m me version d une application unit de d ploiement ou si elles peuvent avoir des versions diff rentes selon leurs caract ristiques sp cifiques Le traitement de ces strat gies n cessitent de l information unit s possibles en provenance des n uds fils En effet pour conna tre quelle unit peut tre d ploy e sur toutes les machines du groupe il faut conna tre pour chaque machine quelles unit s sont compatibles avec la configuration de cette machine Ces strat gies sont propag es aux sous n uds de type groupe Au niveau visibili
62. contrainte Entreprise nomType gt L activit de d ploiement activit DeD ploiement est le nom de l une des activit s du cycle de vie du d ploiement Il s agit de d terminer pour quelle activit de d ploiement s applique la strat gie lt activit DeD ploiement gt INSTALL UPDATE RECONFIGURE UNINSTALL ACTIVATE DESACTIVATE La contrainte sur les unit s contrainte Unit s est une expression bool enne qui fait intervenir des noms de propri t s des unit s et leurs valeurs possibles des op rateurs logiques et ou op rateurs ensemblistes classiques Cette contrainte est optionnelle dans le cas o aucune contrainte n est sp cifi e cela signifie que la strat gie s applique pour tous les types d unit s Cela revient remplacer l valuation de la contrainte par la valeur vrai La contrainte sur l entreprise contrainte Entreprise d termine la contrainte impos e par l entreprise Elle peut tre exprim e de diff rentes mani res faisant par exemple intervenir des mots cl s des noms de machines etc C est une partie du langage qui doit tre compl t par l utilisateur en fonction des types de strat gies qu il d finit et de l information n cessaire pour les interpr ter 6 2 Quelques exemples Pour d finir une nouvelle strat gie il faut e d finir le type de la strat gie et ses caract ristiques e tendre le langage pour d terminer comm
63. d environnement 169 Chapitre 7 ORYA r alisation et valuation e Le v rificateur de registres v rifie l existence ou la valeur d une variable d environnement e Le gestionnaire de fichiers permet de cr er copier ou supprimer des fichiers e Le v rificateur de fichiers permet de v rifier l existence d un fichier e Le gestionnaire d ex cution permet d ex cuter un fichier de commandes e Le moniteur de fichiers de log permet d acc der a un fichier log et de valider ou non manuellement l tape en cours en fonction de son contenu Nous avons ensuite r alis les outils impl mentant ces r les Des aspects permettent de synchroniser les donn es contenues dans les mod les fichiers XML et celles de l univers commun Nous avons aussi r alis d autres outils Ces outils compl mentaires ne sont pas utilis s au cours du d ploiement mais facilitent le travail amont de l utilisateur 2 3 2 Des outils annexes Des outils ont t impl ment s pour faciliter le travail de l utilisateur Le premier constitue l interface de d ploiement il permet de visualiser quelles machines sont connect es quelles applications sont disponibles et de lancer l installation d une application sur une machine cliente De plus comme le montre la Figure 7 4 un diteur de d ploiement permet d assister l utilisateur producteur dans la d finition du descripteur de d ploiement sp cifique l
64. d finissant tous les concepts identifi s pr c demment Le plan de d ploiement lui aussi est g r par un proc d Des structures ont t d finies pour traiter l information de d ploiement et cr er le plan de d ploiement global permettant de d ployer un ensemble d unit s sur un ensemble de machines e La structure d entreprise permet de d crire la structure hi rarchique groupes sous groupes et machines cible du d ploiement e La structure d application d crit l ensemble des unit s de d ploiement possibles pour une machine ou un groupe e La structure de plan permet d ordonnancer les diff rents plans de d ploiement unitaires pour former le plan de d ploiement global Enfin un langage de contraintes a t con u pour permettre l utilisateur de d finir lui m me les types de contraintes qu il souhaite exprimer 132 CHAPITRE 6 UN ENVIRONNEMENT DE DEPLOIEMENT ORIENTE STRATEGIES Pr ambule Nous avons vu jusqu a pr sent comment automatiser le d ploiement a grande chelle La probl matique de ce travail est destin e aux entreprises Celles ci peuvent aussi souhaiter personnaliser leurs d ploiement en fonction de diff rentes choses un ordonnancement particulier une pr f rence de types d application la bande passante disponible la s curit Il s agit alors de strat gies de d ploiement La d finition et la mise en uvre des strat gies sont trait es dans
65. d ploiement doit tre effectu Ceci permettrait alors de supprimer les choix de machines puisque chaque machine appartenant la structure devra faire partie du d ploiement le choix aura t effectu lors de la construction de la structure d entreprise Un telle construction permet aussi de ne consid rer que les groupes et sous groupes de machines n cessaires un d ploiement particulier et de leur appliquer les strat gies souhait es Ces strat gies pourraient alors tre s lectionn es lors de chaque nouveau d ploiement parmi une liste de l entreprise 9 SYNTHESE Dans ce chapitre nous avons d crit comment d finir et mettre en uvre des strat gies de d ploiement dans le cadre du d ploiement grande chelle pour les entreprises Une strat gie permet de personnaliser une activit de d ploiement en fonction d une contrainte impos e sur les unit s d ployer contrainte Unit s et d une contrainte impos e sur l entreprise contrainte Entreprise Les strat gies ont aussi t class es en diff rentes cat gories s lection ordonnancement ex cution Chaque cat gorie contient plusieurs types de strat gies qui sont d finis par leur position leur port e leur visibilit leur propagation et leur pr c dence Nous n avons 161 Chapitre 6 Un environnement de d ploiement orient strat gies pr sent que quelques types de strat gies comme par exemple les strat gies VERSIO
66. de G o aucune strat gie d ordonnancement n est indiqu e Un n ud and racine de la structure de plan est donc cr Ses fils sont cr s r cursivement en continuant le parcours de la structure d entreprise Au niveau de G1 il faut appliquer la strat gie SCZ qui indique que le d ploiement sur les machines M1 et M2 doit tre fait en parall le Un n ud parallel est donc cr Ses fils sont les plans de d ploiement unitaires qui correspondent au d ploiement de l unit U7 sur les machines M et M2 Au niveau de G2 aucune strat gie n est appliqu e un n ud and est cr L un de ses fils correspond au d ploiement unitaire de U7 sur M3 l autre de ses fils correspond au d ploiement sur le groupe G3 Au niveau de G3 la strat gie SC3 indique qu il faut d abord d ployer sur M5 puis sur M4 Un n ud ordered est donc cr avec pour fils ces deux d ploiements unitaires Figure 6 6 Structure de plan La Figure 6 6 pr sente la structure de plan qui est obtenue en appliquant les strat gies d ordonnancement SC et SC3 Il faut noter que lors de l ex cution de ce plan de d ploiement des choix d ordonnancement peuvent encore tre faits sur les n uds and Ces choix peuvent tre orient s par des strat gies d ex cution 152 Chapitre 6 Un environnement de d ploiement orient strat gies 6 GENERALISATION DEFINITION D UN LANGAGE DE DESCRIPTION DE STRATEGIES Les exemples
67. de de m ta Paquetages donn es EN 2 Adaptateur D ploiement Client Gestionnaire de Depl Gestionnaire de contexte de contexte de Services Middleware Infrastructure Sensible ay Contexte Figure 3 7 Architecture et tapes de d ploiement de la plate forme de d ploiement sensible au contexte 64 Chapitre 3 Etat de l art et de la pratique Les d positaires de paquetages et de m ta donn es contiennent les composants et les descripteurs n cessaires au d ploiement des applications et a leur adaptation au contexte Le composant Installateur permet l installation locale des composants sur un terminal utilisateur Le gestionnaire de contexte joue le r le de passerelle entre le service de d ploiement et l infrastructure sensible au contexte Il envoie ces informations l adaptateur de d ploiement L adaptateur de d ploiement analyse les contextes pertinents et d termine l assemblage de l application d ployer en utilisant les m ta donn es n cessaires Il applique ensuite des r gles d adaptation correspondant aux contextes v rifi s et produit un descripteur de d ploiement Enfin le d ployeur se charge de d ployer l application en utilisant le descripteur d assemblage produit Un algorithme de placement des composants sur les n uds a aussi t d fini BTA 05 La premi re partie de cet algorithme concerne la s lection et permet de choisir quelle
68. de la hi rarchie du site ce type d outils offre donc une vision entreprise du d ploiement 4 4 Discussion et synth se sur les outils commerciaux pour le d ploiement Le monde industriel propose diff rents types d outils qui se focalisent chacun sur un ou plusieurs aspects du d ploiement M me si le paragraphe pr c dent a pr sent bri vement quelques outils connus nous avons choisi de pr senter plus en d tails des outils offrant une vision grande chelle du d ploiement Les outils pour le d ploiement grande chelle proposent de r aliser le d ploiement et l administration d applications distance de mani re centralis e Il est alors n cessaire d avoir une vision globale du grand nombre de machines cibles Tivoli est int ressant pour sa vision entreprise et permet la planification du d ploiement Il permet aussi de r aliser des inventaires des configurations Il est alors possible de voir quelle s application s sont d j install es pour les mettre jour ou en installer de nouvelles par exemple Le point faible est le manque de flexibilit au niveau du proc d de d ploiement De son c t Rembo Auto Deploy utilise des sortes de strat gies de d ploiement En effet il est possible d associer des configurations sp cifiques des machines particuli res L utilisation de strat gies m rite cependant d tre tendue pour offrir plus de possibilit s l utilisateur De plus l u
69. de machines et peut ainsi facilement tre utilis par une entreprise Cette gestion s effectue de mani re centralis e distance depuis un serveur Cet outil utilise des images de disque pour d ployer des applications Ceci limite le d ploiement puisque chaque application doit tre d ploy e au moins une fois sur une machine de r f rence pour pouvoir r aliser l image du disque Cependant un avantage de cette technique est qu elle permet de partir d une machine compl tement nue et de d ployer le syst me d exploitation partir de son image Cette m thode est malheureusement r serv e au syst me d exploitation Windows puisqu elle utilise l un de ses outils De plus RAD permet le re d ploiement Cette activit n a pas t mentionn e pr c demment dans le cycle de vie du d ploiement cf paragraphe 4 du Chapitre 2 Cependant elle est particuli rement int ressante pour les organisations qui g rent un grand nombre de machines sans utilisateur attitr Les machines peuvent ainsi ais ment retrouver une image de base compatible avec le profil de chaque utilisateur Enfin l utilisation de r gles pour associer des configurations sp cifiques des machines particuli res est int ressante et peut s apparenter des strat gies de d ploiement En effet cette m thode permet d associer un type de machine ou ventuellement un type d utilisateur un type de configuration Cependant aucun moyen n est disponible po
70. descriptor is well formed RE DATA necessary for application deployment rrr Package contains file runDepend1 cma Package contains file runDepend2 cmd Figure 7 5 Construction et v rification d un package Cet outil permet de rassembler l ensemble de l information qui doit tre dans le package De plus lors de la construction du package la pr sence des fichiers n cessaires en fonction des outils de d ploiement utilis s dans le descripteur de d ploiement est v rifi e automatiquement L outil informe aussi l utilisateur sur les propri t s et les outils que devra avoir un site client sur lequel l application sera d ploy e Enfin un outil d j existant peut aussi tre utilis pour suivre l ex cution du proc d de d ploiement Il s agit de lagenda d APEL DEA98 qui est fourni avec le domaine de proc d utilis dans notre environnement de d ploiement Il permet de visualiser la progression du proc d de d ploiement et ventuellement de valider ou invalider certaines activit s manuellement L impl mentation de l ensemble de ces outils et notre environnement de d ploiement nous a conduit mener une exp rimentation avec un partenaire industriel 3 UNE EXPERIMENTATION INDUSTRIELLE DE ORYA VERSION 1 Afin d valuer l applicabilit de notre environnement de d ploiement nous avons r alis une exp rimentation avec l entreprise Actoll Dans cette partie nous pr senton
71. devTool Implem java Interface graph Type interface Implem c Type devTool Implem java Interface multimedia Type interface Implem java OS winXP win2000 Disk gt 132 Type interface Implem java OS e winXP win2000 OS e winXP win2000 OS e winXP win2000 Mem gt 256 Mem gt 256 Disk gt 114 Disk gt 98 ass depends mandatory p Spends replacement ____ Type devTool Implem java Interface graph OS winXP win2000 Mem gt 256 Disk gt 114 OS winXP win2000 OS winXP win2000 Disk gt 132 Disk gt 100 Figure 5 18 Structure d application des unit s de d ploiement disponibles Plusieurs unit s sans d pendances sont disponibles les unit s U U2 U3 et U4 Les unit s U5 U6 et U7 sont des unit s avec d pendances Pour US et U6 il s agit de d pendances obligatoires Quant U7 elle a une d pendance obligatoire vers V4 qui a elle m me une d pendance de remplacement vers 5 Ceci signifie que U7 sera d ploy e soit avec V4 soit avec X3 Pour d terminer quelles unit s sont d ployables sur quelles machines il suffit de v rifier les contraintes impos es par les unit s Pour cela ce sont les propri t s des machines qui sont utilis es Ainsi par exemple l unit U3 n est possible pour aucune des machines pu
72. dont les d pendances remplissent aussi cette contrainte font partie de l ensemble Vrai Les unit s qui remplissent la contrainte Unit s mais dont l une des d pendances ne la v rifie pas font partie de l ensemble Faux Lors de l interpr tation des strat gies il faut d terminer lequel de ces cas appliquer 8 EVALUATION DES CHOIX Nous avons d r aliser plusieurs choix classification d finition interaction pour d finir et mettre en uvre des strat gies de d ploiement Ceux ci pr sentent des avantages et des inconv nients 8 1 Interaction des strat gies L un des avantages des strat gies est de laisser beaucoup de possibilit s l utilisateur En effet gr ce la d finition d un langage de description de strat gie l utilisateur peut d finir lui m me les types de strat gies qui l int ressent Cependant peut tre trop de libert s sont laiss es puisqu il est difficile de g rer les diff rentes interactions qui peuvent exister lors de l application des strat gies Il est en effet difficile de savoir quelles strat gies sont appliqu es lors d un d ploiement parmi toutes celles qui ont t d finies Il serait envisageable de d finir une priorit entre les diff rentes strat gies appliquer Mais le cas reste sensiblement le m me lorsque deux strat gies de m me priorit sont applicables Il s agit ici des m mes inconv nients qui ont pu tre identifi s dans le ca
73. du plan proc d de d ploiement il est alors possible de tenter de r soudre des erreurs qui peuvent survenir en utilisant ces activit s secondaires et sans demander l intervention d un utilisateur La technologie des proc d s semble donc bien adapt e pour automatiser le proc d de d ploiement de contr ler son bon d roulement et g rer les erreurs qui peuvent se produire L apport principal des proc d s est l automatisation du traitement qui ne demande aucune intervention de l utilisateur 3 LA TECHNOLOGIE DES FEDERATIONS L interop rabilit est la capacit qu ont certains outils h t rog nes de fonctionner ensemble et de donner un acc s leurs ressources Plus formellement deux utilisateurs et B inter op rent si A demande un service B que B le comprend et peut le r soudre et inversement Ce concept implique donc l utilisation de concepts communs entre les diff rents utilisateurs impliqu s 109 Chapitre 5 ORYA mise en uvre des mod les et conception Les f d rations d outils ont t initialement con ues pour proposer une solution pour r soudre le probl me d interop rabilit ECB98 Elles se sont ensuite orient es vers une approche IDM Ing nierie dirig e par les mod les L id e est de construire des domaines autonomes et ex cutables IEV05 Dans ces domaines les concepts m ta mod le sont s par s de l impl mentation Ainsi les outils ou compo
74. e Le descripteur d une structure d entreprise est compos de 179 Chapitre 7 ORYA r alisation et valuation e Une activit de d ploiement deployActivity indique quelle activit doit tre effectu e installation mise jour e Un groupe de machines cibles cibleGroupName indique sur quelle s machine s le d ploiement doit tre r alis e Des noms d applications unitNameToDeploy indiquent quelles applications d ployer Comme nous nous sommes particuli rement int ress s au cas du d ploiement d une application sur un groupe de machines une seule application unitNameToDeploy sera utilis e La cible de d ploiement est repr sent e par un N ud Un N ud est identifi par son nom et peut tre un groupe ou une machine de l entreprise Chaque N ud est associ une structure d application unitesPossibles et un ensemble de strat gies locales ocalStrategy et ou h rit es heritedStrategy Le structure d application type DeployUnitsStruct est compos e d un ensemble d unit s possibles Chaque unit type UnitNode est identifi e par son nom et sa version Elle est d crite par des propri t s property impose des contraintes constraint et a des d pendances obligatoires mandatory dependancy Le descripteur de la structure d entreprise est cr au moment o un d ploiement est demand par l administrateur Il permet de rassembler l information traiter
75. e information sur les ressources n cessaires espace disque processeur syst me d exploitation Le proc d de r solution des d pendances d pend du type de d pendance Plusieurs types de d pendances sont d finis e AND la d pendance est obligatoire Cela signifie qu une entit en a besoin d une autre pour s ex cuter e NOT il existe un conflit Dans ce cas deux entit s ne peuvent pas cohabiter sur une m me cible e OR une ou plusieurs entit s peuvent tre s lectionn es en m me temps e XOR deux entit s peuvent tre s lectionn es mais pas en m me temps A partir de ces informations un algorithme de d ploiement peut tre d fini L algorithme est divis en deux phases r solution des d pendances et ex cution La phase de r solution des d pendances est d crite par la Figure 3 8 Pour r soudre les d pendances l algorithme commence par lire le descripteur de d ploiement de l unit de d ploiement Ensuite l tat de la plate forme est analys Si l entit service dans le cas d OSGi requise est d j install e le proc d de d ploiement est termin Si l entit n est pas install e ou si ce n est pas la derni re version qui est install e les d pendances sont lues S il y a des d pendances elles sont ajout es la structure de donn es qui permet de stocker l information collect e La phase suivante consiste ensuite r soudre les conflit
76. effet nous avons trait le cas ou la m me application est d ploy e sur plusieurs machines mais le cas des applications distribu es est diff rent Il s agit alors de d ployer une seule application sur plusieurs machines qui coop rent Dans ce cas lorsque le nombre de machines cibles est tr s grand le syst me devient difficilement g rable Il est par exemple difficile de d finir des strat gies de d ploiement pour toutes les machines et de savoir quand appliquer quelle s strat gie s Il est alors n cessaire de revoir l architecture du syst me que nous avons propos e pour ajouter des niveaux interm diaires En ajoutant des niveaux interm diaires il s agit de g n raliser la notion de serveur de d ploiement Le d ploiement se passe alors plusieurs niveaux L information de d ploiement est tout d abord transmise depuis un producteur jusqu une passerelle Cette information peut tre transmise directement transfert de donn es ou indirectement annonce de la disponibilit avec mention d une URL La passerelle g re ensuite elle m me un ensemble de cibles finales C est donc au niveau de la passerelle que le d ploiement va tre trait A ce niveau la d cision de distribuer l application peut par exemple tre prise Il peut aussi se produire diff rentes v rifications de compatibilit entre l application disponible et les cibles g r es par la passerelle Un ensemble d interm diaires peu
77. en Mn 62 SS RES OU VAM im RS rt RP sem n ta baa Ten nee ue nn def n tite 65 3 4 DISCUSSION ET SYNTH SE SUR LES ENVIRONNEMENTS DE D PLOIEMENT ISSUS DE LA REGHER GEE AEA cette ns ln ont diapo rene trente son set een tn sate sete cee ad dre ee ee res s Led 68 4 DES OUTILS COMMERCIAUX POUR LE D PLOIEMENT sccccssccsscccsccccccccccccccccccccescceececeecee OD As PIV OUT ONAR EA A RU E NS EE RE TE TP ER Er LANTERNE 69 49 REMBO AUTO DEPLOY airen net aa nt Le Minis nie diet 71 4 3 AUTRES OUTILS DE D PLOIEMENT cccccccccssssesssccceecceesseeescceeseesessssueesceeceseseassssesesceeees 75 4 4 DISCUSSION ET SYNTH SE SUR LES OUTILS COMMERCIAUX POUR LE D PLOIEMENT LT CHAPITRE 4 UN MODELE GENERIQUE POUR LE DEPLOIEMENT D APPLICATIONS A GRANDE ECHELLE ccsssssssssssssssssssssssssssssssssssssessssssesessesees 19 1 INTRODUCTION NOTRE APPROCHE scccccccssssscccccssssccccscssscccsscsccccesscsccecsccccccscscccceesscseree OL 2 MOD LISATION DES INFORMATIONS LIEES AU DEPLOITEMENT cccccssssossossccesscesssceessessseee D2 2 1 CONCEPTS LIES LA STRUCTURE DE L ENTREPRISE sssseeeecccceceeessssssescccceseeeusseeeseesees 83 2 2 CONCEPTS LIES A LA DESCRIPTION DES MACHINES ccssescccceeeecccsceeesccsseeseeseseuesssseuaness 85 2 3 CONCEPTS LIES LA DESCRIPTION DU PRODUIT DEPLOYER cccsssecccsesseecssseesesseeeeees 87 3 D PENDANCES ENTRE UNITES DE DEPLOTEMENT cccccssssssssssssssss
78. en cas d erreur lors d une tape d installation les tapes de retour arri re sont r alis es afin de restaurer le site client dans son tat initial tat coh rent Enfin la derni re tape Terminate permet de nettoyer les r pertoires temporaires du site client utilis s lors des activit s pr c dentes 2 2 D finition des mod les Pour repr senter l tat des machines impliqu es dans la f d ration nous utilisons un fichier XML Xml repr sentant le mod le de site et disponible sur chaque machine cliente Dans ce fichier est indiqu le type de la machine serveur d applications ou site client Pour les serveurs d applications la liste des packages disponibles est mentionn e Pour les sites clients l ensemble des applications d ploy es et leurs informations nom version URL et d pendances est donn Dans cette premi re version les propri t s ne sont pas utilis es pour le d ploiement mais des chemins de d ploiement sont disponibles Dans cette impl mentation un seul serveur de d ploiement est utilis il s agit du serveur de la f d ration aucun mod le n est donc d fini pour ce type de machine Pour le concept d application nous utilisons un mod le d application stock au format d un fichier XML Ce descripteur est aussi limit sa plus simple forme Il contient le nom et la version de l application ainsi que URL laquelle elle est disponible Il contient aussi la l
79. entit s La structure est hi rarchique c est dire qu un groupe peut tre compos de sous groupes et ou de machines Ces groupes ont chacun des caract ristiques individuelles machines appartenant au groupe et strat gies appliquer La Figure 4 3 illustre le m ta mod le des concepts li s un groupe et donc une entreprise Un groupe est caract ris par son nom et peut tre compos de sous groupes et ou machines Une machine peut appartenir plusieurs groupes De m me un groupe peut tre sous groupe de plusieurs groupes Cependant il ne peut pas y avoir de relation cyclique entre les groupes en repr sentant la structure hi rarchiques des groupes et sous groupes de l entreprise on obtient un graphe non cyclique 83 Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle Group from Logical View VaenerateDeploymentPlani VexecuteDeploymentPlan don in applyGroupStrategy containgMachine Strategy from Logical View amp gt expressionLogique String amp SdeploymentActivity deployActivityType choice String containsSubGroup Machine from Logical View bppiyMachineStrategy Figure 4 3 M ta mod le de groupe A ce niveau il est possible de s lectionner une unit ou un ensemble d unit s de d ploiement d ployer sur un sous ensemble de machines ou une seule machine Il est aussi possi
80. est possible de conna tre quel application est install e sur quelle machine et de conserver la coh rence de chaque machine ou ensemble de machines On peut ainsi assurer par exemple qu un groupe de d veloppeurs utilisent la m me version d un compilateur Pour simplifier la t che des administrateurs les producteurs d applications fournissent un ensemble de packages l entreprise Un package regroupe l ensemble des donn es concernant l application et les informations utiles pour son d ploiement Un package peut servir une ou plusieurs activit s de d ploiement Il contient toute l information n cessaire au d ploiement et la mani re de l utiliser C est ensuite l entreprise d utiliser ces donn es comme elle le souhaite Pour d finir quelles probl matiques entrent en jeu lors du d ploiement dans le paragraphe suivant nous citons les diff rentes tapes n cessaires au d ploiement d une application 3 LES ETAPES D UN DEPLOIEMENT Le processus de d ploiement permet d installer et de g rer l application CE99 A nsi on g re l application depuis son installation jusqu sa d sinstallation compl te des sites utilisateurs Dans cette partie nous commen ons par pr senter les concepts essentiels la compr hension du d ploiement Ainsi nous d crivons les activit s effectuer pour r aliser un d ploiement 3 1 Composition d une application Lorsqu un client est int ress p
81. faut aussi traiter une probl matique qui est absente de ces trois approches administration du d ploiement au niveau entreprise Ce niveau permet d ajouter des strat gies de d ploiement et de personnaliser le d ploiement Les trois approches que nous avons pr sent es prennent en compte des contraintes au niveau des unit s de d ploiement applications et ou composants mais ne consid rent pas les contraintes qui peuvent tre ajout es par l entreprise cible de d ploiement La gestion de strat gies de d ploiement permet alors de prendre en compte de telles contraintes 4 DES OUTILS COMMERCIAUX POUR LE DEPLOIEMENT Plusieurs outils commerciaux de d ploiement sont disponibles Chacun d eux fournit des services vari s et propose un niveau d abstraction diff rent Dans cette partie nous pr sentons bri vement deux outils dont l objectif principal est le d ploiement grande chelle dans une entreprise Tivoli et Rembo Auto Deploy Nous terminons ensuite cette partie en discutant autour d autres outils du commerce ayant des objectifs plus ou moins cibl s 4 1 Tivoli Tivoli Tivoli est un environnement de d ploiement et d administration propos par IBM Ibm pour g rer des r seaux et applications Cet environnement propose plusieurs outils r alisant chacun des taches particuli res Nous pr sentons ici trois d entre eux utiles pour le d ploiement d applications 4 1 1 Le gestionnaire de configuration
82. finit les tapes r aliser pour d ployer un ensemble de produits versions d un produit sur un ensemble de machines cibles L ensemble des informations tant mod lis il est alors possible de le g n rer automatiquement Un plan de d ploiement peut encore contenir certains degr s de libert s si l utilisateur a d cid de r aliser les choix ventuels le plus tard possible Par exemple l ordonnancement entre les diff rents d ploiements unitaires une version d un produit sur une machine peut tre d termin au moment de l ex cution du plan en fonction de la charge de chaque machine cible Notre objectif est de fournir un environnement pour le d ploiement automatis d applications grande chelle Cet environnement doit tre le plus g n rique possible pour pouvoir d ployer tout type de produit sur n importe quel environnement cible Il doit aussi prendre en compte les strat gies de l entreprise pour construire un plan de d ploiement qui permet de d ployer un ensemble d applications sur un ensemble de machines La section suivante d crit la d marche que nous avons suivie pour atteindre ces objectifs 3 DEMARCHE SUIVIE Pour automatiser le d ploiement un ensemble d informations doit tre mod lis Pour cela nous avons choisi une approche bas e sur l ing nierie dirig e par les mod les Fav04 Nous d finissons alors un m ta mod le de d ploiement le plus g n rique possible Un te
83. l entreprise peut par exemple favoriser le d ploiement des unit s impl ment es en java ou forcer le d ploiement de la m me version sur toutes ses machines Dans ce deuxi me cas il faut trouver une version qui soit compatible avec les configurations de toutes les machines 3 2 Transfert de l application Pour transf rer l application du producteur vers le client il y a deux modes Figure 2 4 28 Chapitre 2 Le d ploiement concepts et contexte de travail e La technique du push c est le producteur qui d cide d envoyer l application au client lorsqu il le d sire Dans ce cas le client s est inscrit auparavant une liste de diffusion e La technique du pull c est le client qui d cide de l instant o il voudra transf rer l application sur son site Ceci lui permet aussi une plus grande s curit sur son site Cette technique s appuie sur le concept de serveur d applications qui met un ensemble de versions d applications disposition des clients g Push B eae Producteur Pull Client Figure 2 4 Modes de transfert d un produit Nous avons pr sent ces techniques de transfert comme une relation entre le producteur et un client Mais cette relation peut aussi s appliquer entre le producteur et une entreprise qui g re ensuite elle m me les transferts vers les machines clientes concern es Cette relation peut donc aussi avoir lieu entre un serveur d appli
84. l application U sur les machines du groupe Ad le Chapitre 5 ORYA mise en ceuvre des mod les et conception Avant l application des strat gies il n est pas possible d tablir l ordre de d ploiement entre les diff rents plans unitaires la racine de l arbre est donc simplement un n ud de type and Au niveau inf rieur on retrouve ensuite un n ud xor qui indique quelles unit s sont possibles pour chaque machine Lorsqu une unit a des d pendances obligatoires un n ud and indique le d ploiement de l unit et de sa d pendance Les d pendances s lectives sont quant elles exprim es par un n ud xor 8 SYNTHESE Diff rentes technologies peuvent tre utilis es pour r aliser le d ploiement La technologie des proc d s permet de structurer et d automatiser les diff rentes tapes du d ploiement Elle permet aussi de g rer les cas o des erreurs se produisent La technologie des f d rations quant elle permet de lier les concepts des diff rents domaines utilis s dans le d ploiement Elle apporte aussi de la flexibilit aux entreprises puisque cette technologie peut tre utilis e avec des mod les sp cifiques diff rents Notre environnement de d ploiement ORY A est bas sur l utilisation de ces technologies Les concepts du d ploiement ont t r partis en diff rents domaines ventuellement d j existants La composition de ces diff rents domaines forme le domaine de d ploiement
85. le domaine d entreprise et de site cible relation 1 de la Figure 5 8 se fait entre les concepts de machine En effet le domaine d entreprise contient les concepts de groupe et machine Celui de site cible permet de d crire une machine avec ses propri t s et les unit s qui y sont d ploy es La relation correspondance entre les domaines de site cible et de produit relation 2 de la Figure 5 8 se fait au travers de la notion d unit et de r vision Le domaine de produit permet de d crire un produit avec ses diff rentes branches et r visions M me si ces concepts ne sont pas utiles dans le domaine de d ploiement ce domaine peut permettre de g rer la partie serveur d applications En effet dans le domaine de d ploiement seule la notion d unit est utilis e mais pour le producteur il est int ressant de pouvoir g rer les diff rentes volutions de son produit La relation association UML entre les domaines de produit et d activit relation 3 de la Figure 5 8 se fait au travers de la relation entre une r vision et une activit Le domaine d activit permet de d crire les proc d s Il est utilis pour repr senter le plan de d ploiement d une unit de d ploiement La composition entre les domaines d activit et de produit d finit d j le domaine d APEL qui impl mente un moteur de proc d Le domaine d activit est en r alit plus complexe une partie a t cach e pour si
86. les connexions directes entre les participants niveau impl mentation par des connexions entre les concepts des mod les conceptuels des deux domaines Figure 5 5 Ainsi lorsqu un utilisateur veut cr er une nouvelle application avec des concepts d j existants il peut r utiliser ses concepts en composant des domaines EIVOS sans toucher aux l ments logiciels participants sp cifiques chaque domaine Domaine 1 Domaine 2 Lien s mantique lt Mod le conceptuel T R alisation R alisation Participant Participant H ie ORES Participant Participant Figure 5 5 Lien entre domaines Par exemple pour une application de gestion documentaire les domaines de proc d et de document seront compos s pour cr er le domaine de l application globale De plus deux types de composition peuvent exister 111 Chapitre 5 ORYA mise en ceuvre des mod les et conception e Une composition horizontale lie deux concepts de haut niveau issus des domaines conceptuels Lien s mantique de la Figure 5 5 e Une composition verticale permet de lier un concept de haut niveau la mani re de le r aliser liaison entre un domaine conceptuel et sa r alisation 3 3 Niveau concret les concepts de base Les concepts communs constituent lunivers commun EVCO1 b qui permet aux l ments logiciels de se synchroniser donn es et tat L univers commun
87. les n uds des fichiers et r pertoires de l application 61 Chapitre 3 Etat de l art et de la pratique 3 1 4 Conclusion M me si l outil Software Dock ne permet pas de personnaliser enti rement le d ploiement d un logiciel pas de choix au niveau des outils utilis s pas de strat gies de d ploiement il a quelques points forts En effet il offre la possibilit de choisir une configuration particuli re du logiciel De plus il permet d exprimer un grand nombre de contraintes mat rielles liste extensible et de g rer les contraintes logicielles d pendances avec le mod le d application Il offre aussi la possibilit de reconfigurer un logiciel ou de v rifier sa coh rence Parmi les points faibles on peut citer qu il n y a pas de notification et que la planification d une installation n est pas possible De plus un package est toujours destin un seul utilisateur on aurait appr ci de pouvoir utiliser la notion de groupe de machines 3 2 CADeComp Depuis quelques ann es PINT d Evry Int s int resse au d ploiement automatique d applications multi composants ATB03 ATB04 Leur approche CADeComp s int resse particuli rement au d ploiement d applications sensibles au contexte Pour l tudier nous pr sentons d abord le contexte de travail Nous d finissons ensuite la sensibilit du d ploiement au contexte Enfin nous pr sentons l architecture et le mod le de donn es utilis
88. mat rialise les concepts partag s entre les participants d une mani re qu ils comprennent tous La coordination coh rence des concepts entre les participants est traduite par la synchronisation de l tat de leurs instances avec l instance du concept partag dans l univers commun et inversement Lorsqu un l ment logiciel participant existant est utilis dans une f d ration il ne doit peut g n ralement pas tre modifi un adaptateur permet alors de faire le lien entre les concepts communs univers commun et les concepts utilis s par le participant composition verticale De plus pour permettre diff rents participants d inter op rer entre eux sans se conna tre le concept de r le est introduit Un r le repr sente une abstraction des fonctionnalit s d un participant Ainsi lorsque cela est n cessaire un participant peut faire appel un autre par l interm diaire de son r le Un r le a e une interface qui regroupe les m thodes fournies par le r le e des droits qui lui permettent d appeler des m thodes de l univers commun et d couter les v nements qui sont mis e la possibilit d mettre des v nements Plusieurs participants peuvent remplir le m me r le c est dire que plusieurs outils peuvent fournir les m mes services Dans le cas o plusieurs outils sont disponibles un seul est choisi pour tre utilis Un participant peut aussi remplir plusieurs r
89. me si nous avons choisi le terme de machine une cible peut tre un PC un ordinateur portable ou m me une grappe Dans ce dernier cas la grappe est consid r e comme une cible unitaire pour le d ploiement m me si d autres op rations seront ventuellement r alis es localement Enfin le mod le d entreprise a pour concept principal la notion de groupe Il est obtenu partir du mod le d entreprise d j d fini en termes d quipes de d partements d utilisateurs etc Si aucun mod le d entreprise n est disponible un mod le contenant l information n cessaire au d ploiement est d fini S il est obtenu partir d un mod le existant il peut s agir d une simple mise en correspondance de concepts par exemple un d partement est un groupe Il peut aussi s agir d un calcul plus complexe Par exemple certaines cibles peuvent tre supprim es du mod le initial dans ce cas elle ne feront pas partie des cibles de 114 Chapitre 5 ORYA mise en ceuvre des mod les et conception d ploiement La structure hi rarchique groupes et sous groupes de l entreprise peut aussi tre modifi e adapt e pour le d ploiement etc 4 2 R utilisation de domaines issus des f d rations Plusieurs domaines ont d j t d finis dans l approche des f d rations Ils sont donc disponibles pour tre r utilis s Ainsi nous choisissons de r utiliser les domaines de produit Product Domai
90. moire Il faut tre capable de r pondre ces nouvelles configurations en adaptant le d ploiement la situation par exemple en reconfigurant un produit En outre pour assurer que les produits d ploy s fonctionneront correctement il faut tudier les contraintes qu ils imposent et les relations entre les diff rents produits et savoir r soudre les d pendances entre eux Il faut aussi ventuellement savoir r soudre des probl mes d incompatibilit entre les produits Les produits pouvant tre des applications client serveur ou des applications distribu es il faut aussi g rer les relations entre les machines Enfin il faut pouvoir r pondre aux besoins des entreprises qui tentent de trouver des solutions ad hoc CVC 04 pour leurs probl mes de d ploiement Pour cela nous utilisons une architecture a trois niveaux Chacun des niveaux a des fonctions pr cises Le niveau producteur est charg de mettre disposition les produits avec l information qui les concerne 49e Chapitre 2 Le d ploiement concepts et contexte de travail Le niveau entreprise pr pare le d ploiement vers les machines cibles Le niveau utilisateur est le niveau o les produits sont d ploy s concr tement puis utilis s Ces trois niveaux utilisent un ensemble d informations structur es en plusieurs mod les de donn es Le mod le de produit d crit le produit d ployer Le mod le d entreprise repr sente la structure de
91. n cessaires au d ploiement Chacun de ces mod les est obtenu d une mani re diff rente La quatri me partie celle concernant le plan de d ploiement est celle que nous produisons partir des informations des autres domaines et plus particuli rement en appliquant des strat gies de d ploiement Le mod le de produit dont le concept principal que nous aurons manipuler est celui d unit de d ploiement est obtenu lors du packaging de l application et de sa mise disposition sur un serveur d applications Le mod le de produit est fourni par le producteur Il peut tre fourni sous une forme complexe mais contient l ensemble de l information n cessaire pour construire le mod le de produit utilis dans le contexte du d ploiement A ce moment l est aussi fourni le plan de d ploiement unitaire indiquant le proc d de d ploiement de l unit Le plan de d ploiement global qui sera ensuite calcul lorsqu un d ploiement sera demand au niveau de l entreprise utilisera le plan de d ploiement unitaire de l unit Dans le mod le de site cible le concept principal est celui de machine Ce mod le est obtenu partir du mod le de site qui d crit chaque machine Il peut lui aussi tre tr s complexe mais contient au moins l information n cessaire Ce mod le peut aussi tre obtenu par introspection de la machine si des outils sont disponibles pour r aliser cette op ration Il faut rappeler que m
92. ne peuvent pas tre imbriqu s En effet la strat gie concerne toutes les machines et sous groupes du n ud auquel est accroch la strat gie Ainsi soit tous les fils du n ud sont num r s dans la liste listeMachinesOuGroupes soit un entier indique le nombre de fils sur lesquels doivent tre d ploy s l unit 6 2 3 D finition des m thodes d interpr tation Pour pouvoir utiliser un nouveau type de strat gie il faut d finir la m thode qui permet de l interpr ter et de traiter les contraintes sur les unit s et l entreprise Nous d finissons ici bri vement une structure d algorithme qui permet d interpr ter les deux types de strat gies d finis dans les exemples Exemple 8 Interpr tation des strat gies de type VERSION DROITS Interpr tationVdroits EnsVrai lt Unit sV rifContrainte Unit s Unit sPossibles EnsFaux lt Unit sNonV rifContrainte Unit s Unit sPossibles Selon contrainte Entreprise NEVER choisir EnsFaux 156 Chapitre 6 Un environnement de d ploiement orient strat gies ALWAYS choisir EnsVrai IF AVAILABLE si EnsVrai vide alors choisir EnsVrai sinon choisir EnsFaux L interpr tation des strat gies VERSION DROITS consiste s parer l ensemble Vrai et l ensemble Faux Selon le mot cl utilis dans la contrainte Entreprise c est l un ou l autre de ces deux ensembles qui est s lectionn Exemple 9 Interpr tation des strat gies de type CH
93. nous avons choisi de repr senter une contrainte par un triplet lt Activit DeD ploiement ExpressionLogique Action gt L expression logique ExpressionLogique est une expression utilisant des noms et valeurs de propri t s que doit avoir une machine cible ventuelle Si cette expression est v rifi e c est dire son valuation donne vrai la contrainte est v rifi e et l action Action devra tre r alis e apr s le d ploiement de l unit associ e De plus une m me unit de d ploiement peut tre utilis e au cours de plusieurs activit s du cycle de vie du d ploiement Par exemple la m me unit peut tre utilis e pour une premi re installation du produit ou pour une mise jour du produit d j d ploy Dans ce cas certaines contraintes peuvent n tre associ es qu l une de ces activit s Dans le triplet pr c dent le champ Activit DeD ploiement indique ainsi lors de quelle activit du d ploiement la contrainte doit tre prise en compte Par exemple si une contrainte indique INSTALL pour le champ Activit DeD ploiement elle ne sera prise en compte que lors d une installation de l unit 5 2 Diff rents types de contraintes Les contraintes associ es aux unit s de d ploiement peuvent exprimer des choses compl tement diff rentes Dans le mod le de l OMG Omg04 les contraintes ont t class es en plusieurs cat gories e Les contraintes de type Quantit expriment u
94. nous avons vu que le m ta mod le de d ploiement comporte des donn es relevant de th mes diff rents C est pourquoi il est important de cr er le domaine au sens f d rations de d ploiement partir de plusieurs autres domaines Ainsi comme l indique la Figure 5 7 le domaine de d ploiement est cr a partir de l association EIV05 des domaines d entreprise de site cible de produit et d activit proc d La composition de tous ces domaines entre eux forme le domaine de d ploiement Pour former le domaine de d ploiement il faut aussi ajouter un nouveau concept celui de strat gie Le concept de strat gie est ainsi trait diff remment et ind pendamment des donn es d entreprise En effet les entreprises ne mod lisent pas forc ment des strat gies dans leurs donn es Ainsi le domaine d entreprise concerne essentiellement la structure de l entreprise groupes et machines Le concept de strat gie appara t alors comme un concept mergeant du d ploiement Cette vision permet alors de faciliter la r utilisation de mod les d entreprises avec ou sans strat gies d j existants 115 Chapitre 5 ORYA mise en ceuvre des mod les et conception D ploiement Figure 5 7 Domaine de d ploiement La Figure 5 8 illustre la composition entre les diff rents domaines que nous venons de citer Elle indique aussi les diff rentes relations entre ces domaines La relation correspondance entre
95. par une s rie de transformations de mod les les diff rents domaines peuvent tre sp cialis s adapt s selon les besoins de l entreprise Ainsi par exemple les informations sur la structure de l entreprise utilis es pour le d ploiement peuvent tre obtenues partir des donn es du mod le d entreprise nterprise Group Team Group Computer Machine User Group Figure 5 9 Mod le d entreprise La Figure 5 9 repr sente un exemple de mod le d entreprise Nous d finissons les correspondances suivantes avec les concepts du m ta mod le de d ploiement Figure 4 3 e Les concepts d entreprise Enterprise d quipe Team et d utilisateur User du mod le d entreprise appartiennent tous au type groupe du m ta mod le de d ploiement Les relations de composition sont conserv es avec la hi rarchie de groupes et sous groupes e Le concept d ordinateur Computer du mod le d entreprise est de type machine Il faut cependant noter que la simple relation du mod le d entreprise entre les concepts d utilisateur et de machine est transform e en relation d agr gation dans le m ta mod le de d ploiement En effet pour le d ploiement l information int ressante est qu un groupe utilisateur contient un ensemble de machines et non qu un utilisateur utilise plusieurs machines 118 Chapitre 5 ORYA mise en ceuvre des mod les et conception Compu
96. peuvent tre d finies comme instances de ces mod les Puis le niveau impl mentation de l approche f d rations Figure 5 4 permet de d finir Punivers commun et les diff rents r les et outils n cessaires Ce niveau sera pr sent dans le chapitre sur la r alisation d ORYA 5 STRUCTURES DE DEPLOIEMENT Pour r aliser les diff rentes tapes du d ploiement des structures de donn es servent rassembler l information qui est n cessaire et qui est extraite des instances issues des concepts du d ploiement Ainsi nous d finissons tout d abord deux structures e La structure d entreprise permet de repr senter l environnement cible e La structure d application permet de rassembler les diff rentes unit s de d ploiement possibles Chacune de ces structures est associ es un d ploiement pr cis d un ensemble d unit s de d ploiement sur n machines Ainsi la structure d application indique quoi d ployer et la structure d entreprise indique o d ployer L tude de ces deux structures permet ensuite de construire la structure de plan qui repr sente le plan de d ploiement global 120 Chapitre 5 ORYA mise en ceuvre des mod les et conception 5 1 Structure d entreprise La structure d entreprise est bas e sur un sous arbre du mod le d entreprise complet Elle repr sente l ensemble des groupes et machines sur lesquels le d ploiement se produit La Figure 5 13 montre comment
97. plan de d ploiement qui indique quand un utilisateur aura telle version du produit en fonction de sa position dans l entreprise Il reste alors 37 Chapitre 2 Le d ploiement concepts et contexte de travail d ployer concr tement l application entreprise sur les machines clientes en fonction des informations fournies par le plan de d ploiement 5 3 Niveau utilisateur A ce niveau le mod le de machine donne les informations sur la configuration logicielle et mat rielle du site client Le d ploiement concret s effectue en plusieurs tapes la configuration la mise disposition le transfert et l installation La configuration consiste choisir les options convenables pour l installation en fonction de l information fournie par le mod le de machine Lors de la mise disposition le produit est pr t tre d ploy sur la machine de l utilisateur Le transfert est l tape o le produit est transport sur le site client g n ralement sous forme de package Enfin le produit est install en suivant les indications donn es par le plan de d ploiement Apr s l installation du produit on doit aussi consid rer toutes les autres activit s du cycle de vie du d ploiement comme la mise jour l adaptation ou la reconfiguration Pour g rer ces activit s il peut nouveau tre n cessaire de contacter le producteur afin d obtenir de nouvelles informations donn es ou plans de d ploiement 5 4 Org
98. ploiement machine cible gt Les diff rents n uds expriment les s mantiques suivantes Parallel l ex cution des plans repr sent s par les fils doit se faire en parall le c est dire que les diff rentes ex cutions doivent d buter en m me temps et aucune tape ne peut d buter avant la fin des d ploiements en parall le Le d ploiement est alors r alis de mani re synchronis et peut par exemple tre utilis pour le d ploiement d applications distribu es Dans l exemple de la Figure 5 16 l ex cution de PS est faite en parall le avec l ex cution du plan repr sent par le sous arbre de gauche Ordered l ex cution des plans fils est ordonn e elle est r alis e depuis le fils gauche jusqu au fils droit Dans l exemple de la Figure 5 16 pour le sous arbre dont la racine est le n ud ordered le plan repr sent par le sous arbre de gauche s ex cute avant P4 And l ordre d ex cution des plans fils n est pas impos ce stade Ce degr de libert peut ventuellement tre utilis pour satisfaire d autres strat gies de d ploiement par exemple selon l accessibilit des sites cibles au moment de l ex cution intervenant lors de l ex cution du plan Dans l exemple de la Figure 5 16 pour le sous arbre dont la racine est le n ud and les plans P2 P3 et celui repr sent par le sous arbre de gauche peuvent s ex cuter dans n importe quel ordre Xor un seul
99. plus importantes et impliquer la d sinstallation de l ancienne application pour installer la nouvelle version Dans les deux cas il faut suivre le plan de d ploiement indiqu par le producteur et fourni avec les donn es n cessaires dans le package de la nouvelle version de l application Apr s avoir effectu les modifications indiqu es par le producteur l application peut nouveau tre activ e Figure 2 6 32 Chapitre 2 Le d ploiement concepts et contexte de travail La mise a jour peut aussi s effectuer de fa on dynamique c est l activit d adaptation dynamique non mentionn e dans la Figure 2 5 KB03 La mise jour s impose lorsque l arr t de l application pour effectuer des modifications n est pas souhaitable MH01 Ceci est vrai pour certains types d applications comme e les applications haute disponibilit comme les services de commerces lectroniques et les applications bancaires e les applications utilis es dans les domaines critiques et temps r el Fab76 SF93 comme les applications de contr le industriel et les services de t l communications e les applications embarqu es AM00 dans des quipements distants ou mobiles e les applications complexes dont l arr t est co teux Pour ce type d applications la mise a jour doit avoir lieu dynamiquement au cours de l ex cution KBC02 Cette activit n cessite un important travail de pr paration et des
100. possible d indiquer que la s lection doit tre termin e avant de commencer l ordonnancement ou que certaines strat gies de s lection peuvent encore tre consult es lors de l ordonnancement 8 2 Structure de plan et structure d entreprise Des choix ont aussi t effectu s au niveau du plan de d ploiement Nous avons vu que des degr s de libert peuvent encore tre pr sents dans le plan de d ploiement global au moment o son ex cution d bute Cependant nous avons restreint les choix par un n ud xor dans la structure de plan Pour simplifier la s lection de l un des plans de d ploiement unitaires couple lt machine unit gt nous avons forc la s lection des unit s la fin de l tape de s lection Ceci implique que sur un n ud xor le choix doit tre fait en fonction des caract ristiques des machines et non des unit s Les seuls degr s de libert accord s au plan de d ploiement concernent alors l ordonnancement et de choix de cibles Pour que les degr s de libert concernent aussi la s lection des unit s il faudrait d finir un nouveau type de n ud dans la structure de plan Ces n uds permettraient d exprimer le choix faire et d indiquer s il doit tre fait sur les unit s de d ploiement ou sur les machines cibles Nous pourrions aussi imaginer que la structure d entreprise est construite partir de strat gies Elle serait alors exactement la structure sur laquelle le
101. que nous avons pr sent s correspondent aux strat gies que nous avons identifi es pour r pondre aux principaux probl mes principaux de d ploiement que nous avons rencontr s lors de collaborations industrielles Pour plus de flexibilit et pour pouvoir d finir n importe quel type de strat gie nous proposons un langage de strat gie Pour cela nous d crivons la grammaire BNF correspondante puis nous donnons quelques exemples permettant de la valider 6 1 Grammaire du langage de strat gies Une strat gie poss de des caract ristiques qui sont d finies au niveau de son type Nous commen ons donc par d finir ce que repr sente un type de strat gie 6 1 1 Type de strat gie Un type de strat gie est repr sent par son nom nomType qui est un simple identificateur sa cat gorie l ensemble de ses caract ristiques position visibilit propagation et pr c dence et son interpr tation lt typeStrat gie gt lt nomType cat gorie position visibilit propagation pr c dence interpr tation gt L interpr tation de la strat gie correspond a la mani re d appliquer la strat gie et n est pas d finie ici il s agit d crire la m thode qui permet d appliquer la strat gie en fonction des contraintes d unit s et d entreprise Les strat gies de d ploiement peuvent se d composer en deux niveaux e Le niveau D claration d finit les contraintes impos es par l entreprise Il r
102. rations de configuration peuvent aussi tre programm es L ensemble des op rations peut tre lanc et contr l distance avec la console de gestion propos e par l outil 4 2 1 1 Techniques de clonage Plus en d tails RAD assemble des configurations d ordinateurs cibles partir de blocs de construction vari s Le premier bloc comporte l image du syst me d exploitation Ce bloc est Ti Chapitre 3 Etat de l art et de la pratique une copie du contenu du disque d un ordinateur de r f rence Cette copie est pr par e en utilisant l outil de pr paration de syst me de Microsoft SYSPREP SysP Les autres blocs de construction sont des packages logiciels L image du syst me d exploitation et les images des applications sont ensuite combin es et crites sur le disque dur en utilisant les techniques de clonage de Rembo RCI 4 2 1 2 D ploiement grande chelle Diff rentes configurations de machine peuvent tre d ploy es simultan ment sur un ensemble de machines Un protocole de transport multicast crypt est alors utilis Le multicasting permet d optimiser l utilisation du r seau puisque les fichiers n cessaires plusieurs machines sont envoy s une seule fois au lieu d tre envoy s individuellement De plus pour r duire l espace disque n cessaire pour stocker les diverses images de disque utilis es des copies multiples du m me fichier ne sont conserv es qu une seule fois dans le d p t L
103. rifier les contraintes de chaque unit de la structure d application et supprimer les unit s dont les contraintes ne sont pas v rifi es e Sur tout type de n ud machine et groupe Appliquer les strat gies de s lection li es au n ud sur la structure d application e Etape 3 Ex cuter les tapes 2 et 3 r cursivement pour chaque fils du n ud sur une copie de la structure d application jusqu atteindre un n ud machine Une fois cette tape r alis e une structure d application est associ e chaque n ud de la structure d entreprise Elle repr sente l ensemble des unit s possibles pour le n ud 5 1 2 Cr ation et ordonnancement du plan de d ploiement Une fois que toutes les unit s de d ploiement sont s lectionn es on sait quelle unit ira sur quelle machine En pratique la structure d entreprise contient l information n cessaire pour construire graduellement la structure de plan Au niveau des n uds interm diaires groupes des strat gies permettent d tablir un ordre de d ploiement partiel ou total De plus au niveau des n uds machine les couples lt unit machine gt peuvent tre cr s partir de la structure d application associ e au n ud Il reste alors ordonner l ensemble de ces couples en respectant les strat gies de d ploiement L ordonnancement de ces plans de d ploiement unitaires permet alors de cr er le plan de d ploiement global A cette ta
104. sp cifi es pr c demment 4 1 2 La console d entreprise La console d entreprise Tivoli Enterprise Console Tec fournit des fonctions d identification des probl mes qui peuvent survenir dans le d ploiement ou l administration du logiciel et du mat riel de l entreprise Cet outil prend en charge un certain nombre d applications et de p riph riques Il permet aussi d analyser les v nements et les probl mes qui surviennent Ces v nements peuvent tre trait s de mani re automatique ce qui am liore la gestion automatique du d ploiement et acc l re cette tape 70 Chapitre 3 Etat de l art et de la pratique 4 1 3 Le gestionnaire de licence Le gestionnaire de licence Tivoli License Manager Tlm est un outil de gestion des licences des diff rents logiciels de l entreprise Cet outil fournit un inventaire des licences logicielles e d tenues par l entreprise e utilis es par l entreprise e dont l entreprise pourrait avoir besoin Il comporte aussi un agent qui permet de mettre a jour les logiciels automatiquement d s qu une nouvelle version est disponible Un outil de gestion des licences est utile pour les entreprises Il permet de d terminer quelles licences sont n cessaires l entreprise et ainsi de supprimer celles qui sont inutiles Il permet aussi de contr ler les licences acheter et de planifier l volution du parc informatique de l entreprise 4 1
105. technologies avanc es pour mettre en uvre les modifications apporter Cette activit fait l objet d tudes et de diverses propositions de solutions Ket04 LHOS PBJ97 qui ne seront pas expos es ici 4 5 Reconfiguration L activit de reconfiguration est assez proche de l activit de mise jour puisqu il s agit d apporter des modifications l application Comme pour la mise jour il peut donc tre n cessaire de d sactiver l application avant la reconfiguration et de le r activer apr s A la diff rence de la mise jour il n est pas n cessaire de contacter le producteur pour reconfigurer une application Il s agit simplement de fournir une configuration plus adapt e au site client avec les informations d j connues La reconfiguration peut ainsi se produire dans les cas suivants e Les caract ristiques mat rielles et ou logicielles du site utilisateurs sont modifi es e Des extensions sont faites au niveau de l entreprise ce qui modifie l application ce niveau Si l utilisateur est concern par ces changements la configuration de l application pour sa machine doit tre modifi e Une reconfiguration peut donc avoir lieu par exemple lorsque l utilisateur ajoute de la m moire sa machine lorsqu il change de carte vid o ou lorsque l entreprise ajoute un service l application Pour qu une reconfiguration se produise il faut que l utilisateur ou l adminis
106. tre utilis es En revanche l utilisation d un plan de d ploiement permet de rep rer avant le d but d un d ploiement si le d ploiement pourra tre accompli correctement si l environnement ne subit pas de modification Ainsi une impossibilit de r aliser enti rement un d ploiement est d tect e avant de commencer concr tement le d ploiement Par exemple si aucune des unit s de d ploiement n est compatible avec la configuration de l une des machines cibles le d ploiement ne commencera pas Dans le cas o aucun plan global n est tabli un d ploiement partiel peut tre r alis sur plusieurs machines avant de s apercevoir qu il y a un probl me au niveau de l une des cibles Dans ce cas il faudrait d faire plusieurs op rations r alis es L utilisation d un plan de d ploiement permet donc de n ex cuter que les d ploiements th oriquement corrects Cette technique permet aussi de r aliser une sorte de simulation du d ploiement 6 2 Mod lisation d un plan de d ploiement global Un plan de d ploiement global contient l ordonnancement des diff rents plans de d ploiement unitaires fournis avec les unit s d ployer Le plan de d ploiement global refl te le r sultat de l application des contraintes impos es par les unit s et des strat gies de d ploiement impos es par l entreprise Avec le plan global il s agit d ordonner les diff rents plans unitaires en resp
107. un l ment ou plusieurs pour qu il puisse contenir tous les d tails qui le concerne il s agit du m me concept qui est d fini diff remment correspondance de concepts des deux domaines C est le cas des relations entre les domaines d entreprise et de site cible qui pr cise le concept de machine C est aussi le cas entre les domaines de site cible et de produit qui pr cise le concept d unit 117 Chapitre 5 ORYA mise en ceuvre des mod les et conception e Une composition permet de faire interop rer plusieurs environnements en liant les concepts du m ta mod le C est le cas des associations entre les domaines d activit et d entreprise et entre les domaines d activit et de produit qui d finissent respectivement les concepts de plan de d ploiement global et plan de d ploiement unitaire comme un proc d ou une activit de proc d La relation entre un groupe et un plan de d ploiement est cr e lorsque un plan de d ploiement global est construit pour d ployer un ensemble d unit s sur le groupe 4 4 Sp cification des mod les Les diff rents types d information des diff rents domaines peuvent tre disponibles dans l environnement o les unit s sont d ploy es C est pourquoi il est int ressant d utiliser les f d rations pour tablir la correspondance entre les diff rentes donn es d j existantes et les concepts de d ploiement auxquels elles se rapportent A nsi
108. un conflit entre deux unit s de d ploiement A et B quand les deux unit s ne peuvent pas cohabiter sur la m me machine Dans ce cas la relation de d pendance est sym trique une unit est en conflit avec une unit B et B est en conflit avec 4 Dans ce cas l entreprise peut d cider de ne d ployer que l une des deux unit s sur chacune de ses machines Ainsi si A est d j d ploy e alors le d ploiement de B ne pourra pas tre r alis et inversement si c est B qui est d j d ploy e Le choix de d ployer malgr tout les deux unit s sur une m me machine peut aussi tre fait s il s agit d un conflit d ex cution et que les deux unit s ne seront pas utilis es en m me temps 3 3 Les d pendances s lectives Dans le cas des d pendances s lectives une ou plusieurs unit s de d ploiement peuvent tre choisies Ainsi une liste d unit s est disponible et le d ploiement de l un des l ments de cette liste r sout la d pendance Cela signifie que la d pendance peut tre r solue de plusieurs mani res Selon les pr f rences de l entreprise ou de l utilisateur le choix de l unit pourra par exemple se porter vers une unit impl ment e en java vers l unit qui occupe le moins d espace disque etc 90 Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle 3 4 Les d pendances de remplacement Une unit de d ploiement 4
109. utilis es pour exprimer une comparaison De mani re plus g n rale l utilisateur peut d cider de v rifier des pr conditions plus complexes et ou des actions non triviales r aliser C est pourquoi il est important de ne pas restreindre les contraintes associ es aux unit s de d ploiement par quelques types pr d finis C est pour cela que nous avons choisi de rester g n rique pour la d finition d une contrainte Ainsi l expression logique utilis e dans notre triplet permet d exprimer tout type de pr condition L action quant a elle permet d effectuer n importe quelle suite d instructions Enfin le fait d associer une activit de d ploiement aux contraintes permet d exprimer plus de cas 94 Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle Nous verrons dans le chapitre suivant comment ceci est r alisable gr ce la d finition d un langage de contraintes 5 3 Cumul de contraintes et simulation de d ploiement Chacune des contraintes d une unit de d ploiement doit tout d abord tre v rifi e individuellement Mais si toutes les contraintes sont v rifi es individuellement il faut ensuite v rifier que le cumul de toutes ces contraintes permet toujours le d ploiement de l unit Ceci est particuli rement vrai dans le cas du d ploiement d une unit avec des d pendances En effet l unit et chacune de ses d penda
110. www internetnews com ent news article php 2212131 201 BTA 05 Car97 Ccm03 CE00 CE99 Centr CFH 98 CL95 CLM05 CVC 04 DAW98 DEA98 Bibliographie A Beloued C Taconet D Ayed G Bernard Placement automatique des composants lors du d ploiement d applications base de composants Journ es Composants JC 05 Le Croisic France 5 8 Avril 2005 D Carney Assembling Large Systems from COTS Components Opportunities Caution and Complexities SEI Monograph on Use of Commercial Software in Government Systems SEI Pittsburgh USA June 1997 CORBA Component Model page The CORBA Component Model Specification http ditec um es dsevilla ccm T Coupaye J Estublier Foundations of Enterprise Software Deployment Proceedings of the 4 European Conference on Software Maintenance and Reengineering Zurick February 2000 IEEE Computer Society 2000 pages 65 74 T Coupaye J Estublier Entreprise Software Deployment Foundations amp Related Technologies Rapport de recherche RR 1023 I LSR11 Laboratoire LSR Grenoble France Octobre 1999 Site web du projet Centr Actoll http www adele imag fr Les Groupes centractoll A Carzaniga A Fugetta R S Hall A Van der Hoek D Heimbigner A L Wolf A Characterization Framework for Software Deployment Technologies Technical Report CU CS 857 98 Dept Of Computer Science U
111. 004 N Merle N Belkhatir Open Architecture for Building Large Scale Deployment Systems SERP 04 Las Vagas Nevada USA June 2004 C Marin N Belkhatir D Donsez Gestion transactionnelle de la reprise sur erreurs dans le d ploiement 1 Conf rence Francophone sur le D ploiement de la Re Configuration de Logiciels Grenoble France Octobre 2004 N Merle Etude des principes et concepts la base des architectures pour les syst mes de d ploiement Rapport de DEA Universit Joseph Fourier Grenoble Juin 2002 N Merle ORYA v1 1 Manuel d utilisateur pour le d ploiement de la plate forme Centr Actoll Document technique de l Equipe Ad le D cembre 2003 N Merle Un m ta mod le pour l automatisation du d ploiement d applications logicielles 17 Conf rence Francophone sur le D ploiement de la Re Configuration de Logiciels Grenoble France Octobre 2004 V Marangozova D Hagimont Availability through Adaptation a Distributed Application Experiment and Evaluation European Research Seminar on Advances in Distributed Systems ERSADS 2001 Bologna May 2001 206 MKL 02 Omg03 a Omg03 b Omg04 Osd Osg03 OSK04 Osm05 PBJ97 PDCO1 Pise Rad RCI RDU04 RedH Rembo Bibliographie N Merle A Ketfi V Lestideau N Belkhatir Sp cification du d ploiement de la plate forme Centr
112. 2 MOD LISATION DE STRAT GIE cssssssssssssssssnscssssssssssssecccccccsccccscccsccsssccssccssccsscessssesees L36 3 CAT GORIES TYPES ET CARACT RISTIQUES DES STRATEGIES sssssssscccscssssssescecesereeee 137 3 1 CAT GORIES ET TYPES DE STRATEGIES S Ax foarren ea AAEE AAAA ETE 138 3 2 CARACT RISTIQUES DES STRATEGIES cccccccccccceececeeeeeeeeeeeeeeeeeeeeeeeeeeeeseeeeseeeseeeseeeeeees 139 4 DES EXEMPLES DE TYPES DE STRATEGIES ssssscecscscsssssssscccccccsscesssesscccccesecssssscccsseseeee 139 Al STRATEGIES DE SELECTION cis sicenceddetvousee sees coves voc seseecuituteide dent eee E EOE 140 4 2 STRATEGIES D ORDONNANCEMENT 1 ccccccccccccseesssceeeeseeeceeeeeseeceesesessseeeneneeeeesesssssaannnssess 142 4 3 STRATEGIES D EXECUTION oer EAEE tee asuveesecddnivalelessovscceertnbeebedsssbesccedetneaesese s 145 5 PRINCIPE D APPLICATION DES STRATEGIES cccccccccccsccescccceccssccsssccssccssccsccsssccsccsccsccescees L47 5 1 ALGORITHMES DE PARCOURS TE A A RE e 147 5 2 EXEMPLE DE DEPLOIEMENT AVEC STRATEGIES DE DEPLOIEMENT SANS D PENDANCES 149 6 GENERALISATION D FINITION D UN LANGAGE DE DESCRIPTION DE STRATEGIES 153 6 1 GRAMMAIRE DU LANGAGE DE STRATEGIES ccccsssssseeeccccecceeussseeeeecceceeensasaeeeececeeseeenaes 153 6 2 QUELQUES EXEMPLES 252 4 ccccsssvaneteeeteaadcanteneeed dec a n dent etes rene ele de e etre set date te 155 7 INTERACTION DES STRATEGIES sssssssssssccssssscccccc
113. 2 DESCRIPTION DE L ENTREPRISE LSR usines essences 100 RE 4 13 DESCRIPTION DE LA MACHINE M sus 100 RE 4 14 DESCRIPTION DE L UNITE DE DEPLOIEMENT US usines 101 RE 5 1 CONCEPTS DE BASE DES PROCEDES ccccccceseessssesssesesceesseseeeseseeseceseseeeeeeeeees 106 RE 5 2 ENVIRONNEMENT DE TRAVAIL POUR LES PRECEDES c cccccccssssseseeceeeececceusseeeeees 107 RE 5 3 TRANSACTION DE DEPLOIEMENT sssssccecccececcceeesssececesecesseenssceeeessssssesaensneees 109 RE 5 4 NIVEAUX CONCEPTUELS ET NIVEAU D IMPLEMENTATION D UN DOMAINE ss 110 RE 5 5 LIEN ENTRE DOMAINES rriei e a NNE E ANTIE E a EN E E 111 RE 5 6 INFORMATIONS LIEES AU D PLOIEMENT ccccccccccesessscceeeceescceseeesssecesessssaaensssees 114 RE 5 7 DOMAINE DE D PLOIEMENT cccccccccceesssseceeeceseceeeeeseeeeesesecesseenseeeeeesssesuuaunnensees 116 RE 5 8 COMPOSITION DE DOMAINES hernie a A E 117 RE 5 9 MOD LE D ENTREPRISE sssecccecccceccceeeseseeeescececeeusseeceeseeessuseeaaaeeeeesssssuuuannsnsess 118 RE 5 10 MOD LE DE SITE CIBLE 0cccccccccccceeesssseeeececeseeuseseceeesesecesseussseceeesssssssuansensess 119 RES 11 MODELE DE PRODUIT 1 20 eE bidkeneatedabsaad Miblu rate TASS 119 RE 5 12 MOD LE DE PLAN DE D PLOIEMENT ccccccccsseeccccesescccceesscccseuecccscueacesseeuensess 120 FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU
114. 2 Le d ploiement concepts et contexte de travail Pour r pondre aux divers besoins du d ploiement nous d finissons une architecture fonctionnelle d un environnement de d ploiement Comme l indique la Figure 2 7 plusieurs acteurs entrent en jeu lors du d ploiement d un produit ou application e le producteur fournisseur charg de livrer un produit ses clients e l entreprise responsable de la pr paration du d ploiement sur chaque site e l utilisateur sur le site duquel le produit est d ploy physiquement Chacun d eux a un r le remplir en r alisant diff rentes activit s Dans une entreprise il faut installer un produit sur un grand nombre de machines Il faut alors g rer les configurations particuli res de chaque machine cible Pour faciliter cette t che on ajoute un niveau entre le niveau producteur d veloppement du produit et le niveau utilisateur installation du produit il s agit du niveau entreprise LBC00 Pour r aliser le processus de d ploiement il faut effectuer des activit s sur chacun des trois niveaux L ensemble de ces activit s permet de personnaliser le d ploiement des produits par rapport aux propositions du producteur aux contraintes impos es par l entreprise et aux caract ristiques de l utilisateur 5 1 Niveau producteur Au niveau producteur tout est fait pour pr parer l envoi des produits aux clients Il s agit ici du commencement de l activit de d ploiement
115. 3 Mod le d ex cution Avant le d ploiement des d cisions doivent tre prises pour s lectionner les impl mentations des composants d ployer et d terminer o chacune d elles doit tre d ploy e Toute l information sur le d ploiement d une application est collect e dans un plan de d ploiement Le plan de d ploiement contient l information sur les artefacts faisant partie du d ploiement comment cr er les instances de composant partir des artefacts o les instancier l information sur les connexions entre eux 2 1 3 Acteurs Pour d finir l ensemble des mod les pr sent s ci dessus plusieurs acteurs entrent en jeu e Le sp cifieur sp cifie l interface et le contrat fonctionnel pour les impl mentations de composant e L impl menteur cr e les impl mentations concr tes des composants avec leurs m ta donn es Cet acteur peut avoir deux r les diff rents le d veloppeur et l assembleur Le d veloppeur cr e les impl mentations monolithiques puis l assembleur cr e les impl mentations des composants composites e Le packageur cr e les packages des impl mentations de composants e L administrateur de domaine pr pare l information sur l environnement cible De plus trois acteurs sont impliqu s dans le d ploiement d une application e L administrateur de d p t re oit des packages de composant et les installe dans un d p t local
116. 4 Conclusion Tivoli propose une solution assez compl te de gestion des configurations mat rielles et logicielles d une entreprise Le point fort de l approche est la vision entreprise du d ploiement avec des outils qui r pondent aux besoins des organisations g rant un grand nombre de machines Le d ploiement des applications peut tre planifi Un inventaire des configurations mat rielles et logicielles des machines permet de les g rer plus facilement et de proposer aussi un outil pour traiter les licences logicielles De plus le d ploiement et l administration peuvent se faire distance mais uniquement de mani re centralis e Par ailleurs le proc d de d ploiement est fixe ce qui limite la flexibilit pour l utilisateur 4 2 Rembo Auto Deploy Rembo Auto Deploy Rad de Rembo Technology Rembo est un outil cr pour la gestionet le d ploiement a distance d un grand nombre de machines Dans un environnement r seau il permet de configurer des machines de d ployer des applications et de restaurer une configuration sur une machine Pour pr senter cet outil nous commen ons par noncer les possibilit s qu il offre puis nous d finissons quelques concepts qu il utilise 4 2 1 Possibilit s offertes par l outil Rembo Auto Deploy RAD permet de d ployer des images logicielles de les cloner de r aliser des installations automatis es et de personnaliser des machines Des mises jour ou des r cup
117. 999 R S Hall D Heimbigner A L Wolf Specifying the Deployable Software Description Format in XML Technical Report CU SERL 207 99 Software Engineering Research Laboratory Department of Computer Science University of Colorado March 1999 R S Hall D Heimbigner A L Wolf Enterprise Software Deployment It s the Control Stupid Proceedings in the ICSE 99 Workshop Softawre Engineering over the Internet Calgary May 1999 204 HHW99 d Ibm IEV05 Int S11 Jav02 Java JMS 92 KB03 KBC02 Ket04 KLM 97 LBC00 LBC01 LBC02 Bibliographie D Heimbigner R S Hall A L Wolf A Framework for Analyzing Configurations of Deployable Software Systems Proceedings of the 5 IEEE International Conference on Engineering of Complex Computer Systems pages 32 42 Las Vegas USA October 1999 Site web d IBM http www ibm com A D Ionita J Estublier G Vega Domaines R utilisables Dirig s par les Mod les Published in IDMOS Paris France July 1 2005 Institut National des t l communications Site Internet http www int evry fr Outil Installshield 11 de Microsoft http www installshield com JAVA An abstract model for deployment 2002 Disponible http java sun com developer Books javaprogramming jnlp jnlpch02 PDF Java java sun com M Jarke J Mylopoulos J W Schmidt Y Vassiliou DAIDA
118. Actoll Document technique de l Equipe Ad le Novembre 2002 Object Management Group MDA Guide Version 1 0 1 2003 http www omg org docs omg 03 06 01 pdf Object Management Group UML 2 0 OCL Specification 2003 http www omg org docs ptc 03 10 14 pdf OMG Deployment and Configuration of Component based Distributed Applications Specification March 2004 http www omg org docs ptc 04 03 10 pdf Open Software Description Format http www w3 org TR NOTE OSD Specification Disponible a Open Services Gateway Initiative OSGi Service Platform specification release 3 0 March 2003 http www osgi org M Oussalah A Smeda T Khammaci An Explicit Definition of Connectors for Component Based Software Architecture Eleventh IEEE International Conference on the Engineering of Computer Based Systems ECBS 2004 edited by Vaclav Dvorak and Miroslav Sveda IEEE 2004 EUREKA ITEA Osmose Site Internet du projet http itea osmose org F Plasil D Balek R Janecek DCUP Dynamic Component Updating in Java CORBA Environment Technical Report No 97 10 Dep Of SW Engineering Charles University Prague 1997 A Parrish B Dixon D Cordes A conceptual foundation for component based software deployment Journal of Systems and Software Volume 57 Issue 3 pages 193 200 15 July 2001 Projet RNRT PISE n 04 R 643 Passerelle Internet S curis e et Flexible
119. Dans le premier cas plusieurs ex cutions du plan de d ploiement obtenu peuvent donner des r sultats diff rents En effet si l ordre de d ploiement est partiel la liste des d ploiements unitaires pourra s effectuer dans un ordre diff rent De la m me mani re si des choix d unit s restent faire deux ex cutions du plan de d ploiement pourront donner le d ploiement d unit s diff rentes Nous pouvons maintenant pr senter une mod lisation d un plan de d ploiement global en prenant en compte les objectifs que nous venons de citer savoir e refl ter le r sultat de l application des contraintes et strat gies de d ploiement e ordonner les d ploiements unitaires couples lt unit de d ploiement machine e indiquer les choix possibles d unit s d ployer versions d application et ou d pendances s lectives lt lt enumeration gt gt StatusType INACTIVE ACTIVE gOK KO manages sai _deploysOnMachine Machine from Logical View Unit ie from Logical View ad constrajntsUnit paraliel next describepMachine Constraint from Logical View Property from Logical View Figure 4 11 Mod le de plan de d ploiement global Le plan de d ploiement unitaire que nous avons d fini pr c demment est la brique de base du plan de d ploiement global il est donc au centre de la mod lisation Figure 4 11 Le plan unitaire est ca
120. G lt enterpriseName gt lt group gt lt g roupName gt Gi lt groupName gt lt machine gt lt machineName gt Mi lt machineName gt lt machineFunct ion gt ClientSite lt machineFunct ion gt lt machine gt lt machine gt lt machineName gt M2 lt machineName gt lt machineFunct ion gt ClientSite lt machineFunct ion gt lt machine gt lt strategy gt lt sActivity gt INSTALL lt sActivity gt lt constraintU gt interface multimedia lt constraintU gt lt constraintE gt JAMAIS lt constraintE gt lt strateqyType gt VERS ION DROITS lt st rategyType gt lt strategy gt lt group gt lt group gt lt g roupName gt G2 lt groupName gt lt machine gt lt machineName gt M3 lt machineName gt lt machineFunct ion gt Clientsite lt machineFunct ion gt lt machine gt lt subGroup gt lt groupName gt G3 lt groupName gt lt machine gt lt mach ineName gt M4 lt machineName gt lt machineFunction gt ClientSite lt machineFunction gt lt machine gt lt machine gt lt mach ineName gt M5 lt machineName gt lt machineFunction gt ClientSite lt machineFunction gt lt machine gt lt subGroup gt lt group gt lt strategy gt lt sActivity gt INSTALL lt sActivity gt lt constraintU gt impl mentation java lt constraintU gt lt constraintE gt UNITE lt constraintE gt lt strategyType gt VERSION INTRAGROUPE lt strategyType gt lt strategy gt lt group gt lt EnterpriseDescriptor gt Fi
121. MOD LE D ENTREPRISE css esesetesededeneseces cote tesedecsseeesseilevndedudeteleCesctetrddededeiedseeseseerarebetes 176 AS STRAT GIES 53230255305 nn in nn M sn tt nn M Mn ant at 177 4 PLAN DE D PLOIEMENT 5 2 eare eE A EEE E iddeussccee gt tebrgaessavevecechetaoae tess 178 Ae SD CUTTS T E AE on ne bilo cinta nsauuled ee S E AEE c 185 5 EVALUATION DE LA VERSION 2 ccccccssssssssescccccccccensnsssccccecccccsssssccscccccccccesssssccsceseeccsssees 185 GSYNTHESE sie in etienne een et nedenen cn sess sde ENEE 187 CHAPITRE 8 CONCLUSION ET PERSPECTIVES eee eee 189 LCONCEUDSION ii mnt nan tn en nt 191 1 1 PROBL MATIQUE DU DEPLOIEMENT GRANDE CHELLE ses eeeercesese seen 191 1 2 PRINCIPALES CONTRIBUTIONS ET R SULTATS OBTENUS ccccssssseeeececceceeeeussseeeeeceeeeeeees 192 2 PERSPECTIVES eessasececcessccccessenscesosoectecsavesciavscesccscodesesuduesssestoceaseevieiiesoececeeussubeccisestececeusvs 195 2 lt I PERSPECTIVES D EVOLUTION se Loose se ceitevnte TEE EEO 195 2 2 PERSPECTIVES D UTILISATION sauna etai el lane nano 197 BIBLIOGRAPHIE iii idectosessenenseeusenessosc ene dents duvsscncsecsteeeseveuecsatecssseve codes coco nes 199 xii FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU FIGU TABLES DE
122. N DROITS les strat gies VERSION INTRAGROUPE les strat gies CHRONOLOGIE MACHINES les strat gies EXECUTION ERREUR etc Nous avons ensuite exprim le principe de mise en oeuvre des strat gies Ce principe utilise les structure d entreprise et d application que nous avions d finies dans le chapitre pr c dent L application de toutes les strat gies permet de construire une structure de plan Cette structure repr sente le squelette du plan de d ploiement global qui permet de d ployer un ensemble d unit s sur un ensemble de machines Pour donner plus de possibilit s l utilisateur et pour ne pas se limiter aux types de strat gies que nous avons identifi s nous avons aussi d fini un langage de description de strat gies Celui ci permet tout d abord de d finir les caract ristiques de chaque type de strat gies Il permet ensuite de d finir des strat gies ayant les types ainsi d finis Enfin nous avons termin par une discussion sur les interactions qui peuvent exister entre les strat gies ou entre les strat gies et les d pendances des unit s Cette discussion se termine par ce qui peut tre consid r comme le travail poursuivre pour d finir des m ta strat gies Des m ta strat gies permettraient alors de sp cifier les interactions des strat gies en d finissant pr cis ment comment les r soudre 162 CHAPITRE 7 ORYA REALISATION ET EVALUATION Pr ambule Les chapitres pr
123. ON INTRAGROUPE gt lt xsd enumeration value VERSION DROITS gt lt xsd enumeration value CHRONOLOGIE MACHINES gt lt xsd enumeration value CHRONOLOGIE UNITES gt lt xsdirestriction gt lt xsd simpleType gt lt xsd simpleType name CibleType gt lt xsd restriction base xsd string gt lt xsd enumeration value MACHINE gt lt xsd enumeration value GROUP gt lt xsd irestriction gt lt xsd simpleType gt lt xsd complexType name DeployUnitsStruct gt lt xsd sequence gt lt xsd element name possibleUnit type UnitNode minOccurs 0 maxOccurs unbounded gt lt xsd sequence gt lt xsd complexType gt lt xsd complexType name UnitNode gt lt xsd sequence gt lt xsd element name unitName type xsd string gt lt xsd element name unitVersion type xsd string gt lt xsd element name sourceURL type xsd string gt lt xsd element name property type PropertyType minOccurs 0 maxOccurs unbounded gt lt xsd element name constraint type ConstraintType minOccurs 0 maxOccurs unbounded gt lt xsd element name mandatory dependancy type UnitNode minoccurs 0 maxOccurs unbounded gt lt xsd element name deployPlan type DeployPlanType minoccurs 0 maxOccurs 6 gt lt xsd sequence gt lt xsd complexType gt lt xsd schema gt Figure 7 10 Sch ma d un descripteur de structure d entreprise La Figure 7 10 donne le sch ma de la structure d entreprise qui est utilis
124. OUR CHAQUE MACHINE cccccssssseceeecececeeeeeseseeeeeseessseensnenes 151 RE 6 5 R SULTAT DE LA SELECTION DES UNIT S A DEPLOYER seen 151 RE 6 6 STRUCTURE DE PLAN ccssssscceececccceceeessneececceceueeuusseeeeesesseesseuasaeeeeessssssauaenensees 152 RE 6 7 COMPOSITION DE STRATEGIES QUEL PLAN DE DEPLOIEMENT CONSTRUIRE 158 RE TA PROC D D INSTALLATION anre E sagieassesnddaueleuscaseevenveeneedageiesecceteereadenetss 166 RE TLACTIVITE D INSTALLATION used AE Ea er a aA 167 RE 7 3 SCH MA D UN DESCRIPTEUR DE DEPLOIEMENT sssssccceceeeceeeeeeseceeesesseeueeenenes 168 RE 7 4 CONSTRUCTION DU DESCRIPTEUR DE DEPLOIEMENT ccccccccceseesssceeeesesseeseeeseees 170 RE 7 5 CONSTRUCTION ET VERIFICATION D UN PACKAGE ccccccccccccceseeeesceeeeseseeseeeensnes 171 RE 7 6 ARCHITECTURE DE LA PLATE FORME CENTR ACTOLL seen 172 RE 7 7 EXEMPLE DE DESCRIPTEUR DE MACHINE ccccesscceeeecesescueccseuscssuceceusseeuecseeusss 175 RE 7 8 EXEMPLE DE DESCRIPTEUR D UNIT ssscccccccscccceeesssceeeececcceseessceeeesssssseaunneneees 176 RE 7 9 EXEMPLE DE DESCRIPTEUR D ENTREPRISE cccsccccccesssccccesssccceeeuscessuusccssuuencess 177 RE 7 10 SCHEMA D UN DESCRIPTEUR DE STRUCTURE D ENTREPRISE sise 179 RE 7 11 SCHEMA D UN DESCRIPTEUR DE STRUCTURE DE PLAN ccccccceeesesssceeeeseseesseeeesnes 183 XIV CHAPITRE 1 INTRODUCTION Pr ambule Ce chapitre pr sente l id e g n rale de notre travail le contexte les
125. PlanFeuille new LeafType noeudPlanFeuille setDeployActivity fede orya model deployPlanStructDescriptor types DeployActivityType valueOf deployActivity noeudPlanFeuille setMachineName fNoeud getCibleName noeudPlanFeuille setUnitName fNoeud getUnitesPossibles getUnitePossible 0 getUnitName noeudPlanFeuille setUnitVersion fNoeud getUnitesPossibles getUnitePossible 0 getUnitVersion noeudPlanFeuille setSourceURL fNoeud getUnitesPossibles getUnitePossible 0 getSourceURL toReturn addSonLeaf i noeudPlanFeuille Une fois le descripteur de plan enti rement construit il repr sente le plan de d ploiement et sert de base a l ex cution du d ploiement demand 184 Chapitre 7 ORYA r alisation et valuation 4 4 4 Ex cution du plan de d ploiement Le descripteur de structure de plan construit dans la section pr c dente sert de support a l ex cution du plan de d ploiement Dans cette impl mentation nous n avons utilis que des n uds de type AND ou ORDERED Pour simplifier l ex cution du plan de d ploiement global le n ud AND est interpr t comme le n ud ORDERED aucune strat gie d ex cution n est utilis e pour d terminer un autre ordre La structure de plan est donc parcourue en profondeur d abord et depuis les fils de gauche vers les fils de droite D s que le parcours atteint une feuille le plan unitaire c
126. RONOLOGIE MACHINES Interpr tationChrono Si Verifier Unit sPossibles contrainte Unit s Alors cr erNoeudPlan ordre EffectuerAppelRecursifPourConstruireFils ListeMachinesOuGroupes Les strat gies CHRONOLOGIE MACHINES ne sont appliqu es que pour les unit s qui v rifient la contrainte Unit s Ces strat gies sont utilis es pour cr er et ordonner le plan de d ploiement global Il s agit donc de cr er la structure qui correspond l expression de la contrainte Entreprise 6 2 4 Expression des strat gies Il ne reste plus qu exprimer les strat gies qui r pondent aux d finitions que nous venons de r aliser Exemple 10 Expression d une strat gie VERSION DROITS lt INSTALL Interface multimedia NEVER VERSION DROITS gt Cette strat gie de type VERSION DROITS indique qu il ne faut pas installer d unit s ayant la propri t lt nterface multimedia gt Exemple 11 Expression d une strat gie CHRONOLOGIE MACHINES lt INSTALL ORDERED M14 M7 CHRONOLOGIE MACHINES gt Cette strat gie de type CHRONOLOGIE MACHINES indique qu il faut installer les unit s de d ploiement d abord sur M14 puis sur M7 Comme aucune contrainte Unit s n est exprim e cette strat gie concerne toutes les installations 7 INTERACTION DES STRATEGIES Les paragraphes pr c dents ont d crit comment d finir et appliquer des strat gies Les exemples restent assez simples car une seule strat
127. S FIGURES RE 2 1 CYCLE DE VIE DU LOGICIEL i 06i6s dcccsveteevessisocccsterdssnsseseccectedeteedssdisssesetectteerstsses 25 RE 2 2 EXEMPLE D ORGANISATION D UNE ENTREPRISE csesccccceessccseeussesseeeecesceeeeseesees 26 RE 2 3 EXEMPLES DE COMPOSITION D UN PRODUIT see sesss ses nnnnneeeeeeseeseeennnssesseee 28 RE 2 4 MODES DE TRANSFERT D UN PRODUIT cccccccccccsssssescccceseeessssseesceceseeesssssesesceeees 29 RE 2 5 CYCLE DE VIE DU DEPLOIEMENT D UN LOGICIEL sscccccccceceeeeessescceeseesessseeesenees 30 RE 26 ACTIVIT DE MISE ATOUR lemme indemne 32 RE 2 7 LES TROIS ACTEURS DU DEPLOIEMENT ccccccccccsssssssccccecceesssssescceesseesssssesesceeees 34 RE 2 8 CREATION D UN PACKAGE PAR LE PRODUCTEUR POUR LE CLIENT csscsecceeseeeeeees 36 RE 2 9 DEFINITION D UN PLAN DE DEPLOIEMENT POUR L ENTREPRISE ccscceeesseceeeesseeees 37 RE 2 10 ARCHITECTURE PHYSIQUE nurten een ieai e eara a a A EEE 38 RE 3 1 LES ACTEURS DU MOD LE ABSTRAIT DE D PLOIEMENT JAVA cccccccceessecceeeeeseeees 52 RESA ASE ROLE DETA errre is EE E N E EE E h 52 RE 3 3 LE MOD LE DE DEPLOIEMENT JAVA ccccccecccccesecccceeeeeccsseusescsseuscssseueesseeuueeseeuens 54 RE 3 4 R SULTATS DE R USSITE ET DE SURETE D UN D PLOIEMENT sise 56 RE 3 5 ARCHITECTURE DE SOFTWARE DOCK cccccccccsssssesescccceceeessssseececeeseseussssesesceeees 59 RE 3 6 REPRESENTATION DE COMCAS cccccccccsesesssesesseesseeesseeseessteesseeseeeseesseeeesees
128. UNIVERSITE JOSEPH FOURIER THESE pour obtenir le grade de DOCTEUR de l Universit Joseph Fourier de Grenoble Discipline Informatique pr sent e et soutenue publiquement par No lle MERLE Le 1 d cembre 2005 ARCHITECTURE POUR LES SYSTEMES DE DEPLOIEMENT LOGICIEL A GRANDE ECHELLE PRISE EN COMPTE DES CONCEPTS D ENTREPRISE ET DE STRATEGIE JURY Y Chiaramella Professeur Pr sident Universit J Fourier Grenoble D Hagimont Professeur Rapporteur ENSEEIHT INP Toulouse M Oussalah Professeur Rapporteur Universit de Nantes J M Andreoli Directeur de recherche Examinateur Xerox Research Centre Europe P Y Cunin Professeur Directeur de th se Universit J Fourier Grenoble N Belkhatir Professeur Directeur de th se Universit P M France Grenoble a Clatre A d faut d avoir fait un long discours le jour de ma soutenance pour ne pas me laisser submerger par les motions je vais tenter de faire ici quelques remerciements plus personnels et plus chaleureux Je vais commencer par remercier chacun des membres du jury Yves Chiaramella Daniel Hagimont Mourad Chabane Oussalah et Jean Marc Andreoli pour m avoir accorder de leur temps si pr cieux et m avoir fait profiter de leur exp rience Merci vous d avoir valu ce travail avec autant de justesse et de pertinence Je remercie aussi mes directeurs de th se Pierre Yves Cunin et Noureddine Belkhatir d avoir t pr sents
129. Un mod le g n rique pour le d ploiement d applications grande chelle 1 INTRODUCTION NOTRE APPROCHE Nous avons cit l objectif de fournir un support automatis pour le d ploiement d applications a grande chelle L automatisation du traitement du d ploiement implique la mod lisation de l ensemble des concepts qui sont n cessaires De plus nous souhaitons fournir un environnement g n rique qui soit ind pendant e des applications que l on d ploie e de la configuration des sites cibles machines finales sur lesquelles sont d ploy es les applications e de l environnement de l entreprise dans lequel se passe le d ploiement e des outils de d ploiement utilis s ces outils tant souvent sp cifiques un type d application Pour fournir un tel environnement il est indispensable de d gager l ensemble des concepts sp cifiques au d ploiement et communs tous les d ploiements quelques soient les applications d ployer ou l environnement cible de d ploiement Pour cela nous utilisons une approche dirig e par les mod les BGO01 Fav04 Omg03 a Ainsi nous avons rassembl l ensemble des concepts li s au d ploiement dans un m ta mod le de d ploiement Ce m ta mod le est form de plusieurs parties contenant les diff rentes entit s du d ploiement que nous avons d finies auparavant savoir e une partie li e l environnement de l entreprise e une par
130. WMC95 Xml XmlS Bibliographie J Villalobos F d ration de composants une Architecture Logicielle pour la Composition par Coordination Th se de doctorat Universit Joseph Fourier Grenoble France Juillet 2003 Page web de Windows http www microsoft com windows default mspx Service Windows Installer http www microsoft com downloads details aspx FamilyID cebbacd8 c094 4255 b702 de3bb768148f amp displaylang en The Workflow Management Coalition Specification The Workflow Reference Model January 1995 http www wfmc org standards standards htm World Wide Web Consortium W3C Extensible Markup Language XML 1 0 second edition Octobre 20002 http www w3 org TR REC xml World Wide Web Consortium W3C XML Schema http www w3c org XML Schema 209
131. a structure d application form e des unit s possibles pour ce n ud Il reste ensuite effectuer un autre parcours de la structure d entreprise pour cr er le plan de d ploiement ordonn selon l application des strat gies d ordonnancement Les strat gies d ordonnancement ne concernent que l ordonnancement du d ploiement des unit s qui v rifient la contrainte Unit s de la strat gie 4 2 1 Strat gies CHRONOLOGIE MACHINES Les strat gies de type CHRONOLOGIE MACHINES permettent d exprimer dans quel ordre doivent tre r alis s les d ploiements unitaires de chaque machine Cet ordre indique des noms de sous groupes et ou machines Ce type de strat gie ne s applique qu aux groupes Il permet par exemple d exprimer que le d ploiement d un traitement de texte doit d abord tre r alis sur la machine M1 puis sur la machine M2 Il peut aussi exprimer de d buter par la machine M1 puis de continuer avec les machines du sous groupe G4 142 Chapitre 6 Un environnement de d ploiement orient strat gies En ce qui concerne la visibilit les strat gies de ce type ne cachent pas les strat gies de m me type des n uds fils sous groupes Cependant une priorit est accord e au niveau du n ud groupe p re En fait les strat gies de CHRONOLOGIE MACHINES des n uds fils permettent d affiner r cursivement l ordre de d ploiement Il n est pas n cessaire de propager ce type de strat gie Cepe
132. a troisi me partie concerne la r alisation et l valuation du travail Elle comporte un seul chapitre e le chapitre 7 pr sente les prototypes et exp rimentations qui ont t effectu s au cours de notre travail La r alisation s est effectu e en deux tapes La premi re tape nous a permis de d finir un environnement pour le d ploiement automatis qui a subi une exp rimentation en milieu industriel La seconde tape de la r alisation impl mente un environnement orient strat gies qui permet de prendre en compte la structure de l entreprise et ses strat gies de d ploiement Enfin le document se termine par le chapitre 8 qui propose une synth se des travaux et pr sente les futures directions de travail 21 Chapitre 1 Introduction 99 CHAPITRE 2 LE DEPLOIEMENT CONCEPTS ET CONTEXTE DE TRAVAIL Pr ambule Le d ploiement est une tape du cycle de vie du logiciel qui a pris de plus en plus d importance avec le d veloppement d Internet Contrairement aux proc d s traditionnels il est maintenant possible de d ployer une application chez un client a distance et automatiquement depuis le producteur Les grandes entreprises sont devenues soucieuses de g rer cette tape automatiquement Ce chapitre pr sente les besoins et concepts li s au d ploiement Chapitre 2 Le d ploiement concepts et contexte de travail 24 Chapitre 2 Le d ploiement concepts et contexte de travai
133. a une d pendance de remplacement vis vis d une unit B lorsque peut tre remplac e par B Dans ce cas cela signifie que pour cette utilisation les unit s ont les m mes fonctionnalit s ou fournissent les m mes services Il faudra alors d ployer l une ou l autre des unit s 4 ou B Il faut noter que ce type de d pendance peut tre remplac par une d pendance s lective au niveau sup rieur 9 D d pend obligatoire eo d pend s lective d pend remplacement Figure 4 10 D pendance de remplacement et d pendance s lective La Figure 4 10 montre ainsi deux mani res de mod liser les m mes d pendances effectives entre unit s de d ploiement Dans la partie de gauche A d pend de B qui d pend d pendance de remplacement lui m me de C Si le d ploiement de l unit et de ses d pendances est demand les unit s A et B ou alors A et C seront donc d ploy es Pour le sch ma de la partie droite a une d pendance s lective vers la liste d unit s compos e de B et C Cela signifie que l une des unit s B ou C sera d ploy e pour que fonctionne correctement On se retrouve alors avec les m mes cas de d ploiement que dans l autre sch ma 3 5 Les d pendances facultatives Une unit de d ploiement une d pendance facultative avec l unit B lorsque A peut fonctionner avec ou sans B Dans ce cas le d ploiement de l unit de d pendance est facultatif Par ex
134. abord d ployer les d pendances obligatoires puis l unit elle m me Nous pouvons aussi noter que les d pendances de conflit et de remplacement n interviennent pas En effet les d pendances de conflit ne sont pas d ploy es et permettent simplement de v rifier si une unit peut tre d ploy e ou non Les d pendances de remplacement quant elles sont d ploy es si cela est n cessaire mais pour remplacer une d pendance d un autre type par exemple une d pendance obligatoire Dans ce cas l ordre prendre en compte est celui indiqu par l autre type de d pendances Pour tendre ce type de strat gie au cas du d ploiement de n applications sur p machines la liste ordonn e peut tre remplac e par une liste d unit s de d ploiement Ainsi par exemple l expression ORDERED UI V7 W4 signifie qu il faut d abord d ployer l unit U puis l unit V7 et enfin l unit W4 4 3 Strat gies d ex cution Des strat gies peuvent aussi tre appliqu es lors de l ex cution du plan de d ploiement Ces strat gies peuvent permettre d affiner des choix d unit de d ploiement s il reste encore des libert s au niveau du plan de d ploiement global Elles servent aussi traiter les cas d erreurs possibles Les diff rents types de strat gie de cette cat gorie sont appliqu s au moment opportun quand un choix doit tre fait quand une erreur se produit 4 3 1 Strat gies EXECUTION
135. aint P3 U5 Property deploymentActivity INSTALL logicalExpression Disk gt 1 14 name Interface action Soustraire Disk 114 value graph C1 V1 Constraint Figure 4 14 Description de l unit de d ploiement U5 De plus des contraintes C U5 C2 U5 et C3 U5 imposent un syst me d exploitation pr cis WindowsXP ou Windows2000 une capacit m moire minimum sup rieure ou gale 256 Mo et un espace disque minimal 7714 Mo qui sera utilis pour d ployer l unit L unit US est aussi associ e un plan de d ploiement DpinstallU5 d crivant les tapes r aliser pour l installer sur une machine v rifiant les contraintes Enfin l unit US a une d pendance vers l unit V7 Cette unit a ses propres caract ristiques P1 V1 P2 V1 C1 VI et DPinstall3 U5 dont les valeurs ne sont pas plus pr cis es ici 8 SYNTHESE Dans ce chapitre nous avons pr cis l ensemble des concepts n cessaires au d ploiement Ces concepts constituent le m ta mod le de d ploiement Trois cat gories de concepts principaux apparaissent ceux li s l entreprise ceux li s aux machines cibles et ceux li es aux unit s de d ploiement A partir de l ensemble de ces concepts un plan de d ploiement peut tre g n r pour indiquer les tapes r aliser pour d ployer n unit s de d ploiement sur 101 Chapitre 4 Un mod le g n rique pour le d ploiement d application
136. aitent pouvoir automatiser cette tape pour viter d avoir a r p ter les m mes tapes plusieurs fois Cependant elles souhaitent garder un certain contr le sur les activit s de d ploiement en imposant diff rentes contraintes m me version d une application sur un groupe de machines pr f rence pour des applications avec certaines caract ristiques ordonnancement prioritaire Dans notre travail nous d finissons un m ta mod le de d ploiement permettant d automatiser le traitement des donn es li es au d ploiement Nous d finissons aussi des strat gies de d ploiement qui permettent aux entreprises de d finir leur propres contraintes de d ploiement selon leurs besoins et leurs pr f rences MOTS CLES D ploiement grande chelle entreprise strat gies de d ploiement m ta mod le de d ploiement ORYA Vii ABSTRACT Deployment comes at the end of software lifecycle This step is more and more important in enterprises managing a lot of machines we speak about large scale deployment Enterprises wants to automate this step in order to not repeat the same steps several times However they wishes to keep control on deployment activities forcing different constraints same version of an application on a group of machines preference for applications with fixed characteristics specific scheduling In our work we define a deployment metamodel allowing to automate the processing of deployment
137. anisation physique de l architecture fonctionnelle Chacun des niveaux producteur entreprise et utilisateur de l architecture fonctionnelle a un r le bien d fini Il faut ensuite d terminer les machines physiques charg es de remplir ces r les La Figure 2 10 fait le lien entre les niveaux de l architecture fonctionnelle et l architecture physique utilis e pour le d ploiement Serveurs d applications Serveurs de d ploiement Sites clients Niveau producteur Niveau entreprise Niveau utilisateur Figure 2 10 Architecture physique Le r le du producteur fournisseur est rempli par un ou plusieurs serveurs d applications Ils sont charg s de mettre des unit s de d ploiement la disposition des entreprises clientes Un ou plusieurs serveurs de d ploiement effectuent les t ches du niveau entreprise Ils sont charg s de piloter et superviser le d ploiement des unit s distance Enfin les sites clients sont les machines des utilisateurs sur lesquelles seront d ploy s puis utilis s les produits 38 Chapitre 2 Le d ploiement concepts et contexte de travail Il faut aussi noter que les serveurs d applications niveau producteur peuvent aussi faire partie de l entreprise En effet d une part l entreprise peut d velopper elle m me ses propres produits D autre part l entreprise peut commander des unit s de d ploiement des producteurs ext rieurs et les mettre disposition de ses utilis
138. ant sur des sites diff rents Le proc d de d ploiement quant lui prend en compte les propri t s statiques mais aussi les propri t s dynamiques du site au moment du d ploiement 3 2 2 Sensibilit du d ploiement au contexte L un des principaux objectifs de CADeComp est de supporter la sensibilit du d ploiement au contexte ATS05 Le contexte est d fini comme toute information caract risant la situation d une entit personne localisation objet qui peut tre consid r e comme pertinente pour 62 Chapitre 3 Etat de l art et de la pratique l interaction de l utilisateur avec son application Ainsi une application sensible au contexte est d finie comme une application capable de percevoir et d analyser son contexte et de s y adapter Plusieurs types d information de contexte peuvent affecter le d ploiement comme par exemple e les informations relatives aux environnements mat riels et logiciels des sites qui vont accueillir l application d ployer e les informations relatives l utilisateur final comme ses pr f rences son identit et sa localisation e plusieurs autres types de contextes qui sont li s la s mantique de l application par exemple la temp rature peut avoir un impact sur le d ploiement d une application d informations touristiques De plus le d ploiement d applications base de composants n cessite la description de plusieurs param t
139. ar une application ou logiciel il contacte le producteur ou un fournisseur La distinction entre le producteur et le fournisseur peut se faire e Le producteur cr e l application sous plusieurs versions e Le fournisseur fournit un ensemble de packages Chaque package contient une version d une application cr e auparavant par le producteur Dans la suite du document nous attribuons ces deux fonctions la m me personne C est pourquoi par simplification le discours fait plus souvent r f rence au terme de IT Chapitre 2 Le d ploiement concepts et contexte de travail producteur Eventuellement le client pourra tre inform lorsque la premi re version ou une nouvelle version de l application sera valid e Une application est souvent form e de diff rents composants pouvant tre choisis par le client directement ou indirectement en choisissant les services souhait s par exemple Certains composants sont d pendants d autres composants ou applications Toutes ces informations sont fournies au client par l interm diaire du mod le de produit Les00 d fini dans la section 6 3 D s que le client a choisi les composants de l application le producteur pr pare tous les composants n cessaires Ces composants ainsi que le mod le de produit sont ensuite conditionn s sous forme de package pour tre transf r s chez le client La Figure 2 3 illustre deux configurations possibles d une applic
140. articulier peut tre choisi par l administrateur Diff rentes strat gies peuvent aussi tre utilis es pour tablir quoi faire en cas d erreur au cours du d ploiement retour en arri re activit de compensation Le d ploiement est un domaine qui regroupe un ensemble de probl matiques En effet il faut par exemple g rer le transfert de donn es l h t rog n it des machines cibles l incompatibilit entre produits etc La section suivante d finit la probl matique de notre travail et ses objectifs 2 PROBLEMATIQUE ET OBJECTIFS Le d ploiement grande chelle ne consid re plus une seule machine cible mais un grand nombre qui ne sont plus g rable manuellement Les diff rentes cibles peuvent alors avoir des caract ristiques et besoins diff rents Par exemple certaines machines peuvent fonctionner sous Windows d autres sous Linux certaines peuvent avoir une faible capacit m moire etc Les besoins peuvent aussi tre diff rents par exemple le service de comptabilit d une entreprise aura besoin des logiciels appropri s alors que d autres d partements de l entreprise n en auront pas l utilit Le d ploiement grande chelle doit donc prendre en compte l h t rog n it des machines cibles et des besoins tout en facilitant le travail de l administrateur qui ne peut pas se d placer sur chaque machine chaque d ploiement Le d ploiement grande chelle implique
141. assemblage des diff rentes images permet ensuite de r aliser les diverses configurations utilis es 4 2 1 3 Console de gestion centrale Le proc d de d ploiement est conduit par une base de donn es centrale Celle ci contient les param tres uniques de chaque machine Ces param tres incluent des r gles qui permettent de d cider quelles images et quels logiciels d ployer sur chaque machine Le proc d de d ploiement peut tre enti rement automatis sans interaction sur la machine cliente Cependant RAD peut aussi laisser le choix l utilisateur de d terminer quel syst me d exploitation utiliser dual boot et quelles applications d ployer Des rapports sont aussi disponibles pour contr ler le d ploiement depuis la console centrale 4 2 1 4 Maintenance des images RAD simplifie la maintenance des images en s parant l image de base des applications Les packages d application sont cr s sur une plate forme sp cifique machine de r f rence et peuvent tre d ploy s facilement sur d autres machines RAD offre aussi la possibilit de faire des images snapshot du disque Ainsi il est possible de comparer les images du disque avant et apr s l installation d une application et de d terminer quels changements ont t effectu s De plus RAD permet de faire du re d ploiement Cette technique peut notamment tre int ressante pour les parcs informatiques o les machines sont utilis es par beaucoup d utilisa
142. at gies Nous pr sentons ici quelques exemples de types de strat gies que nous avons identifi s pour chacune de ces cat gories Pour chacun d eux nous d finissons leurs caract ristiques Nous pouvons noter que ces types 139 Chapitre 6 Un environnement de d ploiement orient strat gies de strat gies ne sont pas exhaustifs et peuvent tre tendus en proposant de nouveaux choix par exemple Pour simplifier la pr sentation de ces exemples nous d finissons deux sous ensembles de l ensemble des unit s possibles e L ensemble ensemble Vrai est le sous ensemble compos des unit s qui v rifient la contrainte sur les unit s contrainte Unit s de la strat gie e L ensemble ensemble Faux est le sous ensemble compos des unit s qui ne v rifient pas la contrainte sur les unit s de la strat gie L union de ces deux ensembles constitue l ensemble des unit s possibles avant l application de la strat gie En fonction de la strat gie des traitements sont appliqu s sur l un ou l autre de ces sous ensembles ou sur les deux pour d terminer l ensemble des unit s conserver Les unit s de cet ensemble r sultat constituent les unit s contenues dans la structure d application cf le paragraphe 5 2 du chapitre 5 4 1 Strat gies de s lection Nous pr sentons trois types de strat gies de s lection Elles permettent de d terminer quelle s unit s doivent tre d ploy es sur cha
143. ateurs sur ses propres serveurs d applications L entreprise cr e ainsi sa propre architecture fonctionnelle de d ploiement m me si toutes les machines physiques appartiennent l entreprise 6 LES CONCEPTS DE BASE Chacun des niveaux producteur entreprise et utilisateur que nous venons de d finir a des fonctions pr cises Pour remplir ces fonctions au mieux un ensemble d informations doit tre connu et pris en compte Pour structurer ces informations nous d finissons plusieurs mod les e le mod le d entreprise e le mod le de machine ou mod le de site e le mod le de produit ou mod le d application e le plan de d ploiement ou mod le de d ploiement Ces diff rents l ments constituent les concepts de base li s au d ploiement Ils sont pr sent s bri vement ci dessous Ils seront d taill s dans les chapitres suivants 6 1 Mod le d entreprise Le mod le d entreprise repr sente la structure compl te de l entreprise o sont d ploy s les produits logiciels Ce mod le contient toute l organisation de l entreprise Ainsi par exemple il peut contenir la repr sentation des diff rentes quipes de travail les diff rents services de l entreprise ressources humaines comptabilit les divers utilisateurs mais aussi les machines appartenant l entreprise Ce mod le peut contenir un ensemble d informations qui sont ou non utilis es pour le d ploiement comme des
144. ation produit Un client choisissant la configuration 1 pourra faire de la conception graphique en 3 dimensions et de l animation vid o sur une machine Windows Un client optant pour la configuration 2 fera de la conception en deux dimensions sous Linux avec une aide au format texte Aide HTML Aide Conception Texte 3D Conception Interface 2D Windows mure Interface i aion Linux Vid o Configuration 1 Configuration 2 Figure 2 3 Exemples de composition d un produit Il faut aussi noter que le producteur peut fournir plusieurs versions de l application ayant les fonctionnalit s souhait es par le client par exemple deux versions impl ment es dans deux langages diff rents Le client re oit alors plusieurs versions d une m me application en fonction de ses besoins Ces versions sont quivalentes mais n ont pas les m mes caract ristiques langage syst me d exploitation L entreprise cliente peut ensuite choisir la les version s qui correspondent le mieux chacune des machines de son parc informatique Le client doit alors s lectionner quelle s version s il d sire d ployer sur ses machines Ce choix d pend d un ensemble de strat gies de d ploiement que l entreprise applique et des configurations mat rielles et logicielles des machines cibl es pour le d ploiement Ainsi avec une strat gie
145. ation de l entreprise en termes d quipes d agents humains et de r les Il est important de prendre en compte ces informations car elles peuvent influencer le processus de d ploiement ie Unit de 1 d ploiement producteur Extensions de l entreprise Service Ressources Humaines Service Comptabilit Figure 2 9 D finition d un plan de d ploiement pour l entreprise La Figure 2 9 indique un exemple des tapes r aliser au niveau entreprise Ici il s agit de d ployer une version pr cise d une application sur toutes les machines de l entreprise Certaines machines utilisent d j une version ant rieure de l application dans ce cas il s agit de faire une mise jour avec la nouvelle version D autres machines n ont jamais utiliser cette application il faut r aliser une premi re installation de la nouvelle version Pour cela il faut r aliser les tapes suivantes e ajout des extensions de l entreprise l unit version de l application de d ploiement rep re 1 e d finition d un plan de d ploiement r aliser dans l ordre suivant installer cf paragraphe 4 2 sur les machines du service des ressources humaines rep re 2 mettre jour cf paragraphe 4 4 les machines du service de comptabilit rep re 3 puis activer cf paragraphe 4 3 l unit pour les machines des ressources humaines rep re 4 A la fin de cette activit on obtient le
146. au service Les versions des diff rentes ressources doivent aussi tre mentionn es pour les distinguer les unes des autres Pour automatiser et adapter le d ploiement la plate forme cible le moteur de d ploiement doit aussi permettre l acc s et l analyse des donn es stock es dans les descripteurs de d ploiement sp cification des d pendances contexte de d ploiement Pour cela Resolvit propose un acc s local ou distant aux informations Enfin le moteur de d ploiement doit aussi prendre en compte les conditions de s curit et les co ts du service En effet le co t du d ploiement doit rester raisonnable et les conditions de s curit doivent tre respect es afin de ne pas d ployer des unit s non d sir es 3 3 3 M ta donn es et algorithme de d ploiement Un format de descripteur de d ploiement a t cr pour Resolvit utilisant un sch ma XML XmlS La gestion des d pendances est particuli rement importante dans le d ploiement des architectures orient es service c est pourquoi les d pendances sont explicitement et syst matiquement d crites dans le descripteur 66 Chapitre 3 Etat de l art et de la pratique Le descripteur de d ploiement contient les informations suivantes e information descriptive nom services offerts version fournisseur e d pendances avec d autres entit s services dans le cas d OSGi type des d pendances services requis
147. avons d j cit divers points dans les chapitres pr c dents Nous pr sentons ici quelques axes principaux th oriques et ou pratiques pour les perspectives de travail 2 1 1 Travail autour des strat gies Dans le chapitre 6 nous avons identifi plusieurs types d interactions avec les strat gies Qu il s agisse de composition de strat gies de conflit entre strat gies ou d interaction avec les d pendances le travail m rite d tre approfondi En effet aucun m canisme ne permet pour le moment de g rer ces interactions Il faut alors tudier la possibilit de d finir des m ta strat gies Une m ta strat gie permettrait de guider les interactions entre les strat gies et leur application Ainsi selon les op rations de d ploiement les strat gies pourraient tre utilis es diff remment Par exemple une m ta strat gie pourrait d finir dans quel ordre de priorit appliquer les diff rentes strat gies Une autre pourrait d finir quelles strat gies appliquer aux d pendances de l unit d ployer celles appliqu es l unit ou celles sp cifiques chaque d pendance Des m ta strat gies pourraient aussi d finir comment composer les diff rents types de strat gies comme par exemple indiquer quelles strat gies de s lection peuvent encore tre utilis es lors de l ordonnancement ou de l ex cution du plan de d ploiement Dans les travaux court terme nous pensons don
148. ble de g n rer le plan de d ploiement qui permet de d ployer une unit de d ploiement sur l ensemble des machines composant le groupe A un groupe sont appliqu es des strat gies Strategy pour d ployer des unit s de d ploiement sur les machines qui le composent Ces strat gies permettent de d finir des plans de d ploiement Diff rents types de strat gies peuvent tre appliqu s diff rents moments du d ploiement from Logical View deployActivityType amp expressionLogique String INSTALL amp deploymentActivity deployActivityType UPDATE choice String RECONFIGURE UNINSTALL ACTIVATE DESACTIVATE SelectionStrategy SchedulingStrategy ErrorStrategy SSaa aaa OS ee ae Tal Ec Figure 4 4 Raffinement de la classe Strategy Une strat gie peut se sp cialiser Figure 4 4 en diff rents types de strat gies d finis dans la suite du document Les strat gies peuvent tre associ es un groupe de machines ou une machine seule D autres types de strat gies peuvent tre ajout s pour tendre le mod le les types de strat gies d finis d pendant des besoins d une entreprise donn e 84 Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle Enfin en consid rant les concepts d un mod le g n ral d entreprise non sp cialis pour le d ploiement un groupe Group peut repr senter une entreprise Figure 4 5 ou une partie d une e
149. c tudier l utilit et la faisabilit de m ta strat gies pour le d ploiement Ce travail comporte non seulement la partie th orique traitant notamment la coh rence lors de composition de strat gies mais aussi l impl mentation des m canismes permettant de mettre en uvre des m ta strat gies Avec de tels m canismes il sera alors possible d assurer que l application des strat gies utilis es ne posera aucun probl me d interaction 195 Chapitre 8 Conclusion et perspectives 2 1 2 Structures de d ploiement Dans nos exemples nous n avons utilis que des parties du mod le d entreprise pour construire la structure d entreprise Cependant nous pouvons imaginer que pour certaines op rations de d ploiement la structure d entreprise utiliser doit tre enti rement reconstruite Par exemple la structure d entreprise peut tre le r sultat de la combinaison de caract ristiques logicielles machines fonctionnant sous Windows et de caract ristiques administratives machines des chefs de services des secr taires Dans ce cas il faut imaginer les langages m canismes et outils qui peuvent permettre une telle construction En ce qui concerne la structure de plan il faut approfondir le cas des n uds exprimant un choix En effet m me si ce type de n uds n a pas t impl ment certains choix peuvent encore tre possibles lors de l ex cution du plan de d ploiement Dans ce
150. c aussi disponible en plusieurs versions Chaque mod le de produit peut tre modifi si le changement r alis par les extensions ajoute des contraintes ou d pendances Les mod les de produit de chaque version unit de d ploiement de l application entreprise sont utilis s l tape suivante Ensuite il faut fixer o quand et comment le d ploiement du produit est r alis Diff rentes versions du produit peuvent tre d ploy es Il s agit d tablir un lien entre le produit de 36 Chapitre 2 Le d ploiement concepts et contexte de travail l entreprise disponible en plusieurs versions ou unit s de d ploiement et son organisation L organisation de l entreprise est d crite dans un mod le d entreprise associ des strat gies de d ploiement ensemble de contraintes de politiques de contr le du d ploiement et la m thode employer Ces strat gies peuvent exprimer toutes sortes de choses qui int ressent l entreprise pour le d ploiement dans son environnement Elles permettent par exemple de favoriser un type de produit impl mentation en java par exemple d ordonner les diff rentes tapes d un d ploiement sur la machine M1 puis sur la machine M2 par exemple de traiter les erreurs qui surviennent au cours du d ploiement retour arri re continuer d imposer un certain niveau de s curit de planifier le d ploiement pendant la nuit etc Le mod le de l entreprise d crit l organis
151. cas la structure de plan doit refl ter les diff rents degr s de libert encore disponibles Un tel n ud doit alors tre trait diff remment d un n ud o aucun choix n est possible Il faut conna tre sur quelles donn es unit cible de d ploiement doit se porter le choix r aliser s agit il de s lectionner une unit de d ploiement pour une machine cible s agit il de s lectionner une seule machine cible parmi un groupe D autres informations peuvent aussi tre ajout es pour permettre d orienter le choix Par exemple des strat gies sp cifiques peuvent tre associ es au type du choix r aliser Les structures utilis es lors du d ploiement peuvent donc tre approfondies Dans ce cas elles pourront donner plus de possibilit s l utilisateur La structure d entreprise pourra alors tre construite selon les besoins de chaque op ration de d ploiement et la structure de plan exprimera davantage de degr s de libert et d information sur la mani re de les traiter 2 1 3 Exp rimentation C t pratique quelques l ments doivent tre approfondis ou ajout s L impl mentation du langage de strat gies permettra alors l utilisateur de d finir lui m me les strat gies dont il a besoin En outre le cas du d ploiement de n applications chacune disponible en m versions sur p machines permettra de passer au cas le plus g n ral possible Une fois ces points ajout s
152. cation d une entreprise et les machines clientes de cette entreprise Nous verrons par la suite paragraphe 5 comment se situe le niveau entreprise Une fois l application transf r e le client s il le souhaite peut personnaliser son application pp peut p pp 3 3 Personnalisation de l application Le producteur doit aussi fournir un environnement de travail pour que les propres extensions ou le param trage de l entreprise cliente puissent tre int gr es l application Lors de telles changements de nouvelles contraintes ou d pendances peuvent tre ajout es Dans ce cas le mod le de produit est modifi pour prendre en compte les nouvelles informations De plus l entreprise peut personnaliser l application pour chaque membre du personnel Les besoins de chaque employ sont d finis dans le mod le d entreprise Ainsi chaque employ ou groupe d employ s peut avoir une configuration particuli re et sp cifique ses besoins L entreprise choisit ensuite une strat gie de d ploiement Par exemple une strat gie dite du big bang consiste d ployer l application vers tous les utilisateurs en m me temps D autres strat gies moins globales sont possibles selon les besoins de l entreprise tablir un ordre partiel de d ploiement quand d ployer les d pendances d un produit Apr s ces tapes on sait quel utilisateur recevra quelle version de l application et quel moment Il ne reste alors plu
153. cation sur un site client sans connaitre quel serveur d applications la fournie c est la f d ration qui se charge de faire la recherche La technologie des f d rations alli e la technologie des proc d s semble donc une solution int ressante pour r soudre la probl matique du d ploiement Pour v rifier ces avantages nous d finissons l architecture de notre syst me de d ploiement en utilisant ces deux technologies 4 ARCHITECTURE DU SYSTEME Le d ploiement met en jeu des informations li es Figure 5 6 e aux unit s qui sont d ploy es e aux machines qui re oivent les unit s e l entreprise o sont d ploy es les unit s et e au plan de d ploiement utilis pour d ployer les unit s Notre environnement de d ploiement ORYA Open enviRonment to deploY Applications est bas sur les technologies des f d rations et des proc d s Cette partie d crit l architecture de l environnement sur la base de ces technologies 113 Chapitre 5 ORYA mise en ceuvre des mod les et conception D ploiement Plan D ploiement Figure 5 6 Informations li es au d ploiement 4 1 Obtention des diff rents mod les Dans le chapitre pr c dent nous avons s par le m ta mod le de d ploiement en trois parties principales et une quatri me obtenue partir des autres plan de d ploiement Ces trois parties constituent les mod les des diff rents domaines conceptuels qui sont
154. cccsssesssscccccccesesssscscccccesscsssesccsesesscsssesee L57 7 1 INTERACTION DES STRATEGIES ENTRE ELLES ss 158 7 2 INTERACTION DES STRATEGIES AVEC LES D PENDANCES sssssseeececeeceeeessseseeesceeseeeees 159 8 EVALUATION DES CHOIX 63 cseccdesedsivecicieossacedesssacasSoocdnsedssidccseswoseudenssseedesedossecdsedesesvecesscse LO Ou INTERACTION DES STRATEGIES uor intren a A A TEA AE R ea don I 160 8 2 STRUCTURE DE PLAN ET STRUCTURE D ENTREPRISE eee 161 Xi CHAPITRE 7 ORYA REALISATION ET VALUATION sms 163 Ty INTRODUCTION sise ner AA ATAA tent te entente dattes insu dote andere i 165 2 UN ENVIRONNEMENT POUR LE DEPLOIEMENT AUTOMATISE ORYA VERSION 1 165 2 PROCEDE DE D PLOIEMENT 5 5 coves decd oveg ss Biche r oui een Aiekevdudadebaba a 166 2 2 LYEFINITION DES MODELES gasi ceiisesdedetusude scecsante dec ssesos cet de dodesededcvctvevedededeicsseeeberttesesetes 167 2 3 FEDERATION POUR LE DEPLOIEMENT mreno ai a aa E eA 169 3 UNE EXPERIMENTATION INDUSTRIELLE DE ORYA VERSION 1 ccccccssssssssscsssceceeeeees 171 3 1 PRESENTATION DU GAS D TUDE 8 ever trans Aa entrer et eine 172 3 2 UTILISATION Di ORY AS Le mn ne se need 173 3 3 EVALUATION DE L EXPERIMENTATION ieaiai t Eiai e E A EA ET NEE EES 173 4 UN ENVIRONNEMENT DE D PLOIEMENT ORIENT STRAT GIES ORYA VERSION 2 174 4 1 LES BASES DE ORYA VERSION 2 cccccccccccceesssssesesccccceesssssesesccccceeeesssseeeeesesseeeeesssseess 174 4 2
155. ces donn es et les concepts du m ta mod le La mise en uvre de notre m ta mod le et son impl mentation utilise la technologie des f d rations Ce choix permet de simplifier la r utilisation En effet il est possible de composer des domaines d j existants entre eux pour former une application C est ainsi que nous avons construit notre environnement de d ploiement 1 2 2 Plan de d ploiement et automatisation Dans notre approche nous avons choisi de construire un plan de d ploiement Ce plan est tout d abord construit partir des informations disponibles Il est ensuite ex cut pour effectuer les diff rentes tapes du d ploiement Un plan de d ploiement unitaire est fourni par le producteur fournisseur de l unit d ployer Ce plan constitue la brique de base d un plan de d ploiement global Il indique les instructions r aliser pour d ployer l unit laquelle il est associ sur une machine cible Un plan de d ploiement global est construit de mani re automatis e partir des informations de l entreprise caract ristiques des machines strat gies de d ploiement Un tel plan permet de d ployer un ensemble d unit s de d ploiement sur un ensemble de machines cibles Le plan de d ploiement global doit refl ter l application des strat gies de d ploiement mais aussi les diff rents degr s de libert qui sont encore possibles pour son ex cution L application des strat
156. chapitre nous pr sentons tout d abord la r alisation de la premi re version d ORYA Cette version a t exp riment e dans un milieu industriel ce qui a permis d valuer les points forts et points faibles de cette premi re approche Puis nous abordons la r alisation de la deuxi me version d ORYA suivie de son valuation C est cette deuxi me version qui constitue la partie la plus originale de mon travail d impl mentation 2 UN ENVIRONNEMENT POUR LE DEPLOIEMENT AUTOMATISE ORYA VERSION 1 Nous d finissons ici une premi re version de notre environnement de d ploiement ORYA Open enviRonment to deploY Applications Parmi les concepts de base MB04 a seuls les mod les de produit et de site sont utilis s dans cette premi re version Le mod le d entreprise et les strat gies sont utilis s dans la deuxi me version de notre environnement Une version d une application unit de d ploiement est d crite par un manifeste qui contient l ensemble de l information sur l application caract ristiques contraintes etc Une machine est d crite par son descripteur mod le de site Chaque machine consid r e comme client de la f d ration peut tre un serveur d applications et ou un site client De plus un serveur de d ploiement machine o s ex cute le moteur de la f d ration d clenche et contr le le d ploiement d applications Un serveur d applications est charg de fournir un en
157. che consiste donc a ex cuter correctement les politiques de d ploiement sur un ensemble donn de ressources annot es pour un groupe d utilisateurs donn Enfin l utilisateur final est celui qui utilise le logiciel d ploy sur la plate forme cliente Apr s avoir d fini les diff rents acteurs qui entrent en jeu dans le mod le nous introduisons dans la suite les concepts de base du mod le 2 2 2 Les concepts Plusieurs concepts sont d finis dans le mod le abstrait de d ploiement Java Les principaux sont l AH Application Helper l environnement client et les politiques de d ploiement L AH Application Helper est un programme qui s ex cute localement sur les plates formes clientes Les plates formes clientes supportent le t l chargement l installation physique et les ex cutions sous jacentes des applications d ployer L AH peut tre vu comme une interface entre le serveur de d ploiement et le client Figure 3 2 Serveur de AH QC Application d ploiement Connexion distante Connexion locale exemple HTTP exemple Java APIS Figure 3 2 Le r le de l AH En outre l environnement client est une description formelle de la configuration courante de la plate forme cliente Cette description rassemble aussi bien les caract ristiques mat rielles que logicielles ou autres L environnement d finit une instance courante du client Il est constitu d un en
158. che ou celles li es aux outils commerciaux Dans ce chapitre nous nous limitons aux approches utilisant des mod les ou aux approches ayant un lien avec le d ploiement grande chelle et l utilisation de strat gies de d ploiement Ces deux th mes sont les objectifs principaux de cette th se c est pourquoi nous nous focalisons sur eux 2 DES MODELES GENERIQUES POUR LE DEPLOIEMENT Plusieurs mod les pour le d ploiement ont t d finis Nous en pr sentons ici trois celui propos par OMG celui associ Java et un autre pour les applications base de composants issu du monde de la recherche 2 1 Sp cification pour le d ploiement et la configuration d applications distribu es base de composants propos e par l OMG L OMG propose une sp cification pour le d ploiement et la configuration d applications distribu es base de composants Omg04 Cette sp cification est en partie bas e sur l ing nierie dirig e par les mod les MDE En effet elle d finit un mod le ind pendant de la plate forme PIM sp cialiser en un mod le sp cifique une plate forme PSM selon un mod le composants particulier Pour pr senter ce mod le nous d crivons d abord la d composition du mod le d fini puis les acteurs qui interviennent au cours du d ploiement 2 1 1 D composition du mod le Trois domaines diff rents sont utilis s dans la sp cification de OMG 47 Chapitre 3 Etat d
159. ci e a un ensemble de caract ristiques qui lui sont propres CLM0S5 137 Chapitre 6 Un environnement de d ploiement orient strat gies 3 1 Cat gories et types de strat gies Diff rentes cat gories de strat gies interviennent a divers moments de la construction du plan de d ploiement Ainsi l utilisation des strat gies permet de e S lectionner les unit s d ployer O et quoi d ployer Il s agit de d terminer quelle s unit s d ployer sur quelle s machine s e D finir le plan de d ploiement Quand et comment d ployer Il s agit d ordonner les diff rentes tapes d ploiements unitaires r aliser pour effectuer le d ploiement complet Ces actions incluent le d ploiement des d pendances de l unit ou non De plus l ordonnancement obtenu peut tre total ou partiel e Personnaliser l ex cution du plan de d ploiement Il s agit principalement d ajouter le traitement des erreurs Il s agit par exemple des erreurs qui peuvent appara tre lors de l ex cution du plan de d ploiement notamment cause de l volution des sites depuis la construction du plan de d ploiement Il peut aussi s agir de fixer les diff rents degr s de libert s qui n ont pas t fix s lors des tapes pr c dentes s lection incompl te des unit s ou cibles de d ploiement Une fois l ensemble des strat gies appliqu es un plan personnalis de d ploiement global est cr
160. cre emenn KUn rei gei TEE R ee cates NANOM i ar CS Ne gt i ae ty 3 E lances D rer EN EN i phog pny Figure 5 15 Structure d application 122 Chapitre 5 ORYA mise en ceuvre des mod les et conception L un des arbres repr sentant une unit de d ploiement est agrandi dans la Figure 5 15 ce qui permet de mettre en vidence ses diff rentes caract ristiques Une unit de d ploiement repr sente une version donn e d une application A chaque unit est associ e ses contraintes et ses propri t s De plus chaque unit peut avoir des d pendances de plusieurs types Seules les d pendances obligatoires et les d pendances de remplacement apparaissent sur la figure Les diff rents types de d pendances sont mat rialis s par le type de lien entre l unit de d ploiement et ses fils Ainsi tous les types de d pendances peuvent tre repr sent s dans la structure Par la suite nous nous int ressons plus particuli rement aux d pendances obligatoires et de remplacement Comme chacune des d pendances d une unit est elle m me une unit elle peut aussi avoir des d pendances et ainsi de suite On obtient alors un arbre qui repr sente l unit et tout le chemin des d pendances Une unit qui n a pas de fils est une unit qui n a pas de d pendances 5 3 Structure de plan Nous avons vu dans le chapitre pr c dent que le plan de d ploiement permet d ordonnancer les diff rents d ploiem
161. cult du travail pour d finir un m ta mod le de d ploiement est de s abstraire de toute notion sp cifique pour ne d gager que les concepts communs Ainsi par exemple les concepts de service dans des mod les comme OSGi Osg03 ou de composant dans des mod les comme CCM Ccm03 par exemple sont bannir Pour les machines il faut s abstraire des notions sp cifiques un PC un ordinateur portable ou une grappe De m me pour l entreprise dans le contexte du d ploiement il faut oublier les concepts de d partement d quipe ou de r le pour ne conserver que la notion de groupe de machines Nous verrons dans le chapitre suivant comment le m ta mod le est adaptable aux concepts sp cifiques en rattachant les concepts sp cifiques aux concepts g n riques Enfin dans notre approche nous avons choisi de cr er un plan de d ploiement rassemblant toutes les tapes r aliser pour effectuer un d ploiement de n applications sur p machines Ce plan de d ploiement doit aussi tre ind pendant de toute notion sp cifique la mani re dont il va tre utilis par exemple des t ches ANT un proc d un langage Comme le montre la Figure 4 1 pour construire le plan de d ploiement diff rents concepts sont utilis s Ensuite chacun des domaines de concepts peut tre personnalis selon des mod les sp cifiques Entreprise aN D ploiement oN a Y rl Personnalisation
162. curs 0 maxOccurs 1 gt lt xsd sequence gt lt xsd complexType gt lt xsd complexType name Step gt lt xsd sequence gt lt xsd element name do type RoleType gt lt xsd element name verification type RoleType minOccurs 0 maxOccurs unbounded gt lt xsd element name undo type RoleType minOccurs 0 maxOccurs 1 gt lt xsd element name comment type xsd string minOccurs 0 maxOccurs 1 gt lt xsd sequence gt lt xsd attribute name stepName type xsd string gt lt xsd complexType gt lt xsd element name Install gt lt xsd comp lexType gt lt xsd sequence gt lt xsd element name propertiesFile type xsd string minOccurs 0 maxOccurs 1 gt lt xsd element name property type Property minOccurs 0 maxOccurs unbounded gt lt xsd element name extract type Step gt lt xsd element name instalistep type Step minOccurs 1 maxOccurs unbounded gt lt xsd element name terminate type Step gt lt xsd element name comment type xsd string minOccurs 0 maxOccurs 1 gt lt xsd isequence gt lt xsd complexType gt lt xsd element gt lt xsd schema gt Figure 7 3 Sch ma d un descripteur de d ploiement 168 Chapitre 7 ORYA r alisation et valuation Un descripteur de d ploiement disponible dans le package de l application nonce la liste des tapes ordonn es r aliser pour d ployer l application Il s agit des tapes s
163. data We also define deployment strategies which allow enterprises to define their own deployment constraints according to their needs and preferences KEYWORDS Large scale deployment enterprise deployment strategies deployment metamodel ORYA viii TABLE DES MATIERES CHAPITRE 1 INTRODUCTION scsccscsoossssssssssssscccccceescscsssscscccccssescccsssssscssssesess 15 1 CONTEXTE DE TRAVAIL Lisscesccscessscecacesscedecsessescsdeonedoccssseeccscusncceseses steed saseeoesdesseossedsdseoesesees 17 2 PROBL MATIQUE ET OBJECTIFS scvsscssoscossesesececuscscsesedsssececcccosccssseeseooevecceseses sess coseccnseeseees 18 3 D MARCHE SUIVIE ssccscssccccceecesossacessecdecsoscccsscosecccosnsedecedcsescococscssedeesseececcedescbeseesencabecossceees 19 4 ORGANISATION DU DOCUMENT ssseeessseccsssseosossccccseeesoscccosseecossssoossecccosseesosssecssseccossseossose 20 Te INTRODUCTION sien nee A sie 25 2 DEPLOIEMENT VS D PLOIEMENT GRANDE ECHELLE ccccsssssssssssssssoscccecccecceesceescoscs ces 25 3 LES TAPES D UN D PLOIEMENT ccscsssccccsecssssscccccecececsssssscecccsccessssceceecesessssescccesecscesses 27 3 1 COMPOSITION D UNE APPLICATION crire ee n e a a e A it 27 3 2 TRANSFERT DEL APPLICATION ccsssscceeeccceecceeesseeeeceseeseseessescecesesesssseuaneseeeessssesuaannnens 28 3 3 PERSONNALISATION DE L APPLICATION sirin iivet iessen eio lisik a r i RAN a rah 29 3 4 D PLOIEMENT CONCRE laaro TE EEE E EIRE
164. des plans fils est ex cut le choix du plan ex cuter peut d pendre de strat gies l ex cution du plan Dans l exemple de la Figure 5 16 pour le sous arbre dont la racine est le n ud xor un seul des plans PO ou P1 est ex cut De nouveaux types de n uds peuvent tre envisag s pour d finir de nouveaux degr s de libert Ainsi par exemple un n ud pourrait tre d fini pour exprimer qu il faut ex cuter n plans de d ploiement fils parmi un ensemble de p p gt n 122 Chapitre 5 ORYA mise en ceuvre des mod les et conception De m me d autres types de n uds pourraient tre ajout s pour affiner la d finition du n ud parallel il peut s agir e un d ploiement qui d bute en parall le si des tapes suivent le d ploiement parallel elles peuvent d buter d s que l un des plans ex cuter en parall le est termin e d un d ploiement qui doit se terminer en m me temps si d autres tapes suivent elles doivent attendre la fin de tous les plans ex cuter en parall le pour d buter leur ex cution 6 MISE EN UVRE DES CONCEPTS COMPLEMENTAIRES AU DEPLOIEMENT Nous avons vu dans le chapitre pr c dent que des concepts compl mentaires au d ploiement taient utilis s Les propri t s sont simplement un couple lt nom valeur gt et n exigent pas de mise en uvre particuli re ou complexe Cependant des d pendances entre unit s et des contraintes impos es par les un
165. dre de la programmation orient e aspect KLM 97 La difficult consiste alors trouver un quilibre permettant la fois de contr ler les strat gies appliqu es et d offrir un ensemble de possibilit s assez large Pour contr ler davantage l application des strat gies il est possible de restreindre un peu les possibilit s offertes pour limiter les interactions avec les strat gies notamment e en for ant les contrainte Unit s tre exclusives entre elles ou en instaurant des priorit s strictes entre elles pour liminer les conflits entre strat gies de m me type 160 Chapitre 6 Un environnement de d ploiement orient strat gies e en for ant une s lection compl te des unit s d ployer avant de d buter l ordonnancement du plan de d ploiement pour viter la composition de strat gies de cat gories diff rentes e en imposant un choix sur la mani re d utiliser les strat gies pour les d pendances des unit s Il serait alors aussi possible d imaginer des m ta strat gies permettant de d terminer quelles strat gies appliquer et comment r soudre les interactions entre elles Selon les d ploiements il deviendrait possible d utiliser les strat gies diff remment Par exemple une m ta strat gie peut indiquer quelles strat gies appliquer pour les d pendances d une unit celles appliqu es l unit ou celles sp cifiques chaque d pendance De la m me mani re il est
166. du d ploiement Chapitre 3 Etat de l art et de la pratique 46 Chapitre 3 Etat de l art et de la pratique 1 INTRODUCTION Diff rentes approches ont pu tre d finies et utilis es pour tenter de r pondre la probl matique du d ploiement Parmi ces approches les derni res appara tre sont celles qui utilisent une approche base de mod les Ces approches sont mettre en relation avec les approches MDE Model Driven Engineering Fav04 Omg03 a qui prennent de plus en plus d importance dans le monde de la recherche Ce chapitre commence donc par pr senter quelques mod les d finis pour le d ploiement En utilisant ces mod les dont certains deviennent plus ou moins des standards dans le domaine ou en d finissant leurs propres mod les plus sp cifiques les chercheurs proposent des environnements de d ploiement Quelques uns d entre eux sont donc pr sent s dans la suite du chapitre Ensuite des outils commerciaux sont aussi d crits Une quantit assez importante d outils existe mais la plupart d entre eux reste plus ou moins sp cifique quand leurs objectifs En effet nous avons vu dans le chapitre pr c dent que le d ploiement met en jeu beaucoup de probl matiques et les outils existants r pondent rarement toutes Enfin nous terminons ce chapitre par une synth se de l ensemble des informations nonc es que ce soit celles li es aux mod les celles li es aux environnements de recher
167. ducteur utilise des serveurs de d ploiement qui stockent les ressources pr tes a tre demand es en mode pull ou envoy es en mode push aux utilisateurs finaux Ind pendamment le serveur de d ploiement peut tre configur par l organisation du distributeur Lors du t l chargement et de l installation du logiciel un AH est aussi t l charg et install L AH est fourni par le distributeur Il est install lanc g re l installation de l application l ex cute et fournit d autres services de d ploiement l application en ex cution d buggage mise jour Comme le montre la Figure 3 3 le mod le de d ploiement Java comporte les diff rentes phases suivantes e D veloppement Le logiciel d ployer est produit et associ des politiques de d ploiement pour la publication e Publication A la fin de cette tape le logiciel est pr t pour l installation pour les utilisateurs e Gestion du Serveur de D ploiement SD Cette tape comporte la maintenance et la gestion des op rations r plication mise jour configuration effectu es sur les serveurs de d ploiement e Installation de PAH L AH est install pour la premi re fois sur la plate forme cliente e Ex cution de AH L AH est lanc puis il analyse la situation du client et d cide que faire t l chargement et installation ex cution si l application est d j install e gestion de l appl
168. e UPDATE gt lt xsd enumeration value RECONFIGURE gt lt xsd enumeration value UNINSTALL gt lt xsd enumeration value ACTIVATE gt lt xsd enumeration value DESACTIVATE gt lt xsd restriction gt lt xsd simpleType gt lt xsd schema gt Figure 7 11 Sch ma d un descripteur de structure de plan La m thode suivante permet de cr er un n ud repr sentant un plan de d ploiement public NodePlanType orderNodePlan Noeud noeud String deployActivity La construction du plan de d ploiement d pend du type du n ud de la structure d entreprise qui est parcourue Pour les n uds de type GROUP il faut tout d abord transmettre les strat gies de type CHRONOLOGIE UNITES En effet celles ci seront utilis es au niveau des machines pour d terminer si le d ploiement des d pendances doit pr c der ou suivre celui de l unit Ensuite il faut consulter les strat gies de type CHRONOLOGIE MACHINES pour d terminer le type du n ud cr er ORDERED AND Puis il faut effectuer les appels r cursifs permettant de construire les plans fils et ajouter ses plans dans l ordre indiqu par la strat gie Au niveau d un n ud de type MACHINE si l unit d ployer a des d pendances il faut consulter les strat gies de type CHRONOLOGIE UNITES pour d terminer l ordre de d ploiement En fonction de ces strat gies il faut cr er le n ud correspondant et les feuilles du plan de d ploiement Si l
169. e configurer les diff rents composants pour leur future ex cution e L tape de planning d finit comment et o l application s ex cutera dans l environnement cible e La pr paration r alise le travail n cessaire pour que l environnement cible soit pr t ex cuter l application e Le lancement am ne l application dans un tat d ex cution en utilisant les ressources n cessaires Le mod le ind pendant de la plate forme est d fini en prenant en compte l ensemble de ces informations 2 1 2 Mod le ind pendant de la plate forme PIM Le mod le est sectionn en plusieurs grandes parties e mod le de donn es et mod le de gestion de composant e mod le de donn es et mod le de gestion de cible de d ploiement e mod le de donn es et mod le de gestion d ex cution Les mod les de donn es descriptifs sont ainsi s par s des mod les de gestion permettant d effectuer une s rie d op rations sur les donn es 2 1 2 1 Mod le de composant Le mod le composants est bas sur une vision composant standard A nsi un composant a une interface et peut tre connect d autres composants par l interm diaire de ports Un composant peut avoir une impl mentation monolithique un seul artefact Un composant peut aussi tre un composant composite c est dire impl ment par un assemblage de composants ensemble de sous composants interconnect s Un package de com
170. e contraintes Pour plus de flexibilit et pour pouvoir d finir divers types de contrainte nous proposons un langage de d finition de contraintes Pour cela nous d crivons la grammaire BNF correspondante puis nous donnons quelques exemples permettant de l illustrer Tout d abord une contrainte est d finie selon un triplet comportant un crit re expressionBool enne une activit de d ploiement activit DeD ploiement et une post action action S mantique ON activit DeD ploiement IF expressionBool enne THEN action ELSE Abort Le crit re expressionBool enne est une expression bool enne permettant d valuer les caract ristiques et propri t s d un site client en fonction des besoins de l unit de d ploiement Cette expression devra tre vraie pour que l unit de d ploiement puisse tre d ploy e et fonctionner correctement sur le site cible lt contrainte gt lt activit DeD ploiement expressionBool enne action gt lt activit DeD ploiement gt INSTALL UPDATE RECONFIGUR UNINSTALL ACTIVATE DESACTIVATE Gl L activit activit DeD ploiement est le nom de l une des activit s du cycle de vie du d ploiement La contrainte n est appliqu e que lors de la r alisation de cette activit Enfin la post action action est r alis e si le crit re expressionBool enne est rempli et que l unit de d ploiement est d ploy e Si auc
171. e de pouvoir compter sur quelques piliers Je pense bien s r ma famille et mes ami e js Merci Damien pour tellement de choses depuis les d couvertes culinaires jusqu aux plaisanteries depuis les d couvertes montagnardes jusqu au r confort des moments de doute en passant par tout le reste Merci Virginie pour ce sourire et cette bonne humeur qui d placeraient des montagnes Merci aussi Christophe Anne Corinne Christine et quelques autres d avoir t l un moment ou un autre tout simplement J ai aussi une pens e pour C line qui n a rien oubli et surtout pas de prendre de mes nouvelles r guli rement Et les derniers mais non les moindres ce sont ceux qui sont l depuis toujours et qui m ont soutenue dans tout ce que j ai pu entreprendre mes parents et mon fr re Jean Michel C tait la fois tr s touchant et un peu g nant de lire toutes ces choses dans vos regards Ce travail c est aussi un peu de chacun de vous Et je ne pourrais pas terminer cette page sans avoir une pens e tr s mue pour ceux qui nous ont quitt s beaucoup trop t t et en particulier pour ma s ur Claire Si je suis l aujourd hui c est aussi pour et gr ce tol RESUME Le d ploiement arrive en fin de cycle de vie du logiciel Cette tape a pris une grande importance dans les entreprise ayant un grand nombre de machines g rer on parle alors de d ploiement a grande chelle Les entreprises souh
172. e des ressources humaines Un autre exemple serait que l ensemble des machines des d veloppeurs informatiques doit avoir la m me version d un compilateur 26 Chapitre 2 Le d ploiement concepts et contexte de travail Pour ne pas g ner les utilisateurs de l entreprise dans leur travail il est aussi int ressant de pouvoir programmer le d ploiement d applications des moments de la journ e o le travail des employ s n est pas perturb Pour de telles activit s un environnement automatis pour le d ploiement et supportant des strat gies est indispensable Les entreprises tant souvent compos es d un ensemble de machines h t rog nes un environnement de d ploiement doit prendre en compte ce genre d information En effet il doit pouvoir g rer tout type de machines PC serveurs ordinateurs portables Il doit aussi prendre en compte les diff rences logicielles pour permettre de d ployer des applications sous divers syst mes d exploitation Windows Linux Un support automatis pour le d ploiement permet aussi aux entreprises d avoir un contr le complet sur l ensemble des machines En effet dans cette situation les utilisateurs n installent plus eux m me les applications dont ils ont besoin via Internet ou via un CD d installation Tout d ploiement passe alors par l environnement de d ploiement g r par les administrateurs et ou les responsables Ainsi tout moment il
173. e l art et de la pratique e les applications base de composants e l environnement cible e le proc d de d ploiement Les applications base de composants doivent tre d crites pr cis ment pour permettre leur d ploiement sur une cible e Un composant peut avoir des impl mentations qui sont soit du code compil soit un assemblage d autres composants e Un assemblage de composants est un ensemble de composants et leurs interconnexions e Une application d ployer est consid r e comme un simple composant il n y a pas d interface sp cifique pour les composants qui peuvent tre d ploy s comme des applications e Les composants sont distribu s en packages e Un package est un ensemble de m ta donn es et des modules de code compil correspondants Il peut contenir plusieurs impl mentations d une interface de composant ceci permet de choisir l impl mentation correspondant le mieux l environnement cible e De plus une impl mentation de composant impose des contraintes qui devront tre satisfaites par les propri t s du syst me cible Les contraintes d un assemblage de composants sont celles des sous composants et celles de leurs connexions L environnement cible d crit les caract ristiques de l environnement o les composants sont d ploy s puis utilis s e Un environnement cible est appel domaine e Un domaine est compos de n uds d interconnexions et de passe
174. e support Dans ce cas le producteur ne fournit plus de nouvelles versions ni de services assistance t l phonique par exemple concernant le produit Cette activit arr te l volution du produit dans le temps Apr s cette activit l application ne peut donc plus tre mise jour chez les clients l utilisant Elle n est plus disponible non plus pour tre install e chez de nouveaux clients Les clients chez lesquels l application est d j install e peuvent eux quand m me continuer l utiliser 5 ARCHITECTURE FONCTIONNELLE Dans les parties pr c dentes nous avons pr sent les concepts sp cifiques au d ploiement Nous montrons maintenant comment ces concepts s adaptent notre contexte de travail en passant au cas du d ploiement grande chelle Ce cas concerne les entreprises qui doivent g rer un grand nombre de machines cibles Les sections suivantes pr sentent notre vision du d ploiement grande chelle et les travaux d j effectu s dans notre quipe de recherche Dans ces sections des termes plus g n riques sont utilis s nous parlons ainsi plus facilement de produit que d application puisque nous nous int ressons au d ploiement au sens large du terme d ploiement d applications ou de composants d applications Producteur Entreprise Utilisateur Client Figure 2 7 Les trois acteurs du d ploiement 34 Chapitre
175. ectant les contraintes et strat gies de d ploiement L ordre ainsi obtenu peut tre partiel ou total En effet l ordre peut ne pas tre enti rement d termin Le plan de d ploiement peut donc pr senter diff rents degr s de libert s et donc contenir des choix Ces degr s peuvent concerner l ordre de d ploiement mais aussi la s lection des unit s d ployer version s d ployer sur une machine d pendances s lectives L ordre sera totalement 96 Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle d termin lors de l ex cution du plan de d ploiement par exemple en appliquant des strat gies compl mentaires de d ploiement En effet des strat gies peuvent tre d finies pour la phase d ex cution du plan Ces strat gies pourront par exemple prendre en compte la disponibilit des machines ou les connexions r seaux Les degr s de libert accord s au plan de d ploiement d pendent des choix de mise en uvre et d impl mentation choisis par l entreprise En effet certaines entreprises peuvent pr f rer faire les choix n cessaires le plus tard possible D autres au contraire pr f rent tout fixer avant le d but de l ex cution du plan de d ploiement Dans ce deuxi me cas le plan de d ploiement global obtenu est alors reproductible il peut tre ex cut plusieurs fois et donnera toujours la m me liste d tapes dans le m me ordre
176. el support peut servir effectuer toute l administration du parc informatique de l entreprise Pour les entreprises il est aussi n cessaire de prendre en compte toute leur organisation Figure 2 2 pour g rer le d ploiement En effet les utilisateurs selon leur fonction n ont pas les m mes besoins logiciels Ainsi un responsable du personnel n a pas les m mes besoins qu un d veloppeur informatique Diff rents groupes de machines peuvent ainsi tre form s certains ayant des intersections avec d autres Un support pour le d ploiement doit pouvoir prendre en compte les diff rences de besoins et la structuration des machines de l entreprise TERN ty EU a E Pii TEDN Jm wn f a a ss as D veloppeurs Ie 2 J a D Ressources a ji humaines lt de service Figure 2 2 Exemple d organisation d une entreprise Par exemple sur la Figure 2 2 quatre groupes sont visibles les d veloppeurs informatiques le services des ressources humaines les commerciaux et l ensemble des chefs de service Nous pouvons noter que certaines machines appartiennent plusieurs groupes ressources humaines et chefs de service par exemple En outre l organisation de l entreprise peut aussi permettre de d finir des strat gies de d ploiement HHW99 c Par exemple il faut pouvoir exprimer qu un d ploiement doit se faire pour les machines du service informatique avant les machines du servic
177. elle ci d signent si les d pendances doivent aussi tre d ploy es ou non Les strat gies indiquent aussi quel moment les unit s d pendantes peuvent doivent tre d ploy es 89 Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle Plusieurs types de d pendances peuvent tre identifi s RDU04 et trait es de mani re diff rentes Parmi les types de d pendances nous consid rons e les d pendances obligatoires e les d pendances de conflit e les d pendances s lectives e les d pendances de remplacement e les d pendances facultatives Les paragraphes suivants d taillent ces diff rents types de d pendances 3 1 Les d pendances obligatoires On dit qu une unit de d ploiement 4 d pend d pendance obligatoire d une unit B lorsque Aa besoin de B pour s ex cuter correctement Dans ce cas plusieurs strat gies de d ploiement peuvent tre appliqu es Par exemple l entreprise peut d cider de d ployer les d pendances en m me temps que l unit de d ploiement c est dire d ployer B en m me temps que A L entreprise peut aussi choisir de ne d ployer que et d attendre qu l ex cution utilise B pour d ployer B en esp rant que B ne soit pas n cessaire tout de suite ou alors qu il s agisse d une d pendance dont n a pas syst matiquement besoin pour s ex cuter 3 2 Les d pendances de conflit Il existe
178. emins de d ploiement Ces param tres seront instanci s lors du d ploiement de l unit sur chaque machine cible en fonction de la liste de ses propri t s Property Selon sa sp cialisation les instructions de d ploiement peuvent prendre plusieurs formes comme par exemple un langage interpr ter ou un proc d ex cuter 6 1 2 Plan de d ploiement global Lorsque l entreprise a acc s des unit s de d ploiement l administrateur peut demander leur d ploiement sur l un des groupes de l entreprise Pour cela il faut g n rer automatiquement le plan de d ploiement global Un plan de d ploiement global concerne donc le d ploiement de n unit s sur p machines Les diff rents plans de d ploiement unitaires concernant un couple lt unit de d ploiement machine cible gt servent alors de briques de base pour construire le plan de d ploiement global Il faut noter que le choix de r aliser un plan de d ploiement peut entra ner de nouveaux cas d erreur En effet l environnement cible de d ploiement peut tre modifi entre le moment o le plan a t construit et le moment o le plan est ex cut Il peut s agir du d ploiement de nouvelles unit s d une modification de configuration d une machine etc Il faut alors penser proposer un m canisme de gestion des erreurs pour faciliter le travail de l utilisateur dans de tels cas Pour cela nous verrons plus tard que des strat gies peuvent
179. emple une d pendance vers une unit de documentation ou vers un module optionnel du logiciel peut tre qualifi e de facultative le produit peut fonctionner sans ces unit s mais l utilisateur aura plus de possibilit s si elles sont pr sentes Dans ce cas l entreprise peut d cider de toujours d ployer ce type de d pendances pour offrir le maximum d options aux utilisateurs Elle peut aussi choisir de ne jamais les d ployer en d ployant des versions minimales sur chaque machine Elle peut aussi appliquer des strat gies plus complexes comme de d ployer ces d pendances dans le cas o l espace disque est suffisant par exemple 91 Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle 4 CONTRAINTES ET STRATEGIES DE DEPLOIEMENT Dans la mod lisation nous avons choisi d associer des contraintes Constraint aux unit s de d ploiement et des strat gies Strategy aux entit s de l entreprise De plus des propri t s Property permettent de d crire les unit s mais aussi les machines cibles Celles ci sont donc associ es aussi bien au niveau des produits unit s qu au niveau des sites machines de l entreprise Les contraintes d une unit repr sentent alors l ensemble des caract ristiques que doit avoir une machine cible pour pouvoir l accueillir Il s agit ici de v rifier si l unit peut tre d ploy e suffisamment d espace disque par exemple et
180. en sseSedece einen dre dde e hs tete e needs de 39 6 2 MOD LE DE MACHINE 255 aE NEEE NEEE EEEE A tn en antennes ete ten 40 6 3 MOD LE DE PRODUIT ciinei a a aE EEEE aE ra Ea AEEA 40 6 4 PLAN DE DEPLOIEMENT T inir arr e E nn AEEA A E TEA 41 7 NOTRE APPROCHE DU D PLOIEMENT GRANDE ECHELLE cccccccssssssssssscsssscsssssssssssees 41 8 SYNTH SE ssscssiessbeccciestacsnedoscuccsasseussncwoocssuctendeccesoseescecccosusvecesusdece soocwescesceececdsdecdvetescescasorse 42 CHAPITRE 3 ETAT DE L ART ET DE LA PRATIOUE cccccsosssssvsssssssccceeeeees 45 1 INTRODUCTION sta nn ANNELA ee E rte ses sat 47 2 DES MOD LES G N RIQUES POUR LE DEPLOIEMENT scsscsscsccsssssesecceccssssssescccecececessenees 47 2 1 SPECIFICATION POUR LE DEPLOIEMENT ET LA CONFIGURATION D APPLICATIONS DISTRIBUEES BASE DE COMPOSANTS PROPOS E PAR L OMG ccccccccccsssesssceeeesessecsseeneenees 47 1xX 2 2 LE MOD LE ABSTRAIT DE DEPLOIEMENT JAVA cccccsccccescccessccueccescceuuccceaecussceusecenaeceeas 51 2 3 UN MODELE DE DEPLOIEMENT CONCEPTUEL POUR LES APPLICATIONS A BASE DE COMPOSANTS rame dite rt ere ne rl ee an aeaa dar ide 55 2 4 DISCUSSION ET SYNTH SE SUR LES MOD LES G N RIQUES POUR LE D PLOIEMENT 57 3 DES ENVIRONNEMENTS DE DEPLOIEMENT ISSUS DE LA RECHERCHE ccccsecesssseseeceeeeeeseee D 8 SLLSOETWARE DOCK HR en dares Gedo A Re abe Le PR AT ee RQ ue ss 59 32 CADECOMP 2 een le nn ee E E del des
181. ent Elles sp cifient par exemple la version du JRE n cessaire l ex cution de l application e Les politiques de mise jour du client permettent au propri taire du logiciel de sp cifier quand et comment la phase de mise jour de l application sera ex cut e Un autre attribut peut tre utilis pour d finir la relation entre la politique de mise jour et l intervention de l utilisateur mise jour ex cut e explicitement ou en arri re plan sans que l utilisateur ne le sache e Les politiques d utilisateur final sont con ues avec la d finition des utilisateurs et l information reli e Elles permettent par exemple de v rifier les droits d une certaine classe d utilisateurs La phase de r solution permet de d cider que faire en fonction de e ce quiest sur le client environnement client e ce qui est sens tre d livr ressources installer ce qui doit tre fait politiques de d ploiement L ensemble de ces concepts est ensuite utilis au cours du cycle de vie du d ploiement g r par le mod le 2 2 3 Etapes du cycle de vie Lors de la publication le distributeur doit fournir les bons l ments composants fichiers Jar ainsi que les instructions concernant leur d ploiement politiques de d ploiement aux bons clients pour construire une application pouvant s ex cuter correctement Pour cela le 53 Chapitre 3 Etat de l art et de la pratique pro
182. ent du d ploiement Ainsi si une erreur survient au cours de l ex cution d une activit non critique le proc d poursuivra quand m me son ex cution avec les activit s suivantes e Des points de reprise peuvent aussi tre d finis Ils permettent de rep rer les instants o le proc d peut tre interrompu Ce sont des points o le site client est dans un tat coh rent Si une erreur se produit au cours de l ex cution du proc d de d ploiement plut t que de d faire toutes les tapes r alis es seules les tapes permettant d atteindre un point de reprise seront d faites Le d ploiement pourra ensuite reprendre partir de ce point de reprise e Des activit s de contingence peuvent aussi tre d finies Elles permettent de r aliser une activit d une autre mani re Par exemple l activit de transfert peut tre remplac e par l activit de contingence correspondante Dans ce cas les deux activit s r alisent un transfert qui utilisent par exemple deux protocoles diff rents Dans ce cas si l activit choue son activit de contingence prend le relais pour terminer l op ration Contingence Point de reprise LA C choue Compensation Figure 5 3 Transaction de d ploiement Ces diff rents types d activit s permettent de faciliter le traitement des erreurs lors du d ploiement Ainsi si des activit s de contingence ou de compensation sont d finies pour chaque activit s
183. ent exprimer la contrainte d entreprise e d finir la m thode qui permet d interpr ter la strat gie champs contrainte Unit s et contrainte Entreprise et e exprimer la strat gie avec le langage Pour donner un exemple nous d finissons les types de strat gies que nous avons appel s VERSION DROITS et CHRONOLOGIE MACHINES 6 2 1 D finition des types de strat gie Deux types de strat gies sont donc d finis VERSION DROITS et CHRONOLOGIE MACHINES par les exemples et 2 Exemple 5 Type de strat gie VERSION DROITS lt VERSION DROITS SELECTION ENTITE PAS MASQUER NON LOCALES interpr tationVdroits gt Une strat gie VERSION DROITS est une strat gie de s lection SELECTION qui peut s appliquer un groupe ou une machine ENTITE Au niveau visibilit elle ne masque pas PAS MASQUER les strat gies de m me type des niveaux inf rieurs de la structure d entreprise Elle n est pas propag e NON et la priorit est accord e aux strat gies locales LOCALES En fait la priorit n est pas utilis e puisque chaque strat gie de ce type est 155 Chapitre 6 Un environnement de d ploiement orient strat gies trait e au niveau du n ud o elle s applique Enfin ce type de strat gie est interpr t par la m thode interpr tationVdroits Exemple 6 Type de strat gie CHRONOLOGIE MACHINES lt CHRONOLOGIE MACHINES ORDONNANCEMENT GROUPE PAS MASQUER NON HERITEES interpr tationCh
184. ent name cibleName type xsd string gt lt xsd element name cibleType type CibleType gt lt xsd element name possibleUnits type DeployUnitsstruct gt lt xsd element name localStrategy type StrategyType minOccurs 0 maxOccurs unbounded gt lt xsd element name heritedStrategy type StrategyType minOccurs 0 maxOccurs unbounded gt lt xsd element name son type Node minOccurs 0 maxOccurs unbounded gt lt xsd element name property type PropertyType minOccurs 0 maxOccurs unbounded gt lt xsd sequence gt lt xsd complexType gt lt xsd complexType name StrategyType gt lt xsd sequence gt lt xsd element name sActivity type DeployActivityType gt lt xsd element name constraintU type xsd string gt lt xsd element name constraintE type xsd string gt lt xsd element name strategyType type StrategyCategoryType gt lt xsd sequence gt lt xsd complexType gt lt xsd simpleType name DeployActivityType gt lt xsd restriction base xsd string gt lt xsd enumeration value INSTALL gt lt xsd enumeration value UPDATE gt lt xsd enumeration value RECONFIGURE gt lt xsd enumeration value UNINSTALL gt lt xsd enumeration value ACTIVATE gt lt xsd enumeration value DESACTIVATE gt lt xsd restriction gt lt xsd simpleType gt lt xsd simpleType name StrategyCategoryType gt lt xsd restriction base xsd string gt lt xsd enumeration value VERS I
185. entreprise 3 DES ENVIRONNEMENTS DE DEPLOIEMENT ISSUS DE LA RECHERCHE L tat de l art concernant les travaux acad miques est bien illustr par l ensemble des travaux r alis s par les partenaires du projet ITEA OSMOSE Osm05 Gdf05 Dans cette partie nous avons choisi de pr senter deux d entre eux CADeComp r alis PINT Institut National des T l communications et RESOLVIT propos par des universitaires espagnols Auparavant nous pr sentons l un des premiers travaux r alis s dans le cadre du d ploiement Software Dock 58 Chapitre 3 Etat de l art et de la pratique 3 1 Software Dock Software Dock Hal99 est un outil universitaire qui permet d installer et de g rer des applications de type client serveur Il introduit la notion de famille de logiciels repr sentant un ensemble de configurations ou de versions du logiciel Software Dock permet de d crire les diff rents niveaux producteur entreprise utilisateur et les configurations logicielles grace aux fichiers DSD Deployable Software Description Ces deux concepts sont d crits dans les deux parties suivantes 3 1 1 Diff rents niveaux Les Docks HHW99 a permettent de mod liser les clients et les serveurs A chaque Dock est associ une base de donn es registre et des agents Les agents sont charg s de modifier la base de donn es Chacune de ces modifications entra ne des v nements auxquels les agents peuvent souscrire
186. entreprises un environnement qui sert de support pour le d ploiement Un tel environnement permet d automatiser le d ploiement Cette automatisation permet non seulement d viter les tapes r p titives de chaque d ploiement unitaire mais aussi de limiter les probl mes de dysfonctionnement dus au d ploiement de produits incompatibles avec la configuration des machines cibles Les entreprises peuvent aussi souhaiter personnaliser leurs activit s de d ploiement pour assurer un certain degr de qualit ces op rations Par exemple elles peuvent privil gier les produits impl ment s en java ou ceux fournissant une interface graphique Elles peuvent imposer un ordre de d ploiement par exemple les produits doivent tre d ploy s en priorit sur les machines utilis es par les chefs de services de l entreprise Elles peuvent aussi i7 Chapitre 1 Introduction souhaiter assurer un certain niveau de s curit etc On parle alors de strat gies de d ploiement Les strat gies permettent de g rer la flexibilit li e au d ploiement En effet plusieurs versions d un produit peuvent tre disponibles et compatibles avec une machine cible Il s agit alors d en s lectionner une qui correspond au mieux aux pr f rences de l utilisateur ou de l entreprise type d interface langage d impl mentation langue de l utilisateur etc Lorsque le d ploiement concerne un ensemble de machines un ordonnancement p
187. ents unitaires Le plan permet aussi d exprimer les diff rents degr s de libert qui sont encore accord s pour l ex cution du plan ordre de d ploiement partiel choix d unit s de d ploiement Nous proposons ici une structure qui permet de repr senter un tel plan Arit n n 22 Profondeur m m 21 La structure de plan est un arbre dont l arit n n gt 2 d pend du nombre de plans unitaires qui sont inclus dans le plan de d ploiement global Sa profondeur d pend m m gt 1 du nombre et du type de strat gies d ordonnancement qui sont appliqu es Arbre gt P Arbre gt Op rateur ListeSousArbre Op rateur gt parallel ordered and xor ListeSousArbre gt Arbre Arbre Arbre ListeSousArbre L arbre Arbre repr sentant la structure de plan peut tre d finit r cursivement Il est form d au moins un plan de d ploiement unitaire P cas de base Les n uds sont des op rateurs ayant au moins deux fils ListeSousArbre Les fils sont soit des sous arbres r cursivit soit des feuilles P 123 Chapitre 5 ORYA mise en ceuvre des mod les et conception Figure 5 16 Structure de plan La Figure 5 16 donne un exemple de structure de plan Une structure de plan est un arbre ayant diff rents types de n uds chacun ayant une s mantique diff rente Les feuilles de l arbre Pi sont des plans de d ploiement unitaires c est dire des couples lt unit de d
188. ependant d s que le nombre de machines g rer augmente cette tape devient moins vidente Elle devient d autant plus complexe lorsque les machines ont des caract ristiques diff rentes Les entreprises ont alors des difficult s pouvoir g rer manuellement l ensemble de leur parc informatique En effet l entreprise peut par exemple poss der des machines utilisant des syst mes d exploitation des capacit s m moire ou des processeurs diff rents Il faut alors choisir une version diff rente pour chaque machine Pour les entreprises ayant un nombre important de machines il est aussi tr s contraignant de devoir se d placer sur chaque machine et de r p ter les m mes tapes plusieurs fois lorsque qu un d ploiement est n cessaire Un administrateur ne peut pas laisser non plus l enti re charge du d ploiement chaque utilisateur D abord certains utilisateurs utilisent leur mat riel informatique comme un simple outil de travail et ne peuvent pas d terminer quelle version d un produit peut ou non fonctionner correctement sur leur machine Ensuite il faut parfois g rer la compatibilit de versions d un produit entre plusieurs machines Par exemple il est pr f rable d imposer la m me version d un compilateur au groupe des d veloppeurs de logiciels ou la m me version d un traitement de texte toute l entreprise pour faciliter l change de documents Il est n cessaire de proposer aux
189. epr sente l expression de la s mantique globale de la strat gie traiter e Le niveau M thode d termine comment appliquer la strat gie Plusieurs m thodes peuvent tre possibles pour appliquer la m me strat gie Ce niveau repr sente le traitement de la s mantique indiqu e au niveau d claration de strat gie Par exemple au niveau strat gie l entreprise d cide de d ployer la m me version d une unit sur un groupe de machines Au niveau m thode il s agit de choisir une version qui soit compatible avec les configurations de toutes les machines du groupe ou de d cider d une version selon certains crit res et d imposer que toutes les machines aient une configuration compatible avec cette version La cat gorie du type de la strat gie correspond au moment o la strat gie doit tre appliqu e On retrouve donc les cat gories de strat gies que nous avons d finies pr c demment s lection ordonnancement ex cution D autre cat gories peuvent ventuellement tre ajout s par l utilisateur Par exemple une cat gorie peut regrouper des strat gies qui concernent le moment d ex cution du plan de d ploiement planification de d ploiement Un autre type de strat gie peut aussi tre utilis pour optimiser le d ploiement le plus de machines cibles le moins de temps possible disponibilit du r seau etc 153 Chapitre 6 Un environnement de d ploiement orient strat gies lt cat
190. er La base de donn es de RAD conserve ensuite les associations entres les cibles et les sch mas de d ploiement entre les cibles et les configurations et entre les cibles et les packages logiciels Ces associations peuvent tre r alis es manuellement ou l aide de r gles Des 73 Chapitre 3 Etat de l art et de la pratique r gles peuvent par exemple exprimer de d ployer WindowsXP sur les machines dont le nom commence par Dell Conserver l ensemble de ces associations permet de savoir tout moment ce qui est d ploy sur chaque machine 4 2 2 3 Les sc narios possibles Selon le nombre de configurations associ es une machine cible la machine peut se comporter diff remment lorsqu elle d marre sur le r seau e Si aucune configuration n est disponible un cran est affich sur la console centrale pour demander l utilisateur de d finir une configuration associer la cible e Si une ou plusieurs configurations sont associ es la cible mais qu aucun d ploiement n a t programm un cran affiche la liste des configurations possibles Le d ploiement d bute apr s avoir choisi interactivament l un des l ments de la liste e Si une ou plusieurs configurations sont associ es la cible et un d ploiement a t programm pour une configuration sp cifique la cible commence son d ploiement sans intervention de l utilisateur 4 2 3 Conclusion RAD permet de g rer un ensemble
191. es 64 RE 3 7 ARCHITECTURE ET ETAPES DE DEPLOIEMENT DE LA PLATE FORME DE DEPLOIEMENT SENSIBLE AU CONTER TE st sstac otivedects sbeasaeet SL tsi ee Reda cae i ee A ae te 64 RE 3 8 PHASE DE RESOLUTION DES DEPENDANCES DE L ALGORITHME DE DEPLOIEMENT DE RESOL VID het rade cbspeceosaasduasacedsieweesbsateaaaa ties atteste nee cated nt ie 67 RE 4 1 PERSONNALISATION DES CONCEPTS DU M TA MOD LE DE D PLOIEMENT 55 82 RE 4 2 META MODELE DE DEPLOIEMENT ccssscccccssccccseueccsseusccsssuuescssseuceeseseueeseeuens 83 RE 4 3 M TA MOD LE DE GROUPE ccccccccccssssesescecceceeesssseescceeesesesussseeesceeeesssessssseeeseeeees 84 RE 4 4 RAFFINEMENT DE LA CLASSE STRATEGY 0ccccccssecccccceeccsscusesccsceesescsesessseeueeeseeuaes 84 RE 4 5 VISION ENTREPRISE DE LA CLASSE GROUP ccsssecccceccseccseeusssceeeesesssssssenensees 85 RE 4 6 META MODELE DE MACHINE ccccccccesssssescccecsceecssssesceceesesessssseescceeesssessssseseseeeees 86 RE 4 7 RAFFINEMENT DE LA CONCEPT MACHINE wie ccccccccccssssssesccccecesesssuseseececesesssussesceeees 86 RE 4 8 META MODELE D UNITE DE DEPLOIEMENT csssseeesccccesceessssseseececesseeusaeeeseesees 88 RE 4 9 RAFFINEMENT DE LA CLASSE DEPLOYMENTPLAN cccsseccccccccccccceusesseeeesessscsseuassnees 89 RE 4 10 DEPENDANCE DE REMPLACEMENT ET DEPENDANCE SELECTIVE c0ecsecceeeeeeceees 91 RE 4 11 MOD LE DE PLAN DE DEPLOIEMENT GLOBAL cceeccccceesccsseessessseeessecseeeessesees 97 RE 4 1
192. es impos es par l entreprise Une strat gie permet d exprimer une contrainte sur les unit s d ployer et une contrainte impos e par l entreprise sur sa structure Elle est associ e une activit du cycle de vie du d ploiement La contrainte sur les unit s contrainte Unit s permet de s parer l ensemble des unit s possibles en deux sous ensembles Des traitements diff rents sont appliqu s sur ces deux sous ensembles en fonction de la contrainte impos e par l entreprise contrainte Entreprise Nous avons identifi plusieurs cat gories et types de strat gies Chacune des cat gories de strat gies intervient des instants diff rents de la pr paration du d ploiement Ainsi des strat gies sont utilis es pour e s lectionner les unit s d ployer parmi celles disponibles e ordonnancer les diff rents plans de d ploiement unitaires une unit sur une machine e traiter les derniers degr s de libert s lors de l ex cution du plan L application et le traitement de ces diff rentes strat gies permettent donc de construire un plan de d ploiement global Celui ci permet de d ployer un ensemble d unit s sur un ensemble de machines en respectant les contraintes impos es par l entreprise Pour d crire les strat gies de d ploiement un langage de description de strat gies a t d fini Le langage permet tout d abord de d finir chaque type de strat gie selon les caract ristiques
193. es permettront ensuite de cr er les diff rents plans de d ploiement globaux Le concept de strat gie n appartient pas au domaine d entreprise En effet une entreprise est avant tout un ensemble de machines structur es la notion de strat gie est plus ou moins ind pendante de l entreprise et plus particuli rement li e au d ploiement au sein d une entreprise D ploiement Entreprise Site cible Group from Logical View Sname String Machine from Logical View yenersteDeploymentPlan Sname String L YexecuteDeploymentPlan connected Boolean tn in a r subGroup 1 manages containgMachine describesMachine x contaihsSubGroup Property paaa from Logical View 6 name String z value Siring Machine from Logical View _ Strategy from Logical Views 4 Produit Activit ae AttributeType ProductType Process Attribute Product Activity J Branch Revision Figure 5 8 Composition de domaines La Figure 5 8 repr sente le domaine de d ploiement Sur cette figure nous pouvons aussi remarquer la diff rence de s mantique entre les associations utilis es ES05 San05 e Une extension du m ta mod le permet d ajouter des concepts C est le cas des relations entre le domaine d entreprise et le concept de strat gie e Un raffinement permet d tendre
194. est r cup r e dans la base de donn es centrale pour cr er le fichier de configuration utilis par l outil SYSPREP e Le syst me d exploitation est lanc et SYSPREP le configure avec les informations stock es dans la base de donn es de RAD Quand ceci est termin RAD reprend la main pour afficher un message indiquant la fin du d ploiement Quand le d ploiement est termin le syst me d exploitation est pr t tre utilis 4 2 2 2 El ments n cessaires pour r aliser un d ploiement Pour commencer un d ploiement sur une machine cliente RAD a besoin de divers l ments e Un sch ma de d ploiement est associ la machine cible Ce sch ma est utilis pour d terminer comment d ployer le syst me d exploitation sur la cible par exemple en utilisant un transfert de fichiers unicast ou multicast S il n y a pas de sch ma de d ploiement associ la cible un sch ma par d faut est disponible dans RAD e Une configuration du syst me d exploitation est utilis e pour s lectionner quel syst me installer Si aucune configuration n est associ e la cible le d ploiement ne peut pas d marrer e Des packages logiciels peuvent tre ajout s pour tre d ploy s en plus du syst me d exploitation pendant le proc d de d ploiement La configuration et les packages logiciels permettent de d terminer quoi d ployer sur la cible Le sch ma de d ploiement quant lui d termine comment d ploy
195. ex cuter et dans quel ordre le faire Ce plan est ensuite instanci par le client avec des informations sp cifiques comme des chemins de d ploiement D s qu une nouvelle version d un produit ventuellement la premi re version est disponible le producteur l annonce aux entreprises clientes Le producteur a la possibilit de configurer le produit avant de l envoyer au client niveau entreprise apr s avoir choisi toutes les fonctionnalit s les composants du produit correspondants sont s lectionn s et le produit est cr Plusieurs versions de celui ci peuvent correspondre aux besoins et pr f rences de 35 Chapitre 2 Le d ploiement concepts et contexte de travail l entreprise Dans ce cas chaque version est cr e et packag e puis l ensemble des packages est transmis au niveau entreprise La Figure 2 8 sch matise le travail du producteur Le client lui donne ses contraintes de s lection et de configuration En fonction de cela le producteur s lectionne la les version s appropri e s son client ainsi que le mod le de produit et le plan de d ploiement correspondants chaque version Ces informations sont ensuite packag es pour tre destin es au client Un package concerne une seule version d un produit unit de d ploiement et son information Contraintes de s lection et ou configuration choix du client et configuration des machines Unit s de Un
196. finir des strat gies entra nent aussi des cas complexes o des strat gies peuvent interagir entre elles Il est alors important d analyser et d tudier ces diff rents cas Il est aussi important de ne pas se limiter quelques strat gies pr d finies dans l environnement En effet la plupart des outils existants incluent des strat gies cod es en dur Il est alors impossible pour un utilisateur de d finir ses propres strat gies de d ploiement Nous mettons donc en uvre les m canismes qui lui permettent de d finir n importe quel type de strat gies partir de quelques caract ristiques identifi es Enfin pour l impl mentation nous avons proc d en deux tapes La premi re tape nous a permis de mettre en uvre un environnement pour le d ploiement automatis en utilisant les technologies que nous avons cit es pr c demment La seconde tape nous a permis d ajouter la dimension d entreprise l approche Ainsi il est devenu possible de d ployer des produits sur un ensemble de machines partir de l application de strat gies de d ploiement Cette tape est r alis e en construisant un plan de d ploiement qui permet de d ployer un ensemble de produits versions de produits sur un ensemble de machines en respectant les contraintes strat gies impos es par l entreprise L ensemble de notre d marche est d crite dans ce document La section suivante d crit son organisation 4
197. gie d un n ud vers ses fils de type groupe On obtient alors l ensemble des unit s qui sont en accord avec toutes les strat gies de s lection et dont les contraintes sont v rifi es par les caract ristiques de toutes les machines Cet ensemble est compos des unit s U U5 et U7 g lt U1 U5 U7 U1 US U7 U1 U5 U7 Figure 6 5 R sultat de la s lection des unit s 4 d ployer 151 Chapitre 6 Un environnement de d ploiement orient strat gies La Figure 6 5 repr sente la structure d entreprise cible de d ploiement avec les unit s possibles pour chaque machine et les strat gies d ordonnancement qu il reste appliquer 5 2 2 Cr ation et ordonnancement du plan de d ploiement A Vissue de l tape de s lection trois unit s sont encore possibles Selon le souhait de l entreprise le choix de l unit peut tre effectu ce moment via une interaction de l utilisateur ou via un tirage al atoire parmi l ensemble s lectionn par exemple ou il peut tre report plus tard et tre int gr au plan de d ploiement Pour simplifier l exemple nous choisissons de d ployer l unit U7 L interaction entre les diff rentes strat gies ici s lection et ordonnancement est discut e plus tard La construction de la structure de plan est bas e sur un autre parcours de la structure d entreprise en appliquant les strat gies d ordonnancement Le parcours d bute au niveau
198. gie ne doit tre appliqu e que sur un ensemble pr cis d unit s de d ploiement celles impl ment es en java Pour exprimer de telles restrictions une sorte de garde un filtre est associ e chaque strat gie et permet de d finir quand l appliquer Les strat gies sont pr sent es en d tails dans le Chapitre 6 Les contraintes sont quant elles pr sent es dans la partie suivante 5 CONTRAINTES D UNE UNITE DE DEPLOIEMENT Une unit de d ploiement ne peut pas toujours fonctionner correctement sur n importe quel type de machine Par exemple un produit pr vu pour fonctionner uniquement sous Linux ne peut pas fonctionner correctement sur une machine sous Windows Il faut donc exprimer un certain nombre de contraintes impos es par l unit de d ploiement 5 1 D finition d une contrainte Pour d terminer si une contrainte est v rifi e ou non par la configuration d une machine on utilise les propri t s d crivant la machine Par exemple si une unit de d ploiement ne 92 Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle fonctionne que sous Windows XP on v rifie la propri t de la machine indiquant le syst me d exploitation En fonction de sa valeur la contrainte est ou non v rifi e et l unit de d ploiement peut ou non tre d ploy e La d finition d une contrainte va donc utiliser des valeurs de propri t s De mani re g n rale
199. gies se refl te dans la s lection des unit s d ployer et dans l ordonnancement L ordre de d ploiement peut tre partiel ou total Un ordre total indique alors un degr de libert r soudre au moment de l ex cution du plan Dans la structure de plan les degr s de libert s sont repr sent s par un type de n ud particulier Lors de l ex cution du plan global ces n uds sont trait s diff remment Le choix possible est r alis en fonction des strat gies d ex cution Ainsi par exemple la s lection d une unit d ployer peut se porter vers celle qui demande le moins de ressources L utilisation d un plan de d ploiement qui est construit puis ex cut ajoute des cas d erreur possibles En effet l environnement de d ploiement peut avoir t modifi entre le moment o le plan est construit et celui o il est ex cut Par exemple l espace disque n cessaire peut ne plus tre disponible Cependant l utilisation d un plan de d ploiement apporte aussi des avantages Ainsi tout d ploiement d butant son ex cution peut arriver son terme sans erreur aux erreurs d volution pr s Par exemple les cas o les caract ristiques de la des machine s cible s 193 Chapitre 8 Conclusion et perspectives ne sont compatibles avec aucune des unit s de d ploiement disponibles sont limin s En effet dans ce cas le plan de d ploiement global ne peut pas tre tabli Si no
200. gique de lier les strat gies aux entit s de l entreprise groupes et machines Chaque strat gie est appliqu e un ensemble d unit s d ployables Ces unit s sont repr sent es par une structure d application Le r sultat de l application des strat gies est une structure de plan qui contient tous les d ploiements unitaires couples lt unit machine gt qui doivent tre r alis s Cette structure de plan est construite partir de la structure d application unit s possibles de la structure d entreprise cible de d ploiement et des strat gies qui peuvent tre appliqu es divers moments de la construction de cette structure Nous pouvons consid rer une strat gie comme tant constitu e d un triplet lt activit DeD ploiement contrainte Unit s contrainte Entreprise gt L activit de d ploiement activit DeD ploiement repr sente l activit durant laquelle s applique la strat gie Une expression logique sur les propri t s des unit s contrainteUnit s permet de d terminer pour quel type d unit s la strat gie doit s appliquer Cette expression permet de s parer l ensemble des unit s possibles en deux sous ensembles celui des unit s qui valuent la contrainte Unit s vrai et celui des unit s qui l valuent faux Selon la strat gie des traitements peuvent tre appliqu s sur l un ou l autre de ces ensembles ventuellement les deux Le r sultat de ce tra
201. gorie gt SELECTION ORDONNANCEMENT EXECUTION Il reste ensuite a d finir les diff rentes caract ristiques du type de la strat gie que nous avons d finies pr c demment Nous pouvons noter que la port e n apparait pas ici puisqu elle est commune tous les types de strat gie En effet une strat gie appliqu e un groupe doit s appliquer toutes les machines du groupe alors qu une strat gie appliqu e une machine ne concerne que cette machine lt position gt GROUPE MACHINE ENTITE La position d finit quelle type d entit de l entreprise peut s appliquer ce type de strat gie soit aux groupes GROUPE soit aux machines MACHINE soit aux deux ENTITE lt visibilit gt MASQUER PAS MASQUER La visibilit d termine si la strat gie doit cacher MASQUER ou non PAS MASQUER les strat gies de m me type des niveaux inf rieurs de la structure d entreprise sous groupes et machines lt propagation gt NON FILS GROUPE MACHINE La propagation d termine si la strat gie doit ou non tre propag e aux niveaux inf rieurs de la structure d entreprise La strat gie peut tre propag e tous les fils FILS quelque soit leur type ou aucun d eux NON Elle peut aussi n tre propag e qu au niveau des sous groupes GROUPE ou des fils de type machine MACHINE lt pr c dence gt HERITEES LOCALES
202. gure 7 9 Exemple de descripteur d entreprise 4 3 Strat gies En ce qui concerne les strat gies nous n avons pas impl ment totalement le langage de description par manque de temps Nous avons cependant r alis des exemples de traitement de strat gies Nous nous sommes int ress s aux strat gies appliqu es statiquement nous n avons donc pas pris en compte les strat gies d ex cution mais seulement celles de s lection et d ordonnancement Ces deux types de strat gies sont trait es en deux tapes ind pendantes s lection compl te des unit s d ployer puis ordonnancement total du plan de d ploiement Dans le cas o les strat gies ne permettent pas une s lection compl te c est dire une unit et ses d pendances par machine cible c est la premi re unit de la liste des possibilit s qui 177 Chapitre 7 ORYA r alisation et valuation est choisie De la m me mani re si les strat gies appliquer ne permettent pas l ordonnancement total du plan de d ploiement nous consid rons que le d ploiement doit s effectuer de mani re ordonn e selon l ordre de la liste des d ploiements unitaires r aliser Ces hypoth ses permettent de limiter les degr s de libert du plan de d ploiement et n imposent pas l utilisation de strat gies d ex cution De plus seules les d pendances obligatoires sont prises en compte dans cette impl mentation Les d pendances sont donc im
203. i e Les machines sont associ es des propri t s e A chacun des n uds peuvent tre associ es des strat gies Les strat gies peuvent tre e locales dans le cas o elles sont associ es au n ud e h rit es dans le cas o elles ont t transmises par un autre groupe plus haut dans la structure d entreprise e globales dans le cas o elles concernent tous les n uds de la structure d entreprise e A chaque n ud est aussi associ l ensemble des unit s qui sont possibles pour ce n ud c est dire l ensemble des unit s dont les contraintes sont v rifi es et qui respectent les diverses strat gies de d ploiement Cet ensemble d unit s est repr sent par une structure d application 5 2 Structure d application Une structure d application repr sente l ensemble des unit s de d ploiement qui sont disponibles toutes les versions disponibles d une application Dans cette structure une unit de d ploiement est repr sent e par un arbre Comme le montre la Figure 5 15 la structure d application est donc une for t de ces arbres dont chaque arbre repr sente l une des versions de l application d ployer RE La l apidranpnr See Dee TS 2 K Unit gt Propices Gaa Papas Y anes Kia ae Ki piste Rare Dei pany E oe eee pone A depends RME deg obligataire a es k ese s Ce K gt For a z a kepara rereplaccre
204. ication mise jour configuration arr ter l application en ex cution L AH fournit ensuite diff rents services de d ploiement connexion au serveur de d ploiement t l chargement de ressources n cessaires e Ex cution de l application Enfin l application est ex cut e Quand l AH lance l application il doit avoir lanc la JVM pass les param tres D veloppement Producteur du logiciel Publication Pas strictement s quntiel Gestion SD Distributeur Installation AH Ex cution AH Utilisateur final Ex cution Application Figure 3 3 Le mod le de d ploiement Java 54 Chapitre 3 Etat de l art et de la pratique 2 2 4 Conclusion Le mod le abstrait de d ploiement Java met en place diff rents niveaux Producteur Distributeur Utilisateur Ces niveaux peuvent tre mis en correspondance avec les niveaux conceptuels que nous avons d finis pr c demment Producteur Entreprise Utilisateur En outre les diverses activit s du cycle de vie du d ploiement installation mise jour etc ne sont pas explicitement utilis es En effet c est l assistant de d ploiement AH qui d cide quoi faire en fonction de la situation du client Enfin un ensemble de politiques de d ploiement peuvent tre d finies Elles permettent de d finir le d ploiement en fonction des caract ristiques de l applica
205. ieldDock du consommateur et obtient l information sur la configuration appropri e Puis il localise les composants n cessaires dans le ReleaseDock et les installe sur le site consommateur L InterDock est une organisation interm diaire entre le producteur et les sites utilisateurs Une entreprise peut comprendre plusieurs nterDock Comme ils fournissent des informations globales ils permettent de cr er une vue globale de l entreprise 3 1 2 Description de l information Les fichiers DSD Deployable Software Description HHW99 b HHW98 sp cifi s en XML Xml permettent de mod liser les applications et les diff rents sites Le serveur est d crit par le fichier releasedock dsd qui sp cifie la localisation du serveur et les applications qu il peut d ployer Pour chacune de ces applications le fichier contient la localisation du fichier DSD la d crivant et le nom de la famille a laquelle elle appartient Le client est d crit par le fichier fielddock dsd qui indique la localisation du client et les informations mat rielles telle que l architecture et logicielles comme le syst me d exploitation et les applications d j pr sentes sur le site Chaque application est aussi d crite par un fichier DSD contenant une s rie de propri t s Une propri t a plusieurs attributs un nom un type cha ne de caract res entier ou bool en et une valeur par d faut Les descripteurs d applications sont bas s sur une exte
206. ielles de la machine comme par exemple le type de la carte graphique celui du processeur la capacit m moire etc La configuration logicielle comprend toutes les caract ristiques logicielles qui d finissent notamment le syst me d exploitation mais aussi l tat du site Celui ci indique quels produits logiciels sont d j install s sur le site client Le mod le de site constitue le contexte de d ploiement Ainsi les caract ristiques mat rielles ou logicielles sont utilis es pour v rifier si un produit peut tre d ploy ou non sur la machine en fonction des contraintes qu il impose L tat du site sert identifier quels produits sont d j install s pour ne pas d ployer plusieurs fois les m mes Par exemple lorsqu un produit a des d pendances ou des incompatibilit s il faut v rifier si les produits concern s sont sur la machine ou non 6 3 Mod le de produit Le mod le de produit est d fini et fourni par le producteur Il est sp cifique une version d un produit unit de d ploiement et contient l ensemble des informations qui le concernent Ainsi les caract ristiques du produit caract ristiques de l application ou caract ristiques sp cifiques la version y sont indiqu es comme le langage d impl mentation par exemple Un ensemble de contraintes d finit aussi les caract ristiques que doit avoir une machine cible potentielle pour le bon fonctionnement de la version de l app
207. iement Le plan de d ploiement regroupe toutes les tapes r aliser pour effectuer le d ploiement de n applications sur p machines Il s agit en fait d ordonnancer des d ploiements unitaires une application sur une machine Le plan de d ploiement peut aussi comporter diff rents degr s A Chapitre 2 Le d ploiement concepts et contexte de travail de libert Par exemple l ordre de d ploiement ne peut tre que partiel des strat gies peuvent alors tre utilis es pour d terminer l ordre pr cis au moment o l ex cution du plan d bute Notre approche vise fournir les moyens aux entreprises de d finir tout type de strat gies Celles ci sont ensuite prises en compte pour automatiser le d ploiement tout en consid rant les contraintes impos es par l entreprise elle m me L approche est r alis e en deux temps e la d finition et la mise en oeuvre d un m ta mod le de d ploiement pour fournir un support automatis pour le d ploiement d applications grande chelle et e la d finition et la mise en uvre de strat gies de d ploiement pour g rer la flexibilit du d ploiement pour chaque entreprise 8 SYNTHESE Le d ploiement exige la connaissance et l utilisation de domaines vari s qui interviennent des instants diff rents Pour r pondre la probl matique du d ploiement il faut tout d abord tre capable d assurer toutes les activit s du cycle de vie du d pl
208. iement global il faut alors savoir quelles relations existent entre les plans unitaires En effet selon elles des plans de d ploiement diff rents peuvent tre construits La Figure 6 7 pr sente deux cas possibles Pour simplifier les sch mas la figure r duit l exemple pr c dent au d ploiement de U les unit s U U5 et U7 sont possibles sur le sous groupe G M me Version lt mi u gt mur mus mus mur lt 2 ur Versions diff rentes lt M1 U1 gt lt M1 U5 gt lt M1 U7 gt lt M2 ur gt lt M2 U5 gt lt M2 U7 gt Figure 6 7 Composition de strat gies quel plan de d ploiement construire Ainsi il faut par exemple savoir si e La m me version doit tre d ploy e sur toutes les machines plan du haut de la Figure 6 7 la racine de la structure de plan est un n ud xor Les sous arbres fils permettent alors de d ployer la m me unit sur plusieurs machines e Une version diff rente peut tre d ploy e plan du bas de la Figure 6 7 la racine de la structure de plan est un n ud qui force de d ploiement de tous les 158 Chapitre 6 Un environnement de d ploiement orient strat gies sous arbres noeuds and ou parallel par exemple Chaque arbre fils permet ensuite le d ploiement d une unit sur une machine utilisation de n uds xor Plusieurs cat gories de strat gies doivent alors tre compos es entre e
209. ieur d une configuration donn e d une machine De plus pour classer les diff rentes versions des composants entre elles deux types de compatibilit sont d finis e Compatibilit descendante BC backward compatibility si le composant remplace un composant existant plus vieux les applications fonctionnant avec l ancien composant fonctionnent avec le nouveau e Compatibilit ascendante FC forward compatibility si le composant remplace un composant existant plus r cent les applications fonctionnant avec le composant le plus r cent fonctionnent avec le plus ancien 55 Chapitre 3 Etat de l art et de la pratique 2 3 2 Les politiques de d ploiement Lors de l installation d un nouveau composant sur une machine cliente il se peut que le composant soit d j install dans une autre version Dans ce cas il faut pr ter attention ce que les applications qui l utilisent fonctionnent toujours avec la version installer Plusieurs choix sont alors possibles pour r pondre ce probl me Pour cela plusieurs politiques de d ploiement sont d finies e Insertion s par e IS Insert Separatly le composant installer est ajout comme un nouvel l ment sans remplacer d autres composants Le nouveau composant ne sera pas partag par les applications existantes car toutes celles ci sont d j r alis es par les composants existants e Remplacement obligatoire RA Replace Always
210. iles permet de prendre en compte le contexte de d ploiement Ainsi les applications ou composants d applications peuvent imposer un certain nombre de contraintes sur les clients qui les re oivent Cependant un niveau entreprise manque pour ajouter la d finition de contraintes au niveau de l entreprise ou des sites clients comme par exemple de ne pas d ployer de nouveaux composants sur un site d j surcharg Enfin Resolvit est une approche particuli rement int ressante pour sa classification des d pendances et leur traitement De plus le contexte de d ploiement est pris en compte et la coh rence des sites cibles est assur e En effet seules des applications pouvant fonctionner correctement peuvent tre d ploy es L ajout du traitement des erreurs au cours de l ex cution du proc d de d ploiement serait un atout suppl mentaire pour l approche Notre approche doit prendre en compte ces diff rents avantages En effet il faut pouvoir 68 Chapitre 3 Etat de l art et de la pratique e fournir un support automatis pour toutes les activit s du cycle de vie du d ploiement comme Software Dock e prendre en compte le contexte de d ploiement comme CADeComp pour ne d ployer que des applications qui fonctionnent correctement et assurer la coh rence des sites cibles e prendre en compte les diff rents types de d pendances pour pouvoir les traiter diff remment comme Resolvit De plus il
211. indiquant que seulement quelques d ploiements sont n cessaires Cependant lors de la cr ation de la structure de plan ce choix est indiqu par un n ud xor Cette notation permet de mentionner la notion de choix qui doit tre r solu au moment de l ex cution du plan de d ploiement mais fait perdre de l information En effet c est la m me notation qui est utilis e lorsque plusieurs unit s sont encore possibles Lorsque l ex cution du plan arrive sur un tel n ud de choix il est alors impossible de savoir si le choix doit tre orient par les caract ristiques des machines ou des unit s Cette notation permet cependant de repr senter les degr s de libert s du plan de d ploiement de mani re assez simplifi e mais devra voluer En effet il est particuli rement important de faire voluer cette notation lors du passage au d ploiement de n applications sur p machines ici nous traitons le cas d une application sur p machines Dans ce cas il faudra instaurer une notation permettant d indiquer le nombre d unit s souhait es et le nombre de machines cibles exig s 4 2 2 Strat gies CHRONOLOGIE UNITES Les strat gies de type CHRONOLOGIE UNITES permettent d exprimer dans quel ordre doivent tre d ploy es diff rentes unit s Comme nous travaillons particuli rement sur le cas du d ploiement d une application sur p machines ce type de strat gie concerne essentiellement l ordre de d ploiement entre l
212. ine en fonction des contraintes et des strat gies Dans les mod les composants on utilise une relation de composition un composant composite peut tre compos de composants de base Ici la notion de composition n appara t pas au niveau des unit s En effet deux cas peuvent se produire e La composition est interne l unit de d ploiement et il n est pas n cessaire pour le d ploiement de conna tre cette composition e Il existe une d pendance explicite avec une autre unit Dans ce cas il s agit d une relation de d pendance et non de composition Chaque unit est aussi caract ris e par un ensemble de propri t s Property et de contraintes Constraint qui lui sont sp cifiques 88 Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle Un ensemble de propri t s permet de d crire une unit et de la s lectionner pour un d ploiement donn Par exemple une propri t peut indiquer que l impl mentation est r alis e en java lt mpl mentation Java gt Un ensemble de contraintes Constraint permet d indiquer quelles propri t s doit avoir un site client pour accueillir l unit de d ploiement Pour savoir si un site cible respecte les contraintes impos es par l unit de d ploiement on tudie les propri t s du site en relation avec les contraintes de l unit De plus un plan de d ploiement DeploymentPlan indique comment d ploye
213. informations permettent notamment de d crire les unit s et d exprimer les contraintes de d ploiement qu elles imposent La Figure 4 8 illustre le m ta mod le des concepts li s la description des produits Une unit de d ploiement Unif repr sente un produit version d une application lt lt enumeration gt gt deployActivityType from Pack_Goup UPDATE from Logical View RECONFIGURE name String DeploymentPlan UNINSTALL value String deploysUnit fram Logical View ACTIVATE url String DESACTIVATE from Logical View 1 n status StatusType name String version String Vexecute url String describesUnit constraintsUnit from Logical View amp gt deploymentActivity deployActivityType LogicalExpression String action String VisSatisfiedBy Figure 4 8 M ta mod le d unit de d ploiement depends Une unit est caract ris e par son nom nom de l application son num ro de version et ses d pendances Ici nous ne prenons pas en compte la configuration des unit s Cette activit est r alis e en amont du d ploiement lorsque l entreprise nonce ses besoins au producteur Lorsque plusieurs versions d une application unit s ayant le m me nom sont disponibles nous consid rons qu elles r pondent toutes aux besoins nonc s par l entreprise et que c est l une d entre elles qui doit tre d ploy e sur chaque mach
214. ion repr sente la r alisation du domaine elle est constitu e d un ensemble de participants qui concr tisent les concepts abstraits Des participants diff rents peuvent tre utilis s pour r aliser un 110 Chapitre 5 ORYA mise en ceuvre des mod les et conception domaine d s qu il sont capables de concr tiser la s mantique abstraite du mod le Un domaine abstrait est constitu de trois niveaux Figure 5 4 e le m ta mod le mod le du domaine qui contient les concepts communs au domaine e le mod le sp cifique l application conforme au m ta mod le et e Jes instances Le concept de domaine permet d isoler un groupe de participants Les participants d un domaine se coordonnent en utilisant l architecture d une f d ration pour fournir un ensemble de services On appelle cela la composition verticale car elle associe les concepts abstraits d un domaine avec les impl mentations concr tes de ces concepts outils code Pour cr er une application plus grande et plus complexe les domaines peuvent tre compos s entre eux Veg05 Pour cela il faut tablir les liens entre leurs m ta mod les Ces liens comprennent les associations entre concepts diff rents et les correspondances entre concepts similaires 3 2 Composition de domaines Lorsqu une relation entre les concepts de deux domaines existe un haut niveau d abstraction la composition de domaines permet de remplacer
215. ion au d ploiement minimum maximum attribut s lection Cela implique que chaque type de contrainte devra tre trait diff remment De plus certaines distinctions sont int ressantes au niveau s mantique mais a priori inutile au niveau du d ploiement Par exemple la diff rence entre un minimum et un maximum est un simple changement du sens de l in galit exprimer De la m me mani re les contraintes de quantit et capacit sont relativement proches puisqu elle utilisent toutes les deux des valeurs num riques en exprimant des in galit s entre elles et en d finissant des op rations r aliser Pour le d ploiement il s agit simplement de conna tre quelle s valeur s v rifier et quelle s action s ex cuter Nous pouvons alors distinguer deux cat gories de contraintes e Les contraintes utilis es pour d finir une pr condition et une action r aliser Des contraintes faisant intervenir une valeur num rique sont utilis es pour comparer cette valeur celle d une propri t d une machine cible Elles peuvent aussi servir d cr menter la valeur de cette m me propri t e Les contraintes utilis es pour d finir une pr condition Des contraintes faisant intervenir des ensembles de valeurs sont utilis es pour v rifier si la valeur d une propri t d une machine cible appartient ou non cet ensemble Des contraintes faisant intervenir une valeur num rique peuvent aussi tre
216. iquent quelles caract ristiques doit avoir une machine cible pour que l unit puisse tre d ploy e et fonctionner correctement e les strat gies de d ploiement associ es aux groupes et machines expriment des contraintes besoins et ou pr f rences d finies par l entreprise et permettent de construire le plan de d ploiement La relation de d pendance entre unit s peut aussi s ajouter ces notions Il s agit d exprimer quelle s unit s sont n cessaires pour le d ploiement et le bon fonctionnement d une unit d ployer 192 Chapitre 8 Conclusion et perspectives Notre m ta mod le de d ploiement s abstrait au maximum de tous les concepts sp cifiques li s chacun de ces domaines L utilisateur peut ensuite cr er ses propres mod les conformes au m ta mod le Il peut aussi choisir de r utiliser des mod les d j d finis dans d autres contextes Par exemple pour le d ploiement d applications base de composants l utilisateur peut r utiliser le mod le composants OSGi CCM qui d finit ses applications Une telle approche dirig e par les mod les permet une bonne r utilisation des concepts ainsi d finis La partie g n rique est expos e dans notre m ta mod le de d ploiement L utilisateur a alors d terminer les parties sp cifiques en d finissant les mod les qu il souhaite utiliser Il n a ensuite plus qu tablir les correspondances entre
217. ir Architectures for Process Support System Interoperability In Proceedings of the 5 International Conference on The Software Process The International Software Process Association Press Lisle IL June 1998 J Estublier A D Ionita Extending UML for Model Composition Australian Software Engineering Conference ASWEC Brisbane Australia March 2005 J Estublier A D Ionita G Vega A Domain Composition Approach Published in 2005 International Workshop on Applications of UML MDA to Software Systems UMSS 05 SERP 05 June 2005 Las Vegas USA J Estublier A T Le Design and development of Software Federation Proceedings of ICSSEA 2001 Paris France December 2001 A K Elmagarmid Database Transaction Models for Advanced Applications Morgan Kaufmann 1990 J Estublier S Sanlaville Extensible Process Support Environments for Web Services Orchestration International IEEE Conference on Next Generation Web Services Practices NweSP 05 Seoul Korea August 2005 M Ewing E Troan The RPM Packaging System In Proceedings of the First Conference on Freely Redistributable Software Cambridge MA USA February 1996 Free Software Fundation J Estublier G Vega Reuse and Variability in Large Software Applications Published in Proc ESEC FSE Lisboa Portugal September 7 9 2005 J Estublier H Verjus P Y Cunin Designing and Building Software Federations
218. is que par des ressources et des propri t s qui permettent de remplir ou non les contraintes impos es par les applications Il serait int ressant d ajouter des strat gies de d ploiement ce niveau pour d finir par exemple une pr f rence pour un certain type d impl mentation de composant La sp cification propose un autre point int ressant le plan de d ploiement Celui ci permet de rassembler l ensemble de l information n cessaire au d ploiement Il d crit o et comment d ployer l ensemble des impl mentations de composants de l application dans un environnement donn L automatisation de la g n ration de ce plan est essentielle dans un contexte de d ploiement grande chelle De plus la cr ation de plusieurs plans de d ploiement laisse un certain degr de libert jusqu au moment de l ex cution du d ploiement Ainsi le d ploiement peut tre adapt l environnement cible le plus tard possible Cependant il pourrait aussi tre int ressant d adapter le d ploiement l ordre des tapes par exemple pendant l ex cution du plan Enfin il est important de pr ciser que ce mod le est devenu une r f rence en mati re de d ploiement notamment gr ce l importance du travail r alis et de ses auteurs 2 2 Le mod le abstrait de d ploiement Java Le mod le abstrait de d ploiement Java Jav02 se caract rise par les r les acteurs qui entrent en jeu les diff rentes tape
219. iser les informations li es au d ploiement Les mod les ainsi obtenus peuvent ensuite tre sp cialis s en fonction du type d applications d ployer ou de l environnement cible de d ploiement Plusieurs approches sont propos es dans le milieu de la recherche Chaque approche se focalise sur un ou quelques points particuliers du d ploiement Certaines se focalisent sur le Ne ia Chapitre 3 Etat de l art et de la pratique d ploiement sensible au contexte d autres s int ressent a la r solution de d pendances etc Ainsi il est int ressant de collecter les points positifs et les axes de r flexion afin de fournir un environnement de d ploiement plus complet Enfin les outils commerciaux outils d di s au d ploiement d applications Windows par exemple sont souvent plus sp cifiques que les approches propos es par la recherche Cependant certains d entre eux proposent des aspects int ressants notamment ceux qui proposent une vision entreprise du d ploiement avec une vue plus globale de la cible de d ploiement Ces approches sont particuli rement int ressantes pour le d ploiement grande chelle Nous avons choisi de r aliser une approche par les mod les En effet cette approche en plus d tre actuellement en pleine expansion propose une solution g n rique Elle permet d abstraire l ensemble des concepts n cessaires et de les sp cialiser ensuite en fonction des applications d ployer ou des envir
220. iser un d ploiement Mer03 La premi re tape consiste d finir le descripteur de d ploiement de l application et construire le package correspondant avec les outils qui sont disponibles pour assister l utilisateur Ensuite le producteur ajoute le package parmi ceux fournis par les serveurs d applications d ORYA Depuis le serveur de d ploiement l administrateur peut choisir l aide de l interface d ORYA de d ployer une application sp cifique sur un site donn Apr s ce choix la f d ration et le moteur de proc d s Vil02 pilotent le d ploiement en suivant les tapes du proc d de d ploiement d finies par l utilisateur dans le descripteur de d ploiement Les03 Le noyau de la f d ration lance chaque outil quand cela est n cessaire et l utilisateur peut contr ler le d ploiement sur la fen tre de traces associ e au proc d Sur la demande d Actoll qui souhaitait contr ler certaines tapes du d ploiement manuellement nous avons d fini un mode de d ploiement L administrateur peut alors choisir trois modes de d ploiement diff rents manuel automatique ou semi automatique Le mode automatique ne requiert aucune intervention de l utilisateur Lors d un d ploiement en mode manuel l utilisateur doit valider invalider manuellement chaque tape du d ploiement Enfin en mode semi automatique certaines activit s seront r alis es automatiquement d autres demanderont l uti
221. isque aucune n utilise le syst me d exploitation Linux De la m me mani re l unit U4 exigeant 5 2 de m moire ne peut pas tre d ploy e sur les machines n ayant que 256 c est dire M2 et M4 Machines Unit s de d ploiement possibles M1 E1 U1 U2 U4 U5 V 1 U6 W2 U7 V4 X5 M2 E2 U1 U2 U5 V1 U6 W2 U7 V4 X5 M3 E1 U1 U2 U4 U5 V 1 U6 W2 U7 V4 X5 M4 E2 U1 U2 U5 V1 U6 W2 U7 V4 X5 E1 U1 U2 U4 U5 V 1 U6 W2 U7 V4 X5 Figure 5 19 Unit s possibles pour chaque machine cible sans prendre en compte les d pendances 129 Chapitre 5 ORYA mise en ceuvre des mod les et conception La Figure 5 19 rassemble les unit s possibles pour chaque machine cible a l issue de cette phase 7 2 Prise en compte des d pendances En prenant maintenant en compte aussi les d pendances il faut s apercevoir que W2 et V4 demandent 32 d espace disque Or M1 ne dispose que de 23 W2 ne peut donc pas tre d ploy e sur M1 et ceci supprime U6 de la liste des possibilit s pour la machine L unit V4 ne peut pas non plus tre d ploy e sur la machine M1 et est supprim e de la liste des possibilit s Mais cette unit a une d pendance de remplacement vers X5 dont les contraintes sont v rifi es par la machine U7 est donc conserv e dans la liste des possibilit s mais avec X5 pour seule possibilit de r solution de d
222. iste de ses d pendances nom d application Nous pouvons noter que ces mod les application et 167 Chapitre 7 ORYA r alisation et valuation site sont assez basiques Cette exp rimentation nous a permis d affiner notre m ta mod le de d ploiement d fini pr c demment lt xml version 1 0 encoding UTF 8 gt lt xsd schema xmlns xsd http www w3 org 2001 XMLSchema targetNamespace http castor exolab org version 0 9 4 gt lt xsd complexType name Param gt lt xsd sequence gt lt xsd element name value type xsd string gt lt xsd element name type type xsd string gt lt xsd i sequence gt lt xsd attribute name calculated type xsd boolean gt lt xsd complexType gt lt xsd complexType name Property gt lt xsd sequence gt lt xsd element name name type xsd string gt lt xsd element name value type xsd string gt lt xsd sequence gt lt xsd attribute name calculated type xsd boolean gt lt xsd complexType gt lt xsd complexType name RoleType gt lt xsd sequence gt lt xsd element name roleName type xsd string gt lt xsd element name interfaceName type xsd string gt lt xsd element name methodName type xsd string gt lt xsd element name param type Param minOccurs 0 maxOccurs unbounded gt lt xsd element name comment type xsd string minOccurs 0 maxOccurs 1 gt lt xsd element name mode type xsd string minOc
223. it de d ploiement d ploiement diff rentes versions de Mod le de produit diff rentes applications Plan de d ploiement Package Figure 2 8 Cr ation d un package par le producteur pour le client A la fin des activit s r alis es par le producteur les versions de l application ou produit producteur sont transf r es vers le site de l entreprise cliente Chacune contient tous les l ments cit s pr c demment mais aussi ventuellement un environnement de travail permettant d ajouter des composants ou des fonctionnalit s au produit 5 2 Niveau entreprise Ce niveau va permettre de pr parer le d ploiement concret vers les machines des utilisateurs Les propres extensions de l entreprise peuvent tre ajout es l application producteur afin de la personnaliser c est l tape d assemblage Ces extensions sont ajout es avec l aide des outils de construction et de tests fournis par le producteur Le nouveau produit ainsi cr est appel e application ou produit entreprise L entreprise peut avoir de nombreuses versions d un produit r cup r es chez un fournisseur sous forme packag e En effet si plusieurs versions correspondaient ses besoins elles ont toutes t transf r es sur les serveurs d applications de l entreprise Les modifications effectu es au niveau entreprise peuvent concerner chaque version du produit l application entreprise est don
224. it s doivent aussi tre trait es La mise en uvre de ces deux concepts exige plus de pr cisions 6 1 D pendances Les d pendances d une unit sont conserv es dans la structure d application Les diff rents types de d pendances sont repr sent s comme des attributs de l unit Les points suivants noncent les cas particuliers des diff rents types de d pendances cf paragraphe 3 du Chapitre 4 e D pendances obligatoires Les d pendances obligatoires sont repr sent es par une liste de liens vers d autres unit s e D pendances de conflit Les d pendances de conflit sont aussi repr sent es par une liste d unit s Cette information peut tre trait e au moment de la construction du plan de d ploiement avec l tat courant du site cible Cependant elle doit aussi tre transmise au cours des tapes de pr paration pour tre v rifi e nouveau au moment de l ex cution du plan de d ploiement En effet si l tat du site a volu entre la construction et l ex cution du plan d ploiement de l une des d pendances de conflit par exemple une telle d pendance peut provoquer l chec du d ploiement e D pendances s lectives Les d pendances s lectives sont repr sent es par une liste de listes d unit s Un l ment de chaque liste doit tre choisi et d ploy pour r soudre ces d pendances Ce choix peut se faire au moment de la s lection des unit s d ployer selon des
225. itement est le r sultat de l application de la strat gie Enfin le champ contrainte Entreprise repr sente le corps de la strat gie en exprimant une contrainte de d ploiement ordre de d ploiement choix d une m me version pour un groupe de machine etc impos e par l entreprise Il repr sente la strat gie elle m me et permet de d cider quel s traitement s appliquer aux sous ensembles pour construire l ensemble d unit s r sultat de l application de la strat gie D une certaine mani re ce champ d finit la s mantique de base de la strat gie Les strat gies peuvent exprimer diverses pr f rences de l utilisateur Ainsi plusieurs exemples de strat gies peuvent tre donn s 135 Chapitre 6 Un environnement de d ploiement orient strat gies e d ployer la m me unit version d une application sur un ensemble de machines e permettre le remplacement d une unit par une autre correspondant une version plus r cente e privil gier le d ploiement d unit s ayant certaines caract ristiques impl mentation en java par exemple e d ployer les d pendances de l unit avant l unit elle m me e d ployer l unit sur un groupe de machines avant de la d ployer sur un autre groupe ou sur une machine avant une autre machine e effectuer un retour en arri re en cas d erreur dues l volution de l environnement au cours de l ex cution du plan de d ploiemen
226. ive capable de s auto installer Ensuite l archive est distribu e sur les machines clientes par le r seau ou par Internet La plupart de ces outils sont capables de g rer aussi la d sinstallation en d faisant les tapes r alis es pendant l installation Le plus connu de ces outils est InstallShield IS11 Il est r serv aux applications Windows Win puisqu il utilise l un des services du syst me d exploitation le service Windows Installer Winl Ce service permet d installer ou de d sinstaller des applications de mani re automatis e Il permet aussi de r parer des fichiers corrompus et offre un service de reprise pour revenir l tat initial en cas de probl me en cours d installation InstallShield permet de cr er un package qui est ensuite distribu aux clients et ex cut Avec un package des informations sont disponibles pour le d crire nom date de cr ation les instructions d installation fichiers copier registres cr er les r f rences vers les ressources de l application Apr s sa cr ation le package est distribu aupr s des clients Une fois l application install e Installshield propose une activit de mise jour r alis e partir de patches partie d une application faisant r f rence au produit d origine En effet seules les modifications apport es aux produits sont transmises au client pour mettre jour son produit Les outils de type installateurs ont g
227. kages DocUnit 1 1 InstalliPlan xml lt descriptorURL gt lt deployPlan gt lt UnitDescriptor gt Figure 7 8 Exemple de descripteur d unit Apr s avoir affin s les mod les de site et d application il reste ajouter les concepts li s a l entreprise le mod le d entreprise donne toute l information n cessaire 4 2 Mod le d entreprise Comme pour les mod les de site et d application un fichier XML d crit l ensemble de l information li e l entreprise La Figure 7 9 donne un exemple de mod le d entreprise L entreprise G est compos e de deux groupes G et G2 La structure d entreprise sous groupes et machines correspond celle mentionn e dans l exemple du chapitre pr c dent Figure 6 3 De plus les strat gies de s lection sont li es aux groupes concern s une strat gie VERSION DROITS pour G et une strat gie VERSION INTRAGROUPE pour G2 L information contenue dans ces descripteurs machine unit et entreprise est synchronis e avec les l ments de l univers commun et permet ainsi d effectuer les op rations n cessaires pour pr parer le d ploiement Ces informations sont aussi utilis es pour cr er les structures d application et d entreprise lorsqu un d ploiement est demand 176 Chapitre 7 ORYA r alisation et valuation lt xml version 1 0 encoding UTF 8 gt lt EnterpriseDescriptor xmlns http castor exolab org gt lt enterpr iseName gt
228. l 1 INTRODUCTION Comme le montre la Figure 2 1 le cycle de vie du logiciel JMS 92 Rol97 est compos sch matiquement des diff rentes tapes suivantes e L analyse consiste analyser les diff rents besoins que l application devra remplir e La sp cification permet de formuler les fonctionnalit s de l application e La conception permet de mod liser les donn es utilis es e La r alisation est l tape d impl mentation d une solution e Les tests permettent de valider la r alisation e Enfin le d ploiement permet de g rer l application depuis son installation jusqu sa d sinstallation compl te d un site Cette tape a pris de l importance notamment avec le d veloppement d Internet En effet il est d sormais possible de d ployer une application chez un client directement depuis le producteur alors que les proc d s plus traditionnels exigeaient un support tel qu un CD par exemple Analyse L Sp cification L gt Conception L_y R alisation ot Tests L D ploiement Figure 2 1 Cycle de vie du logiciel Dans ce chapitre nous pr sentons en d tail cette derni re activit du cycle de vie du logiciel et ses besoins Pour cela nous commen ons par mettre en parall le le d ploiement standard avec le cas du d ploiement grande chelle dans le cadre des entreprises Puis nous pr
229. l entreprise et les politiques de d ploiement appliquer Le plan de d ploiement indique comment d ployer un produit Enfin le mod le de machine caract rise la configuration d un site client De plus un ensemble de strat gies permet de d crire quelles politiques de d ploiement sont appliqu es par l entreprise Avec ces strat gies l entreprise peut alors accord plus d importance un type de produit par exemple les produits impl ment s en java tablir un ordre dans les diverses tapes du d ploiement r aliser s curiser un d ploiement pour viter de d ployer des produits non d sir s etc Notre approche vise fournir un environnement de d ploiement automatis o les contraintes impos es par l entreprise sont prises en compte par l interm diaire de strat gies de d ploiement Pour tre le plus g n rique possible notre environnement est bas sur un m ta mod le de d ploiement 43 Chapitre 2 Le d ploiement concepts et contexte de travail 44 CHAPITRE 3 ETAT DE L ART ET DE LA PRATIQUE Pr ambule Ce chapitre pr sente quelques uns des mod les qui ont t d finis pour le d ploiement Il pr sente aussi un ensemble d environnements et d outils existants dans le monde acad mique ou industriel L objectif est de r aliser un bilan des concepts a d finir pour le d ploiement et des techniques qui peuvent tre utilis es pour r pondre la probl matique
230. l m ta mod le permet d abstraire tous les concepts n cessaires au d ploiement A partir de celui ci il est ainsi possible de d ployer tout type de produits applications type COTS applications base de composants dans n importe quel environnement cible structure de l entreprise et cibles terminales PC portable de d ploiement Un tel m ta mod le permet ensuite de d finir des mod les conformes Chacun des mod les peut ensuite tre plus sp cifique Une telle approche permet d tre g n rique au niveau des donn es de d ploiement produit cible Elle est ainsi r utilisable dans plusieurs contextes de d ploiement Pour suivre une telle approche nous utilisons deux technologies d velopp es par notre quipe de recherche les proc d s et les f d rations Les proc d s permettent de d crire les 19 Chapitre 1 Introduction diff rentes tapes r aliser pour effectuer un d ploiement Les f d rations permettent de cr er des applications en suivant une approche d ing nierie dirig e par les mod les Elles permettent aussi de r utiliser des concepts d j d finis et de les composer avec d autres pour cr er l environnement souhait Nous avons choisi de g rer la flexibilit li e au d ploiement en utilisant des strat gies Il faut alors d finir pr cis ment ce qu est une strat gie quelles entit s sont concern es comment doit tre appliqu e une strat gie etc D
231. la structure d entreprise est d duite du mod le de l entreprise Ici c est un sous arbre complet qui est concern Mais certains sous groupes ou machines auraient pu tre supprim s ou ajout s Ainsi par exemple le d ploiement aurait pu ne pas concerner l utilisateur User ou concerner aussi la machine M7 Roe1 Ra N Gn GGe e mi M2 3 Userl F GAGS a Oe Figure 5 13 Cr ation d une structure d entreprise La racine de la structure est un groupe Dans le cas d un d ploiement unitaire une seule machine cible la racine serait une machine et serait l unique n ud de la structure Chaque n ud de type groupe peut avoir des fils de type groupe repr sentant ses sous groupes et ou machine machines du groupe Les machines sont des feuilles de la structure et n ont donc aucun fils Strat gies globales Unit s possibles x Strat gies locales LEE et ou h rit es Unit s possibles M5 Strat gies Propri t s Unit s possibles Figure 5 14 Informations li es la structure d entreprise 121 Chapitre 5 ORYA mise en ceuvre des mod les et conception Ensuite chacun des n uds sont associ es les informations n cessaires pour le d ploiement Sur la Figure 5 14 seuls quelques n uds ont de l information associ e afin de ne pas surcharger la figure dans la r alit chacun des n uds peut avoir les diff rents types d information Ains
232. le par exemple sp cification de chemins de d ploiement 3 5 Gestion de l application L application une fois install e doit tre g r e durant toute la dur e o elle est pr sente sur le site utilisateur c est dire jusqu sa d sinstallation Ainsi on doit par exemple pouvoir le mettre jour lorsque cela est n cessaire En fait un ensemble d activit s peut tre r alis es on parle de cycle de vie du d ploiement 4 LE CYCLE DE VIE DU DEPLOIEMENT Dans la suite des concepts li s au d ploiement nous pr sentons le cycle de vie du d ploiement La Figure 2 5 illustre la partie d ploiement du cycle de vie du logiciel CFH 98 Le d ploiement prend en compte toutes les tapes li es la vie du logiciel depuis sa validation par le producteur jusqu sa d sinstallation des sites clients Ces tapes consistent notamment installer l application la mettre jour la reconfigurer ou la d sinstaller Chacune des tapes de ce cycle de vie est d taill e dans les paragraphes suivants Nouvelle version Installation D sinstallation y A Mise a jour Reconfiguration Fin de support gt x gt D sactivation Activation Figure 2 5 Cycle de vie du d ploiement d un logiciel 30 Chapitre 2 Le d ploiement concepts et con
233. le besoin d un environnement pour le d ploiement automatis d applications grande chelle Un tel environnement permet aux entreprises de d ployer un produit sur un ensemble de machines Une version du produit est alors choisie pour chaque machine cible en fonction des contraintes impos es par le produit syst me d exploitation capacit m moire espace disque et des caract ristiques de la machine Pour r aliser un tel environnement un ensemble d informations et de concepts doivent tre mod lis s Ces informations concernent par exemple la description du produit d ployer les propri t s qui le d crivent et les contraintes qu il impose Il s agit aussi d informations sur l environnement cible Cet environnement peut tre divis en deux parties e une partie d crit les machines cibles avec un ensemble de propri t s logicielles et ou mat rielles et leur tat ou contexte de d ploiement produits d j d ploy s e une partie d crit la structure de l entreprise et regroupe les diff rentes machines en groupes Ces groupes peuvent tre form s selon l organisation administrative de l entreprise chef de services service comptabilit selon des caract ristiques communes aux machines machines fonctionnant sous un syst me d exploitation sp cifique machines ayant peu de ressources ou selon tout autre crit re 18 Chapitre 1 Introduction De plus pour pouvoir d
234. les c est dire fournir plusieurs services 3 4 La technologie des f d rations au service du d ploiement Plusieurs domaines sont utilis s dans le d ploiement les concepts sont li s l entreprise aux sites cibles aux unit s de d ploiement et au plan de d ploiement Il semble donc int ressant de d finir une f d ration pour permettre ces diff rents participants de coop rer pour r aliser enti rement la t che du d ploiement Ces diff rents domaines sont mod lis s de mani re g n rique par rapport au d ploiement dans le m ta mod le de d ploiement que nous avons d fini dans le chapitre pr c dent Les diff rentes partie du m ta mod le peuvent tre r alis es par des mod les diff rents Ainsi par exemple la partie li e aux unit s de d ploiement peut tre remplie par un mod le composants sp cifique En utilisant la composition de domaines ces concepts pourront tre r utilis s dans le domaine du d ploiement en d finissant les liens qui existent entre les concepts d j d finis et les concepts utilis s dans le d ploiement Il est donc particuli rement 112 Chapitre 5 ORYA mise en ceuvre des mod les et conception int ressant de composer les diff rents domaines concern s pour cr er l environnement global de d ploiement Cette caract ristique permet ainsi la r utilisation de concepts mais aussi de donn es et outils d j existants 3 5 L association des proc d
235. lication comme par exemple le syst me d exploitation pour lequel le produit est con u Le mod le de produit contient aussi les d pendances et ou incompatibilit s qu il existe entre ce produit et d autres Le mod le de produit peut tre modifi au niveau entreprise si celle ci ajoute ses propres extensions Dans le cadre du d ploiement le mod le de produit est utilis pour s lectionner quelle s version s d ployer sur les machines de l entreprise En effet il est important de d ployer un produit qui fonctionne correctement sur une machine et donc de v rifier si la machine remplit les contraintes qui sont impos es par celui ci Au moment du d ploiement il faut aussi v rifier si les produits d pendants et ou en conflit sont d j d ploy s sur les machines cibles En fonction de cela les d pendances peuvent aussi tre d ploy es Pour les produits en conflit incompatibilit le produit d j d ploy peut tre supprim ou le d ploiement du nouveau produit peut tre arr t cela d pend de la politique appliqu e par l entreprise De plus les diff rentes propri t s du produit pourront tre utilis es pour r pondre aux besoins et politiques de d ploiement de l entreprise Ainsi par exemple une entreprise peut choisir de ne d ployer que des produits impl ment s en java 40 Chapitre 2 Le d ploiement concepts et contexte de travail 6 4 Plan de d ploiement Le plan de d p
236. lis es Une autre alternative peut tre de tenter une activit quivalente pour remplacer celle o l erreur s est produite Une d cision peut aussi tre prise de revenir un tat coh rent du site cible sans d faire toutes les activit s d j effectu es Ce dernier choix permet ensuite de reprendre le d ploiement l o il a t stopp Diff rentes strat gies peuvent ainsi tre appliqu es en cas d erreur Il est alors important d tudier l aspect transactionnel d un proc d de d ploiement Les mod les de transaction avanc es tentent de r soudre les probl mes li s une ex cution complexe Elm90 comme un proc d de d ploiement et permettent ainsi de d finir plusieurs types d activit s MBD04 2 3 2 2 Les types d activit s d un proc d La Figure 5 3 illustre les diff rents concepts et types d activit s qui peuvent tre utilis s pour g rer les erreurs lors du d ploiement e Une activit de compensation permet de revenir en arri re en cas d erreur Ainsi si une erreur survient au cours d une activit du proc d de d ploiement une activit de compensation peut d faire les op rations r alis es par l activit o a eu lieu l erreur et permettre de revenir un tat coh rent pour le site client 108 Chapitre 5 ORYA mise en uvre des mod les et conception e Les activit s non critiques sont des activit s qui n emp chent pas le bon d roulem
237. lisateur d tre valid es invalid es Ce travail a t r alis et test pour les composants SCAR et SMON B de la plate forme Centr Actoll Il nous a permis d valuer l applicabilit de notre environnement de d ploiement en milieu industriel De plus cette exp rimentation nous a aussi permis d identifier les points forts et les points faibles de notre approche 3 3 Evaluation de l exp rimentation L entreprise Actoll a particuli rement appr ci notre collaboration dans le domaine du d ploiement En effet avant d utiliser notre environnement chaque d ploiement tait r alis manuellement notamment en ex cutant des fichiers de commandes ou des copies de fichiers 173 Chapitre 7 ORYA r alisation et valuation L utilisation d ORYA leur a permis de d finir un proc d de d ploiement pour diff rents composants Ils ont appr ci le fait que ce proc d soit reproductible sur un ensemble de machines cibles sans tre modifi Ainsi notre approche d montre que la technologie des proc d s bas e sur les f d rations fournit un excellent support pour la gestion du d ploiement De plus elle montre comment un syst me de d ploiement peut tre d fini avec des techniques sp cifiques aux proc d s pour r pondre aux nouveaux besoins des entreprises dans ce domaine Elle d montre aussi que l architecture du syst me peut tre tendue en ajoutant de nouveaux outils au noyau de la f d ra
238. lisation des travaux pr sent s dans le cadre des projets de notre quipe de recherche s orientent donc vers le d ploiement de services Ces services sont d ploy s selon une architecture avec des interm diaires entre les serveurs centraux et les l ments terminaux cf paragraphe 2 2 1 L architecture de notre syst me devra tre revue pour permettre la gestion de niveaux interm diaires Les strat gies de d ploiement pourront tre utilis es ces diff rents niveaux 198 BIBLIOGRAPHIE Pr ambule Cette partie contient l ensemble des r f rences bibliographiques cit es dans ce document Bibliographie 200 ABT 05 Actoll AM00 And00 Anso ATB03 ATB04 ATS 05 BC01 BEM94 BEM95 BG01 Bou03 Bibliographie D Ayed N Belhanafi C Taconet G Bernard Deployment of component based applications on top of a context aware middleware The IASTED International Conference on Software Engineering SE 2005 Innsbruck Austria February 15 17 2005 Site web de la soci t Actoll http www actoll com G D Abowd E D Mynatt A Charting past present and future research in ubiquitous computing CM Transactions on Computer Human Interaction TOCHD v 7 n 1 p 29 58 March 2000 R Anderson The End of DLL Hell Technical Article of Microsoft Corporation January 2000 Projet ITEA ANSO n 04016 Autonomic Networks for SOHO users
239. lles pour d finir quel plan de d ploiement construire Dans l exemple que nous venons de citer l application des strat gies d ordonnancement n cessite la consultation des strat gies de s lection qui ont d j t appliqu es l tape pr c dente Une autre solution pourrait tre de ne parcourir qu une seule fois la structure d entreprise Cet unique parcours permettrait la fois de s lectionner les unit s d ployer et d ordonnancer le plan de d ploiement en utilisant les deux types de strat gies Cette tape reste cependant tr s complexe r aliser de mani re automatis e puisque les deux types de strat gies peuvent interagir et modifier la s lection et ou l ordonnancement 7 1 2 Conflit entre strat gies Plusieurs strat gies de m me type peuvent tre applicables et contradictoires au moment du d ploiement Ainsi par exemple les strat gies de CHRONOLOGIE MACHINES lt INSTALL Impl mentation Java ORDERED Machinel Machine2 CHRONOLOGIE MACHINES gt et lt INSTALI Cat gorie OutilDeD ploiement ORDERED Machine2 Machinel CHRONOLOGIE MACHINES gt sont d finies pour un groupe de machines Dans le cas d une installation d une unit de d ploiement ayant les deux propri t s lt Cat gorie OutilDeD ploiement gt et lt Impl mentation Java gt les deux ordres de d ploiement indiqu s par les strat gies sont en conflit Pour r soudre les probl mes de conflit ent
240. loiement unitaire d crit comment d ployer une version d un produit unit de d ploiement sur un site client Le producteur fournit un plan de d ploiement unitaire avec chacun de ses produits Celui ci donne le mode d emploi permettant de d ployer son produit Au niveau entreprise un plan de d ploiement global est tabli il permet de d ployer un ensemble de produits sur un ensemble de machines de l entreprise Il est construit partir des plans de d ploiement unitaires fournis par le producteur et des strat gies appliqu es par l entreprise Un plan de d ploiement contient les instructions r aliser pour effectuer un d ploiement unitaire une unit de d ploiement sur une machine ou non plusieurs unit s sur plusieurs machines Ces instructions peuvent tre exprim es et interpr t es de diff rentes mani res Par exemple un plan de d ploiement peut tre repr sent es par une suite de t ches ex cuter un proc d ou l aide d un langage interpr ter Cette repr sentation fait partie de la personnalisation du d ploiement selon les objectifs de l entreprise 7 NOTRE APPROCHE DU DEPLOIEMENT A GRANDE ECHELLE Notre approche a pour objectif de fournir un environnement de d ploiement automatis qui permette de g rer tout le cycle de vie du d ploiement voire toute l administration des machines d une entreprise Dans cette th se nous nous focalisons plus particuli rement sur l installati
241. m me que son ex cution L application des strat gies permet de s lectionner les unit s d ployer et d ordonnancer les divers plans de d ploiement unitaires une unit sur une machine cible pour cr er automatiquement le plan de d ploiement global permettant de d ployer une applications n unit s sur un groupe de p machines cibles Cette impl mentation doit cependant encore voluer pour permettre la mise en uvre compl te des strat gies de d ploiement et envisager une utilisation industrielle Nous avons cit notamment la n cessit d extensions au niveau des proc d s langage de description de proc d repr sentant les plans de d ploiement C t strat gies il faut tout d abord impl menter compl tement le langage de description de strat gies cf paragraphe 6 du chapitre 6 Ainsi le langage de strat gies permettra l utilisateur de d finir les types de strat gies qu il souhaite alors que dans l impl mentation actuelle seuls quels types de strat gies sont trait s De plus il faut aussi travailler sur la gestion des diff rentes interactions avec les strat gies cf paragraphe 7 du chapitre 6 Enfin avant une utilisation industrielle il est int ressant d ajouter la possibilit s de d ployer m applications chacune disponible en n versions sur un groupe de p machines Il est aussi n cessaire de s int resser au cas du d ploiement d applications distribu es En effet nous avons t
242. me gt lt propertyValue gt 5i2 lt propertyValue gt lt property gt lt deployedUnit gt lt unit gt lt name gt X lt name gt lt version gt 4 lt version gt lt unit gt lt descriptorURL gt D dataldeploved X X 4 xml lt descriptorURL gt lt deployedUnit gt lt MachineDescriptor gt Figure 7 7 Exemple de descripteur de machine Dans cette version du descripteur de machine Figure 7 7 toutes les informations contenues dans notre m ta mod le de d ploiement sont disponibles Ainsi une machine est caract ris e par son nom POUPON son type ClientSite et la liste de ses utilisateurs ici merle De plus elle est d finie par un ensemble de propri t s property qui sont des couples lt nom valeur gt Dans l exemple les propri t s d crivent le syst me d exploitation OS winXP l espace disque Disk 123 et la capacit m moire Mem 512 De plus ce descripteur contient aussi la liste des unit s versions d applications qui sont d j d ploy es ici l application X version 4 est d ploy e En ce qui concerne le descripteur d application unit de d ploiement il contient aussi toutes les informations n cessaires au d ploiement La Figure 7 8 donne un exemple de la version de l unit U Cette unit est d crite par trois propri t s property qui d crivent son impl mentation son type et son interface De plus elle impose trois contraintes d installation qui traitent du
243. ment La construction d un plan global de d ploiement est alors r alisable de mani re automatis e 186 Chapitre 7 ORYA r alisation et valuation Malgr son manque de possibilit s au niveau des strat gies langage cette impl mentation d ORYA montre la faisabilit et l utilit d un environnement de d ploiement orient strat gies 6 SYNTHESE Dans ce chapitre nous avons pr sent la r alisation de notre environnement de d ploiement ORYA Comme pour l approche th orique l approche pratique a t r alis e en deux tapes l automatisation du d ploiement puis la gestion du niveau entreprise avec des strat gies de d ploiement Deux versions ont donc t r alis es La premi re version d ORYA a permis de mettre en place un environnement pour le d ploiement automatis Cette version est impl ment e comme une f d ration utilisant la technologie des proc d s Elle se limite au d ploiement d une application sur une machine Elle a permis de montrer que les technologies des f d rations et des proc d s sont une bonne approche pour le d ploiement automatis d applications La deuxi me version d ORYA int gre le niveau entreprise et les strat gies de d ploiement Elle permet le d ploiement d une application disponible en n versions sur un groupe de p machines En appliquant les strat gies de d ploiement il est possible de s lectionner quelles unit s versions d
244. mplifier la sp cification que nous donnons ici En effet ce niveau il n est pas n cessaire de conna tre plus de d tails D un point de vue s mantique cette relation associe une unit de d ploiement Revision au plan de d ploiement unitaire Activity qui permet de la d ployer La relation association UML entre les domaines d entreprise et d activit relation 4 de la Figure 5 8 permet au domaine d activit de repr senter le plan de d ploiement global En effet un plan de d ploiement global est vu comme un proc d Chacune des activit s du proc d permet de d ployer une unit sur une machine plan de d ploiement unitaire Ces activit s peuvent tre composites dans ce cas elles repr sentent la suite des tapes r aliser pour d ployer l unit D un point de vue s mantique cette relation repr sente l association qui est cr e au moment d un d ploiement Ainsi un groupe Group est associ un plan de d ploiement global Process qui permet de d ployer un ensemble d unit s sur les machines du groupe 116 Chapitre 5 ORYA mise en uvre des mod les et conception Enfin le concept de strat gie est ajout a l association de tous ces domaines pour cr er le domaine de d ploiement et d finir une extension du m ta mod le d entreprise Les strat gies sont alors associ es aux concepts de l entreprise groupe et machine relations 5 et 6 de la Figure 5 8 Ell
245. n Ainsi par exemple l utilisation du mot cl PARALLEL conduira a la cr ation d un n ud parallel dans la structure de plan La Figure 6 2 indique la structure de plan qui est construite partir de deux strat gies de type CHRONOLOGIE MACHINES pour le d ploiement de l unit Z3 sur les machines du groupe H1 Le d ploiement parall le sur les machines M7 et M8 d bute alors apr s la d ploiement sur la machine M6 D ploiement de Z3 sur H1 co lt M7 Z3 gt lt M8 Z3 gt Figure 6 2 Exemple d ordonnancement La liste des machines et sous groupes peut aussi tre remplac e par un entier Ceci indique que le d ploiement ne doit pas avoir lieu sur tous les fils du groupe mais seulement sur une 143 Chapitre 6 Un environnement de d ploiement orient strat gies partie Ainsi par exemple AND 2 signifie que l unit de d ploiement doit tre d ploy e sur deux des fils du groupe sans ordre pr cis Un groupe pouvant avoir des fils de type groupe ou machine l entier indique le nombre de fils concern s e Sil n y a que des fils machines cet entier correspond au nombre de d ploiements unitaires e Sil n y a que des sous groupes l entier correspond au nombre de sous groupes concern s e Sil y a des machines et des sous groupes l entier correspond au nombre de fils machines ou groupes concern s Cette notation permet de remplacer les choix de type IN 2IN etc
246. n cessaire Le code de la fonction est crit ind pendamment et s ex cutera si le crit re de la contrainte est v rifi Par exemple une action peut d signer une fonction qui permettra de modifier la valeur d une propri t du site cible Le paragraphe suivant donne des pr cisions sur l utilisation de ce langage 6 2 2 Quelques exemples Ce paragraphe a pour objectif de pr senter quelques exemples de ce qui peut tre fait avec le langage de contraintes que nous proposons L Exemple 1 exprime une contrainte similaire une contrainte exprimant une quantit dans le mod le de l OMG cf paragraphe 5 2 du chapitre 4 Il s agit d indiquer qu une sortie vid o est n cessaire Dans le cas o l unit concern e est d ploy e la propri t de la machine correspondante sera d cr ment e de 1 Exemple 1 CQi lt INSTALL SortiesVideoDisponibles gt 0 soustraire SortiesVideoDisponibles 1 gt L Exemple 2 exprime que l unit exige une capacit m moire sup rieure ou gale 256 Exemple 2 lt INSTALL M moire gt 256 gt L Exemple 3 exprime que le syst me d exploitation doit tre WindowsXP ou Windows2000 Exemple 3 lt INSTALL SystemeDExploitation e WindowsxP Windows2000 gt Enfin il est aussi possible de d crire des contraintes plus complexes L Exemple 4 exprime que la capacit m moire d une machine cible potentielle doit tre comprise entre 256 et 5 2 E
247. n entre une strat gie et l entit de l entreprise machine ou groupe qui l applique Au moment du d ploiement ces strat gies sont utilis es pour construire un plan de d ploiement qui permet de d ployer des unit s sur un groupe de machines Des associations sont alors cr es l ex cution entre e les entit s de l entreprise groupe et ou machines e unite d ployer e les strat gies qui sont utilis es pour construire et ex cuter le plan de d ploiement global et e le plan de d ploiement qui est construit puis ex cut 136 Chapitre 6 Un environnement de d ploiement orient strat gies Ces associations permettent d exprimer avec quelles strat gies un plan de d ploiement global a t construit et quelles unit s peuvent tre d ploy es sur quelles machines en l utilisant Group from Logical View applyGroupStrategy from Logical View A applyMachineStrategy SelectionStrategy SchedulingStrategy from Pack_Goup from Pack_Goup Executions eS trategy Ss schetules containsMachines Machine from Logical View guidesExecutio DeploymentPlan from Logical View op deploysUnit ton Unit from Logical View ee Figure 6 1 Mod le de strat gie et ses relations La Figure 6 1 pr sente le mod le de strat gie et ses relations La partie de gauche concepts de Group et Machine a d j
248. n et d activit Activity Domain Il ne reste alors qu d finir les mod les conformes aux m ta mod les qui seront utilis s dans le cadre du d ploiement Avec le domaine de produit nous d finissons le mod le de produit qui permet de d crire les unit s de d ploiement Les propri t s et les contraintes peuvent alors tre d finis comme des attributs de l unit Avec le domaine d activit nous d finissons le mod le de plan de d ploiement Ainsi un plan de d ploiement global peut tre vu comme un proc d alors qu un plan de d ploiement unitaire est une activit ventuellement composite de ce proc d Le domaine d activit couvre donc les deux types de plans mais avec des concepts diff rents A partir de ces domaines d j existants nous pouvons d finir notre environnement de d ploiement construit comme une composition de plusieurs domaines 4 3 Approche utilisant les technologies de f d rations et proc d s Les f d rations permettent tout d abord de pouvoir composer diff rents domaines pour obtenir celui qui d finit l environnement de d ploiement Chacun des sous domaines peut tre r utilis s par ment ou pour cr er d autres domaines composites L approche par f d rations permet aussi par transformation de mod les de sp cialiser chacun des sous domaines et plus particuli rement chacun des concepts avec des mod les plus sp cifiques Dans le chapitre pr c dent
249. nces peuvent acc der aux m mes propri t s de la machine cible Ainsi par exemple la propri t repr sentant l espace disque disponible pourra tre consult e plusieurs fois de mani re individuelle Mais en cumulant tous les espaces disque n cessaires indiqu s par chacune des unit s l espace disque disponible de la machine peut ne plus tre suffisant C est pourquoi il est n cessaire d effectuer une simulation des op rations r alis es par rapport aux contraintes Il s agit d une simulation du d ploiement pour v rifier que toutes les op rations effectuer peuvent tre r alis es non seulement ind pendamment mais aussi toutes r unies Cette simulation permet de s assurer de la faisabilit du d ploiement Il faut ajouter que nous ne traitons ici que les informations statiques li es au d ploiement En effet comme nous nous sommes particuli rement int ress s la premi re installation des unit s sur les machines il n est pas encore n cessaire de traiter les aspects dynamiques comme la capacit m moire disponible un instant donn par exemple Les aspects dynamiques sont n cessaires pour les activit s du d ploiement comme l activation Le traitement des aspects dynamiques implique l utilisation d outils sp cifiques permettant d introspecter les caract ristiques d un site Dans le cas des aspects statiques seul le mod le de site doit tre interrog 6 PLAN DE
250. ndant des donn es issues des n uds fils sous arbre de la structure d entreprise sont n cessaires pour d finir int gralement l ordre de d ploiement Le r sultat de l application des strat gies de chronologie peut ne d finir qu un ordre partiel de d ploiement Mais pour un n ud donn l ordre concerne tous les fils directs sous groupes et machines du groupe En effet soit un ordre total est d termin n ud ordered ou parallel de la structure de plan soit aucun ordre n est d termin n ud and de la structure de plan C est ce deuxi me cas qui conduit un ordre partiel de d ploiement en cumulant les strat gies de chronologie des diff rents niveaux Les mots cl s suivants peuvent intervenir dans la contrainte Entreprise de ce type de strat gie e PARALLEL Les d ploiements unitaires doivent tre r alis s en parall le de mani re synchronis e Dans ce cas les d ploiements commencent en m me temps et doivent tous tre termin s avant d effectuer l tape suivante du plan de d ploiement e ORDERED Les d ploiements unitaires sont r alis s s quentiellement selon un ordre pr cis e AND Les d ploiements unitaires sont r alis s s quentiellement sans ordre pr cis Ces mots cl s sont suivis d une liste de noms de groupes et ou machines fils directs du n ud auxquels est appliqu e la strat gie Selon le choix indiqu le n ud correspondant est cr pour la structure de pla
251. ne quantit qui doit tre d cr ment e de un lors du d ploiement Par exemple consid rons une unit de d ploiement qui n cessite une sortie vid o Avant le d ploiement le nombre de sorties vid o disponibles sur la machine cible doit donc tre sup rieur ou gal 1 Apr s le d ploiement le nombre de sorties vid os disponibles sur la machine cible est d cr ment de un e Les contraintes de type Capacit expriment une capacit qui diminue lors du d ploiement La machine cible doit donc pouvoir fournir cette capacit au moment du d ploiement pour pouvoir recevoir l unit Par exemple une unit n cessite un espace disque disponible de 14 Mo Avant le d ploiement cette capacit disponible sur la machine cible doit donc tre sup rieure ou gale cette m me valeur Apr s le d ploiement l espace disque disponible sur la machine cible est d cr ment de cette valeur e Les contraintes de type Minimum expriment un minimum n cessaire lors du d ploiement Il s agit ici d indiquer quelle valeur minimum doit avoir l une des propri t s de la machine cible pour recevoir l unit de d ploiement Par exemple une unit n cessite une m moire d au moins 256 Mo Lors du d ploiement on v rifie que la m moire de la machine cible est bien sup rieure ou gale la valeur indiqu e Dans ce cas aucune action ne doit tre ex cut e il s agit simplement de v rifier une pr condition au d ploieme
252. niversity of Colorado USA April 1998 R Conradi C Liu Process Modelling Languages One or Many In Proceedings of the 4 European Workshop on Software Process Technology Lecture Notes in Computer Sciences 913 Springer Noordwijkerhout The Netherlands April 1995 P Y Cunin V Lestideau N Merle ORYA A strategy oriented deployment framework 3rd International Working Conference on Component Deployment CD 2005 Grenoble France November 28th 29th 2005 L Charles M Vacelet M Chaari M Santana SDS Une infrastructure d installation de logiciels libres pour des organisations multi sites 1 conf rence francophone sur le d ploiement et la Re Configuration de logiciels DECOR 04 Grenoble France Octobre 2004 J C Demiame B Ali Kaba D Wastell Software Process Principles Methodology Technology Lecture Notes in Computer Science 1500 1998 S Dami J Estublier M Amiour APEL A Graphical yet Executable Formalism for Process Modeling Kluwer Academic Publishers Boston Process Technology Edited by E Di Nitto and A Fuggeta Pages 61 97 January 1998 202 Der94 ECB98 E105 EIVOS ELO1 Elm90 ES05 ET96 EV05 EVCOI a EVCO1 b EVCOI c EVL 03 Bibliographie J C Derniame Life Cycle Process Support in PCIS Proceedings of PCTE 94 San Fransisco USA November 1994 J Estublier P Y Cunin N Belkhat
253. nserv es Sinon pas de strat gie VERSION INTRAGROUPE la structure d application unit s possibles du n ud est lagu e en ne conservant que les unit s qui sont possibles pour au moins l un des fils private DeployUnitsStruct traiterStrategiesMemeVersion Node noeud boolean memeVersion int i UnitNode upossTab noeud getPossibleUnits getPossibleUnit Vector toKeep new Vector if memeVersion pour chaque unit possible du neud i 0 while i lt upossTab length ne conserver que les unit s possible pour tous les fils if possiblePourTous upossTab i noeud getFils 181 Chapitre 7 ORYA r alisation et valuation toKeep add upossTab i itti else sinon pas de meme version supprimer les unites qui ne sont possibles pour aucun fils i 0 while i lt upossTab length if possiblePourAuMoinsUn upossTab i noeud getFils toKeep add upossTab i ikt retourner la structure correspondant au vector toKeep DeployUnitsStruct toReturn new DeployUnitsStruct UnitNode toKeepTab new UnitNode toKeep size i 0 while i lt toKeep size toReturn setUnitePossible i UnitNode toKeep get i i return toReturn Apr s l application des strat gies de s lection si plusieurs unit s restent possibles pour un n ud c est la premi re de la liste qui est
254. nsion de celui d OSD Osd Pour une propri t donn e il peut aussi y avoir un ensemble de valeurs possibles pour certains types seulement Il y a deux types de propri t s e Les propri t s externes permettent de d crire le site utilisateur propri t s sur le syst me d exploitation par exemple e Les propri t s internes d crivent les caract ristiques du syst me lui m me la version du logiciel par exemple Les propri t s sont des informations qui sont utilis es pour choisir l application d ployer celle qui correspond le mieux aux caract ristiques de la cible Des contraintes sont aussi utilis es pour d terminer ce qui est n cessaire pour que l application puisse fonctionner correctement Le fichier DSD contient donc aussi les contraintes HHW99 d caract risant les exigences mat rielles ou logicielles n cessaires pour la bonne ex cution du logiciel install Il y en a deux cat gories e Les assertions sont des contraintes qui doivent tre v rifi es mais qui ne peuvent pas tre r solues en cours de d ploiement Par exemple une contrainte peut imposer le syst me d exploitation Windows Si cette contrainte n est pas v rifi e le d ploiement chouera e Les d pendances peuvent tre r solues en cours de d ploiement Par exemple si la pr sence d un autre logiciel est n cessaire celui ci peut tre install et le d ploiement pourra se poursuivre dans de bonnes conditions 60
255. nt e Les contraintes de type Maximum expriment un maximum n cessaire lors du d ploiement Le fonctionnement des contraintes exprimant un maximum est 93 Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle compl tement sym trique de celui des contraintes exprimant un minimum Par exemple on utilise une telle contrainte pour tester la vitesse CPU d une machine cible qui doit tre inf rieure ou gale 700 MHz e Les contraintes de type Attribut expriment une caract ristique que doit avoir une machine cible pour recevoir l unit de d ploiement Par exemple une unit de d ploiement peut exprimer qu elle ne fonctionne qu avec WindowsXP Dans ce cas une machine cible potentielle devra avoir l une de ces propri t s indiquant que son syst me d exploitation est bien WindowsXP e Les contraintes de type S lection expriment une caract ristique que doit avoir une machine cible pour recevoir l unit de d ploiement et pour laquelle plusieurs valeurs sont possibles Par exemple une unit de d ploiement peut exprimer qu elle fonctionne sous WindowsXP ou Windows2000 Si l on met en parall le ces diff rents types de contraintes avec le triplet que nous avons d fini pr c demment nous pouvons remarquer que dans le cas des contraintes de l OMG certaines vont imposer une action quantit et capacit alors que d autres n expriment qu une sorte de pr condit
256. nt niveau Utilisateur L ensemble de ces concepts ayant t d finis dans le chapitre pr c dent nous ne nous attardons pas plus ici La suite de ce chapitre nous montre comment des mod les peuvent tre utilis s dans diverses approches Parmi les mod les que nous avons pr sent s ici nous retenons plusieurs notions utiliser dans notre approche Le mod le abstrait de d ploiement Java nous fournit l ensemble des tapes r aliser pour le d ploiement et la structure fonctionnelle trois niveaux La sp cification pour le d ploiement propos e par l OMG am ne la notion de plan de d ploiement Notre approche vise construire un plan de d ploiement de mani re automatique et l ex cuter ensuite De plus nous utilisons aussi un ensemble de concepts issus de ces divers mod les pour d finir notre m ta mod le de d ploiement contraintes sur les composants par exemple Enfin le dernier mod le que nous avons pr sent nous fournit un bon exemple de strat gies de d ploiement qui peuvent tre utilis es pour l installation ou la mise jour de composants sur un site client Cependant aucun des mod les ne fournit de r el support pour le d ploiement au sein d une entreprise ayant un grand nombre de machines g rer Il est n cessaire d ajouter un concept de strat gie de d ploiement Celui ci permet de personnaliser le d ploiement grande chelle en fonction de contraintes impos es par l
257. nt la d ployer Une fois d ploy e l unit de d ploiement est transform e en composants ou services qui vont s ex cuter En prenant l exemple d OSGi les unit s de d ploiement sont des bundles mais ce sont des services qui vont s ex cuter Il s agit ici de rep rer l architecture de l application l ex cution architecture dynamique Ces diff rentes phases de vie d une application proposent des visions diff rentes et exigent des mod lisations distinctes Cependant il est n cessaire de conna tre les correspondances entre les donn es utilis es dans ces diff rentes phases Par exemple pour reprendre l exemple d OSGi c est un service qui peut tre demand tout moment mais ce sont des bundles qui sont d ploy s il faut donc tre capable de dire quel s bundle s fourni ssen t ce service Cette correspondance peut par exemple se faire via des descripteurs qui permettent de d finir le produit dans ces diff rentes phases de vie Ils permettent alors de cr er les liens entre les diff rents mod les Dans notre travail nous nous limitons la phase de d ploiement d un produit c est pourquoi nous traitons des unit s de d ploiement 87 Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle 2 3 2 Mod lisation d une unit de d ploiement Un ensemble de concepts li s aux unit s de d ploiement est n cessaire au d ploiement Ces
258. ntreprise comme un d partement une quipe de travail un utilisateur qui utilise plusieurs machines un r le d utilisateurs ou d autres sous groupes de machines Ceci implique une structure hi rarchique de l entreprise Pour le d ploiement peu importe la nature du groupe il s agit de d finir l ensemble de machines qui sera la cible d un d ploiement C est pourquoi seul le concept de groupe est utilis dans le m ta mod le de d ploiement Group from Logical View VgenerateDeploymentPlan VexecuteDeploymentPlan subGroup contains ubGroup Enterprise Department il Figure 4 5 Vision entreprise de la classe Group Chaque entreprise utilise ainsi sa propre structure Elle d finit alors l ensemble des groupes qu elle souhaite prendre en compte ainsi que les relations et contraintes qui les lient Par exemple Figure 4 5 une entreprise Enterprise peut tre compos e d un ensemble d quipes Team elles m mes compos es d un ensemble d utilisateurs User 2 2 Concepts li s la description des machines Un ensemble de concepts li s la description des machines est n cessaire au d ploiement Ces informations d crivent les caract ristiques logicielles et mat rielles des machines e Les caract ristiques mat rielles sont d crites l aide d un ensemble de propri t s Elles indiquent les caract ristiques mat rielles de la machine
259. objectifs et la m thodologie Chapitre 1 Introduction 16 Chapitre 1 Introduction 1 CONTEXTE DE TRAVAIL Le d ploiement est l tape qui arrive en fin du cycle de vie du logiciel Il s agit d une tape complexe qui permet non seulement d installer le logiciel mais aussi de le g rer jusqu la fin de sa vie Plusieurs activit s entrent alors en jeu comme la mise jour ou la d sinstallation Il s agit alors de prendre en charge le logiciel depuis son installation jusqu sa d sinstallation en passant par toutes les phases de maintenance volutive ou corrective qui s parent ces deux activit s Cette tape a pris de l importance ces derni res ann es En effet avec le d veloppement d Internet il est maintenant possible de d ployer un produit directement depuis son producteur vers une machine cible d finie A une chelle unitaire le d ploiement est une tape qui reste g rable En effet un utilisateur qui conna t bien les caract ristiques de sa propre machine est capable de choisir les produits qu il souhaite d ployer Ainsi par exemple s il a une machine fonctionnant sous Windows il choisit une version d un traitement de texte qui est adapt e et qui remplit cette contrainte Il ne lui reste ensuite qu utiliser un CD ou un fichier d installation qu il a t l charg depuis Internet Le produit fonctionne ensuite correctement aux erreurs de manipulation pr s C
260. ode traiterStrategiesDroits Selon le mot cl utilis NEVER ou ALWAYS cette m thode consiste supprimer des unit s possibles en regardant les propri t s de chacune Les 180 Chapitre 7 ORYA r alisation et valuation m thodes removePossibleUnitWithProperty et keepOnlyUnitsWithProperty permettent alors de supprimer ou de ne conserver que les unit s remplissant la contrainte Unit s constraintU de la strat gie private DeployUnitsStruct traiterStrategiesDroits DeployUnitsStruct struct Vector strategies UnitNode unitesPossibles struct getPossibleUnit int j 0 int k while j lt strategies size if StrategyType strategies get j getConstraintE equalsIgnoreCase NEVER struct removePossibleUnitWithProperty struct StrategyType strategies get j getConstraintU else if StrategyType strategies get j getConstraintE equalsIgnoreCase ALWAYS struct keepOnlyUnitsWithProperty struct StrategyType strategies get j getConstraintU j return struct Les strat gies VERSION INTRAGROUPE ont aussi t trait es pour permettre le d ploiement de la m me unit sur un groupe de machines mot cl UNIT La m thode traiterStrategiesMeme Version est appel e quand la s lection des fils d un n ud est termin e Si la m me version doit tre d ploy e seules les unit s tant possibles pour tous les fils sont co
261. oiement Ce type d outils offre cependant un support limit pour le d ploiement grande chelle et pour le d ploiement des syst mes distribu s RPM RedHat Package Manager Rpm ET96 est l un de ces outils pour la gestion de packages sous Linux Dans ce contexte un package est une archive contenant tous les fichiers d une application et des scripts de contr le ex cut s lors de l installation ou de la d sinstallation de l application Ce fichier contient aussi toutes les d pendances vers d autres packages Des commandes permettent d installer de mettre jour ou de supprimer un package Certaines permettent aussi d effectuer des requ tes sur les packages liste des packages install s liste des fichiers contenus dans un package etc Il faut aussi souligner la diff rence entre l installation et la mise jour e La mise jour crase l ancien package par le nouveau e L installation conserve si possible l ancienne version de l application et installe la nouvelle en parall le Enfin des outils comme apt get sur RedHat RedH permettent de faciliter la gestion des packages Ces outils permettent notamment de prendre en charge les d pendances r solution automatique pour l installation et la d sinstallation ou de mettre jour les packages install s avec les derni res versions existantes 4 3 3 Les syst mes de gestion d applications Les syst mes de gestion d application comme Ti
262. oiement Pour ex cuter le plan de d ploiement il suffit de parcourir la structure de plan qui a t construite l tape pr c dente Le parcours de la structure d entreprise peut aussi permettre d appliquer des strat gies d ex cution diff rents moment de l ex cution soit au moment o un choix se pr sente soit quand une erreur survient etc 5 2 Exemple de d ploiement avec strat gies de d ploiement sans d pendances Reprenons l exemple pr sent dans la partie 7 du chapitre pr c dent Nous cherchons d ployer l application U disponible en 7 versions diff rentes unit s U U2 U3 U4 U5 U6 et U7 sur les machines du groupe Ad le Pour simplifier l application des strat gies dans notre exemple nous ne tenons pas compte des d pendances des unit s L application des strat gies avec des unit s qui ont des d pendances sera pr sent e dans la suite Strat gie d ordonnancement E Mem 512 Disk 123 OS win2000 Mem 512 Disk 280 Mem 256 Disk 452 OS win2000 Mem 256 OS win2000 Mem 512 Disk 758 Disk 546 Figure 6 3 Structure d entreprise appliquant des strat gies Comme le montre la Figure 6 3 nous ajoutons des strat gies a la structure d entreprise que nous avions dans le chapitre pr c dent 149 Chapitre 6 Un environnement de d ploiement orient strat gies e La strat gie SVI appliqu e au groupe G
263. oiement c est dire l installation la d sinstallation la mise jour la reconfiguration l activation et la d sactivation L adaptation dynamique mise jour ou reconfiguration en cours d ex cution peut aussi tre ajout e cette liste pour certains types d applications Ainsi un environnement de d ploiement doit permettre de g rer l installation d un produit sur une machine la mise jour d un autre produit sur d autres machines etc Il doit g rer toutes ses tapes s quentiellement et ou parall lement selon les contraintes impos es par l entreprise et les r aliser sans g ner le travail des utilisateurs c est dire sans bloquer l utilisation des machines cibles ou en imposant un minimum de perturbations De plus il faut prendre en compte l h t rog n it des machines cibles En effet chaque machine peut avoir une configuration logicielle et mat rielle diff rente Il faut donc tre capable d tablir un d ploiement sur tous les types de machines en prenant en compte les caract ristiques de chacune Par exemple il faut tre capable de d ployer un produit aussi bien sur une machine Windows que Linux dans des versions ventuellement diff rentes L environnement des machines est aussi amen tre modifi constamment soit en termes d applications nouveaux produits install s anciens supprim s soit en termes de mat riels changement de carte vid o ajout de m
264. om peuvent tre d ploy es sur la machine e NR NEVER REPLACE Cela signifie que si une unit est d j d ploy e sur la machine alors elle ne peut pas tre remplac e par ni cohabiter avec une unit de m me nom e RA REPLACE ALWAYS M me si une unit est d j d ploy e elle doit tre remplac e par une autre unit de m me nom peu importe son num ro de version e ROIN REPLACE ONLY IF NEWER Si une unit est d j d ploy e elle doit tre remplac e par une unit de m me nom seulement si celle ci a une version sup rieure la premi re Ces strat gies peuvent tre utilis es lors de la s lection d une unit mais elles peuvent aussi tre utilis es lors de l ex cution du plan de d ploiement En effet si entre la construction du plan et son ex cution une unit a t d ploy e et qu il faut appliquer la strat gie NR alors le d ploiement de l unit ne pourra pas tre r alis 4 2 Strat gies d ordonnancement Nous pr sentons deux types de strat gies d ordonnancement Elles permettent de d terminer dans quelle ordre doivent s ex cuter les diff rents plans de d ploiement unitaires couple lt machine unit gt Ainsi apr s l application des strat gies d ordonnancement le plan de d ploiement global est ordonn partiellement ou totalement Une fois les strat gies de s lection appliqu es chaque n ud de la structure d entreprise est associ l
265. on des produits fournis par le producteur sous forme packag e Il s agit alors de pouvoir s lectionner une des version s du produit parmi la liste des versions disponibles adapt es aux machines cibles La version d ploy e peut tre la m me sur toutes les machines ou tre diff rente cela d pend des op rations de d ploiement strat gies de l entreprise Notre approche vise d finir un m ta mod le de d ploiement qui permette ensuite d tablir les diff rents mod les entreprise machine produit plan de d ploiement qui sont utilis s dans le d ploiement Une telle approche permet d tre g n rique au niveau du type des produits d ployer comme au niveau de l environnement cible de d ploiement L automatisation du d ploiement implique l utilisation de l information contenue dans les diff rents mod les Mais il est aussi important de prendre en compte les contraintes qui peuvent tre impos es par l entreprise ordre de d ploiement pr f rence pour un type de produit traitement des erreurs etc C est pourquoi nous avons d fini des strat gies de d ploiement Les strat gies de d ploiement permettent de personnaliser le d ploiement en fonction de l entreprise cible Elles peuvent tre utilis es diff rents moment du d ploiement pour la s lection pour l ordonnancement des diff rentes tapes etc L application des strat gies permet ensuite de cr er un plan de d plo
266. onnements cibles Cette approche permet de r utiliser un maximum d informations lorsque le type d applications change En effet dans ce cas seuls les outils sp cifiques sont r crire De plus nous utilisons des strat gies de d ploiement qui permettent de personnaliser le d ploiement et de prendre en compte les contraintes impos es par l entreprise En effet une configuration particuli re peut tre choisie pour une machine cible ou un ensemble de machines cibles Le proc d plan de d ploiement peut aussi tre diff rent selon les strat gies utilis es par chaque entreprise Notre approche est pr sent e dans la suite du document Elle est introduite en deux tapes d abord la mod lisation des concepts li s au d ploiement Mer04 et leur mise en uvre puis la d finition et la mise en uvre de strat gies de d ploiement 78 lt CHAPITRE 4 UN MODELE GENERIQUE POUR LE DEPLOIEMENT D APPLICATIONS A GRANDE ECHELLE Pr ambule Ce chapitre pr sente notre approche bas e sur des mod les Il s agit de fournir une mod lisation g n rique des donn es du d ploiement Ici l ensemble des concepts n cessaires au d ploiement est utilis pour d finir un m ta mod le de d ploiement Chacun des concepts est d taill puis illustr dans un exemple la fin du chapitre Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle 80 Chapitre 4
267. onner une ventuellement une pour chaque machine du groupe e le nom de l activit de d ploiement a r aliser Le plan de d ploiement rassemble donc un ensemble de concepts du m ta mod le de d ploiement Il s agit de la partie centrale du d ploiement puisque tous les concepts entreprise machine unit d crits pr c demment sont utilis s pour le construire Les principales tapes du calcul d un plan de d ploiement permettant de d ployer une unit sur un groupe de machines sont les suivantes e S lectionner l les unit s u adapt e s la aux machine s m cible s et respectant les strat gies de s lection du groupe g et de ses machines e Ordonner l ensemble des plans unitaires plan pour d ployer une unit sur une machine en fonction des strat gies du groupe pour former le plan de d ploiement global Des plans unitaires permettent de d ployer l unit mais aussi chacune des d pendances Ils peuvent tre instanci s si n cessaire avec les caract ristiques de la machine Chaque plan unitaire est consid r comme une brique de base du plan de d ploiement global e Ajouter les cas d erreur en respectant les strat gies La construction du plan de d ploiement global implique donc l application de diverses strat gies que nous d terminerons dans la suite du document Chapitre 6 des moments diff rents 7 EXEMPLE DE MODELISATION DE DONNEES DE DEPLOIEMENT Dans cette partie
268. orrespondant est ex cut L URL de celui ci renvoie aux instructions n cessaires son ex cution Les plans unitaires proc d s sont ex cut s de la m me mani re que dans la version 1 d ORYA L ex cution du plan de d ploiement global reste assez simple dans cette version d ORYA avec un parcours de la structure et l ex cution des proc d s de d ploiement unitaires Dans une prochaine version la structure de plan pourra tre utilis e pour construire un proc d repr sentant le plan de d ploiement global De plus un langage de proc d Les03 pourra tre int gr pour d finir les plans de d ploiement unitaires 4 5 Outils Des outils permettent d ex cuter les diff rentes tapes de chaque d ploiement unitaire cf paragraphe 2 3 1 mais d autres outils permettent aussi de g rer le d ploiement et les diff rents mod les de description de donn es Ainsi un outil est lanc au d marrage de la f d ration de d ploiement ORYA sur la machine ex cutant le moteur de la f d ration serveur de d ploiement Cet outil permet d avoir la vision des donn es de l entreprise groupes machines connect es et de les g rer Il permet aussi de demander le d ploiement d une application sur un groupe de machines Le nom de l application est choisi parmi la liste de celles disponibles sur les serveurs d applications Le nom du groupe de machines est choisi parmi la liste de ceux qui composent l entre
269. p cifiques au d ploiement de l application copie de fichiers cr ation de variables d environnement ex cution de fichiers de commandes etc Ce descripteur est un fichier XML qui r pond la structure du sch ma de la Figure 7 3 Dans ce descripteur nous retrouvons les activit s du proc d de d ploiement que nous avons d fini pr c demment Une installation nstall est ainsi compos e d une tape d extraction extract d un ensemble d tapes d installation installStep et d une tape de terminaison terminate Elle est aussi associ e un ensemble de propri t property d finies dans un fichier de propri t s propertiesFile et qui seront utilis es au cours de l installation Ces propri t s peuvent tre des valeurs fixes ou des valeurs calculer au moment de l installation en fonction du mod le de site Une tape Step a un nom stepName et est associ e un commentaire comment Le commentaire est informel et sert simplement de note pour l utilisateur Une telle tape est aussi compos e de trois parties e une r alisation do permet d noncer l activit r aliser 3 e une v rification verification facultative permet de v rifier si la r alisation pr c dente s est bien d roul e e un retour arri re undo facultatif permet de revenir en arri re si la v rification r v le que la r alisation a caus une erreur Chacune de ces parties est d finie pa
270. pe il faut cr er la structure de plan Il s agit de parcourir la structure d entreprise laquelle sont associ es diff rentes structures d application pour chaque machine et de cr er les n uds de la structure de plan qui correspondent aux strat gies d ordonnancement Le principe de l algorithme est alors le suivant e Etape 1 D marrer la racine de la structure d entreprise e Etape 2 Cr er un n ud du plan de d ploiement selon les instructions suivantes e Sur un n ud machine Cr er le s couple s lt unit machine gt selon la structure d application Si plusieurs couples sont n cessaires d ploiement de d pendances par exemple les ordonner et cr er les n uds du plan correspondants selon les strat gies disponibles e Sur les autres n uds Cr er le n ud du plan qui convient en appliquant les strat gies d ordonnancement et l ajoutant la structure de plan 148 Chapitre 6 Un environnement de d ploiement orient strat gies e Etape 3 Ex cuter les tapes 2 et 3 r cursivement pour chaque fils du n ud jusqu atteindre un n ud machine Cette tape permet de construire r cursivement les sous arbres de la structure de plan Apr s cette tape la structure de plan est disponible Elle repr sente le plan de d ploiement global qui permet de d ployer un ensemble d unit s sur un groupe de machines structure d entreprise 5 1 3 Ex cution du plan de d pl
271. permettant d effectuer les tapes e de s lection des unit s d ployer et e de cr ation et d ordonnancement du plan de d ploiement global 5 1 1 S lection des unit s d ployer Pour d buter le d ploiement il faut s lectionner les unit s qui sont possibles pour chacune des machines Pour pouvoir effectuer cette tape il faut utiliser les structures d entreprise et d application qui sont construites en fonction de la demande de d ploiement cible et objet de d ploiement L tape de s lection implique alors la mise en relation e des contraintes des unit s disponibles avec les propri t s des machines cibles et e des strat gies de groupes et de machines avec les propri t s des unit s disponibles 147 Chapitre 6 Un environnement de d ploiement orient strat gies Une structure d application cr e avec l ensemble des unit s disponibles est transmise aux diff rents n uds de la structure d entreprise A chaque n ud des traitements peuvent tre effectu s Ces traitements modifient la structure d application et correspondent a l application des strat gies Au niveau des machines les contraintes des unit s doivent aussi tre v rifi es Le principe de l algorithme est alors le suivant e Etape 1 D marrer la racine de la structure d entreprise e Etape 2 Elaguer la structure d application selon les instructions suivantes e Sur un n ud machine V
272. ples suivants les contraintes impos es par l unit de d ploiement ne sont plus v rifi es par la machine Par exemple l espace disque disponible n est plus suffisant pour accueillir Punit Punit ou une de ses d pendances que lon cherche d ployer est d j d ploy e sur la cible une machine cible s est d connect e Dans ce cas d autres types de strat gies plus labor es peuvent tre appliqu s Par exemple en ce qui concerne la v rification des contraintes une strat gie peut d cider de d ployer tout prix c est dire de d ployer malgr tout l unit Ceci peut impliquer des op rations sur le site comme par exemple de lib rer de l espace disque Une autre strat gie pourrait tre de d ployer si possible Dans ce cas si les contraintes ne sont pas v rifi es le d ploiement est abandonn Dans le cas o l unit de d ploiement a d j t d ploy e entre la construction du plan de d ploiement et son ex cution plusieurs choix sont aussi possibles Par exemple le plan de d ploiement global peut tre compl tement abandonn pour en recalculer un nouveau ou 146 Chapitre 6 Un environnement de d ploiement orient strat gies alors le d ploiement unitaire de la machine concern e est consid r comme valide et le d ploiement se poursuit sur les autres machines Dans le cas ou une machine cible s est d connect e il est possible d
273. ployer tout type de produit applications de type COTS composant sur tag re applications base de composants il faut pouvoir fournir une mod lisation de ces concepts la plus g n rique possible Pour cela nous proposons de d finir un m ta mod le pour le d ploiement A partir de ce m ta mod le divers mod les conformes peuvent tre d crits permettant ainsi de sp cifier les concepts n cessaires un type de produit sp cifique ou un environnement cible particulier En outre le d ploiement grande chelle laisse place diff rents degr s de flexibilit Par exemple plusieurs versions d un produit peuvent tre compatibles avec la configuration d une machine cible plusieurs ordonnancements peuvent tre possibles pour d ployer un produit sur un ensemble de machines etc Il faut alors g rer ces diff rents degr s de libert s en fonction des besoins et ou pr f rences de l entreprise cible de d ploiement Pour cela nous proposons de d finir des strat gies de d ploiement Permettre l administrateur d ployeur de l entreprise de d finir ses propres strat gies de d ploiement lui assure alors la possibilit de pouvoir r aliser exactement le d ploiement qu il souhaite et de mani re automatis L ensemble des informations n cessaires au d ploiement m ta mod le et les strat gies sont ensuite utilis es pour construire un plan de d ploiement Un plan de d ploiement d
274. plus complexes et demander une tude plus d taill e 7 2 Interaction des strat gies avec les d pendances Lors d un d ploiement d unit s avec d pendances il faut d terminer quelle s strat gie s appliquer aux d pendances Les cas suivants sont possibles e Les m mes strat gies sont utilis es pour les unit s d ployer et leurs d pendances Dans ce cas les unit s sont consid r es comme une partie de 159 Chapitre 6 Un environnement de d ploiement orient strat gies l unit d ployer et les strat gies de l unit sont aussi appliqu es ses d pendances Par exemple si le d ploiement de l unit interdit une impl mentation en java alors les unit s dont des d pendances sont impl ment es en java sont supprim es de l ensemble des possibilit s e Des strat gies diff rentes sont utilis es pour les unit s et leurs d pendances Dans ce cas les d pendances sont consid r es comme des unit s part enti re li es leurs propres strat gies Elle seront alors trait es comme des unit s standards Dans l exemple pr c dent les unit s non impl ment es en java mais ayant des d pendances impl ment es en java peuvent tre conserv es parmi les possibilit s e Les ensembles ensemble Vrai et ensemble Faux sont d termin s en fonction des propri t s des unit s et de leurs d pendances Ainsi seules les unit s dont les propri t s remplissent la contrainte Unit s et
275. politiques de d ploiement ou autre des informations sur le statut des membres de l entreprise etc Ce mod le peut aussi tre utilis dans d autres contextes gestion du personnel par exemple c est pourquoi toute l information contenue n est pas forc ment utilis e pour le d ploiement Dans le cadre du d ploiement il est important de retenir la structuration des machines en diff rents groupes et ventuellement sous groupes Ces groupes peuvent tre r alis s selon des crit res hi rarchique de l entreprise quipes membres d une quipe ou selon des crit res plus techniques machines utilisant Windows machines ayant un faible espace disque machines dont la langue de l utilisateur est le fran ais Le mod le d entreprise permet aussi d associer les diff rentes strat gies ou politiques de d ploiement qui sont utilis es Ces strat gies tablissent par exemple un ordre de d ploiement sp cifique ou une pr f rence pour des produits java Ces strat gies sont utilis es pour d finir un plan de d ploiement global l entreprise ou un groupe de machines de l entreprise 39 Chapitre 2 Le d ploiement concepts et contexte de travail 6 2 Mod le de machine Le mod le de machine d crit la configuration mat rielle et logicielle des sites clients Chaque site poss de son propre mod le de machine La configuration mat rielle comprend toutes les caract ristiques mat r
276. pos es par une unit de d ploiement pourront tre satisfaites et donc si l unit pourra tre d ploy e sur le site client Un ensemble de strat gies Strategy permet d indiquer quelles unit s de d ploiement pourront tre d ploy es sur le site client et sous quelles conditions elles seront d ploy es Les strat gies peuvent se sp cialiser dans les diff rents types d finis pr c demment Figure 4 4 Une machine g re un ensemble d unit s de d ploiement Unif ce sont les unit s qui sont d j d ploy es En r alit deux types de machines peuvent se distinguer les serveurs d applications et les sites clients Figure 4 7 Les machines qui sont des serveurs d applications fournissent des unit s d ployer sous forme packag e Un package contient toutes les donn es et l information n cessaires au d ploiement d une unit Les machines qui sont des sites clients sont des machines o des unit s sont d ploy es Machine from Logical View name String connected Boolean Applications Server Figure 4 7 Raffinement de la concept Machine 86 Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle Dans la suite nous ne consid rons que les machines clientes c est dire celles sur lesquelles les unit s sont d ploy es En effet les serveurs d applications servent simplement au stockage d unit s d ployer et ne concernen
277. pos es selon les unit s qui sont s lectionn es Les strat gies appliqu es aux d pendances sont les m mes que celles appliqu es aux unit s Nous avons impl ment quelques uns des types de strat gies que nous avons identifi s pr c demment cf paragraphe 4 du chapitre 6 Parmi les strat gies de s lection nous avons notamment impl ment e les strat gies VERSION DROITS avec les mots cl s ALWAYS imposer un type d unit et NEVER interdire un type d unit et e les strat gies VERSION INTRAGROUPE avec le mot cl UNIT qui impose la m me unit de d ploiement version d une application pour toutes les machines d un groupe Apr s l tape de s lection compl te un ensemble de plans unitaires couple lt unit machine gt est connu et doit tre ordonn l aide des strat gies d ordonnancement Parmi les strat gies d ordonnancement nous avons impl ment e les strat gies CHRONOLOGIE MACHINES avec les mots cl s ORDERED ordonner le d ploiement par rapport aux machines cibles et AND pas d ordre pr cis de d ploiement et e les strat gies CHRONOLOGIE UNITES utilis es simplement pour g rer l ordre de d ploiement des d pendances et de l unit avec les mots cl s MANDATORY DEPENDANCIES d pendances obligatoires et UNIT unit Les strat gies d ordonnancements sont tout d abord utilis es pour d terminer si les d pendances MANDATORY DEPENDANCIES doivent
278. posant contient plusieurs impl mentations du m me composant Ainsi il est possible de distribuer un ensemble d impl mentations avec des propri t s ou des hi rarchies diff rentes dans un m me package Ces packages sont install s dans un d p t repository o ils peuvent tre configur s avant le d ploiement Les composants et packages sont aussi associ s un ensemble de descriptions description d impl mentation d assemblage et de besoins pour exprimer comment les ressources vont tre utilis es 49 Chapitre 3 Etat de l art et de la pratique 2 1 2 2 Mod le de cible de d ploiement Le mod le de cible d crit et g re l information du domaine o sont d ploy es des applications Un domaine repr sente l environnement cible complet Il est compos d un ensemble de n uds interconnect s entre eux et communicants par des passerelles Les passerelles repr sentent la description d un chemin de communication directe entre les n uds Les interconnexions d crivent une connexion directe partag e entre des n uds Elles permettent aux composants instanci s sur les n uds de communiquer avec des composants sur d autres n uds Des n uds peuvent partager des ressources contenues dans le domaine entre eux Enfin un n ud une interconnexion ou une passerelle peut avoir des caract ristiques capacit de calcul appel es ressources l int rieur de l environnement cible 2 1 2
279. pour d livrer un grand nombre de titres par exemple au d marrage du syst me e Serveur mon tique SMON gestion de la monnaie lectronique se sp cialisant en gt SMON B cas des paiements par carte bancaire cas des paiements par pr l vements 172 Chapitre 7 ORYA r alisation et valuation gt SMON P cas des paiements par cartes privatives comme Shell Esso American Express DKV gt SMON PME cas des paiements par porte monnaie lectronique e Serveur d analyse des donn es SAND analyse des donn es statistiques contr le des recettes mise en forme des donn es pour interpr tation avec un ERP comme SAP e Serveur d inter modalit SIM gestion des r seaux multi inter modaux 1 seul ticket pour parking bus et des compensations une partie de l argent encaiss revient quelqu un d autre Chacun des composants de la plate forme s ex cute sur un serveur en utilisant d autres applications Par exemple plusieurs composants utilisent une base de donn es Oracle ORYA est utilis pour installer ces composants sur un ensemble de machines clientes Les proc d s d installation des composants utilisent les m mes techniques ex cution de scripts copie de fichiers cr ation de variables d environnement Pour notre exp rimentation nous nous focalisons donc sur les composants SCAR et SMON B 3 2 Utilisation d ORYA Plusieurs tapes permettent de r al
280. pour pouvoir r alis le d ploiement Ainsi cette structure volue au cours de l application des diverses strat gies A la fin de l tape de s lection chaque n ud est associ la structure d application qui contient les unit s qu il va recevoir 4 4 2 S lection des unit s Lorsqu un utilisateur demande le d ploiement d une application ensemble de versions sur un groupe de machines de l entreprise le descripteur de la structure d entreprise est cr en fonction du groupe cible et des versions de l application unit s de d ploiement qui sont disponibles L ensemble des unit s disponibles forme la structure d application qui est associ e la racine de la structure d entreprise I faut ensuite s lectionner quelle s unit s d ployer sur chaque machine cible finale de d ploiement du groupe L tape de s lection utilise alors les strat gies de s lection de chaque n ud en appliquant la m thode suivante private DeployUnitsStruct select Node noeud String deployActivity Nous avons vu dans le paragraphe 5 1 1 du chapitre 6 le principe de cet algorithme e v rification des contraintes des unit s par rapport aux propri t s des machines cibles et e application des strat gies de groupes et de machines Dans cette partie nous pr sentons plus particuli rement la mani re de traiter les strat gies Ainsi les strat gies de type VERSION DROITS sont trait es par la m th
281. prise De la m me mani re un outil est lanc sur chaque site client lorsqu il se connecte la f d ration Cet outil permet d avoir la vision des caract ristiques de la machines et ventuellement d en ajouter de nouvelles propri t s Il permet aussi de conna tre les unit s qui sont d ploy es Les serveurs d applications quant eux utilisent un outil qui permet d ajouter supprimer des unit s d ployer diff rentes versions d applications Il est aussi possible de consulter l information qui les concerne 5 EVALUATION DE LA VERSION 2 Cette deuxi me version d ORYA permet toujours d automatiser le d ploiement L apport essentiel par rapport la premi re version est la gestion du niveau entreprise et la gestion des strat gies 185 Chapitre 7 ORYA r alisation et valuation Il est maintenant possible de regrouper les diff rentes machines de l entreprise en groupes et sous groupes et de d ployer une application disponibles en plusieurs versions sur un groupe de machines chaque machine re oit alors une version qui lui convient L utilisation de strat gies permet de personnaliser le d ploiement selon les besoins de l entreprise En effet la s lection des unit s d ployer peut tre modifi e selon certaines caract ristiques ou pr f rences de l entreprise L ordonnancement du plan de d ploiement peut aussi tre diff rent selon les strat gies appliqu es de
282. que machine ou groupe de machines 4 1 1 Strat gies VERSION DROITS Les strat gies de type VERSION DROITS permettent d imposer ou d interdire le d ploiement d un certain type d unit s Par exemple l entreprise peut imposer le d ploiement d applications impl ment es en java ou interdire le d ploiement de jeux Ces strat gies peuvent tre associ es une machine dans ce cas elle ne concernent qu une seule cible ou un groupe de machines elles concernent toutes les machines cibles du groupe Ce type de strat gie ne n cessite pas d information suppl mentaire provenant des n uds fils elles ne sont donc pas propag es et sont trait es directement Nous avons d fini les choix champ contrainte Entreprise du triplet repr sentant une strat gie suivants pour ce type de strat gie e ALWAYS Cela signifie que seulement les unit s de l ensemble Vrai peuvent tre d ploy es La structure d application r sultat de l application de la strat gie est compos e des unit s de l ensemble Vrai e NEVER Cela signifie que les unit s de l ensemble Vrai ne peuvent pas tre d ploy es La structure d application r sultat de l application de la strat gie est compos e des unit s de l ensemble Faux e IF AVAILABLE Cela indique une pr f rence pour les unit s contenues dans l ensemble Vrai mais pas une obligation Dans ce cas si l ensemble Vrai n est pas vide c est lui qui
283. que nous avons indiqu es position port e visibilit propagation pr c dence et d tablir comment traiter les strat gies de ce type Le langage permet ensuite d exprimer chaque strat gie avec son type la contrainte Unit s la contrainte Entreprise et l activit de d ploiement laquelle elle se rapporte 194 Chapitre 8 Conclusion et perspectives Enfin nous avons identifi diff rentes interactions concernant les strat gies la composition de strat gies les conflits entre strat gies et les interactions entre strat gies et d pendances de l unit d ployer Ces interactions fournissent des axes de recherche pour les perspectives de travail Les strat gies semblent tre un bon moyen de personnaliser le d ploiement selon les contraintes impos es par l entreprise Avec le langage l utilisateur peut d crire lui m me les strat gies dont il a besoin Les strat gies ne sont alors plus impos es par un outil de d ploiement comme c est souvent le cas dans les outils existants mais elles sont d finies et utilis es selon les besoins de chaque entreprise 2 PERSPECTIVES Dans cette partie nous indiquons quelques perspectives et axes futurs de recherche Ces travaux sont s par s en deux sections les perspectives d volution de notre environnement ORYA puis les perspectives li es l utilisation de ces travaux dans divers projets de recherche 2 1 Perspectives d volution Nous
284. r effectuer la s lection des unit s d ployer il faut parcourir la structure d entreprise en utilisant la structure d application Figure 5 18 et en tenant compte des strat gies appliquer et des contraintes impos es par les unit s Le parcours d bute au niveau du n ud G o la strat gie SVI doit tre appliqu e L expression logique de la strat gie est utilis e comme une garde et ne conserve que l ensemble Vrai form des unit s impl ment es en java c est dire avec la propri t lt mpl mentation Java gt U2 est cart e Le traitement de la strat gie est mis en attente jusqu ce que les informations en provenance des fils soient disponibles Une copie de la structure d application avec les unit s UI U3 U4 U5 U6 U7 est transf r e chaque fils avec la strat gie SVZ en attente sur le p re Au niveau de G1 il faut appliquer la strat gie SVD et mettre en attente la strat gie h rit e SV1 La strat gie SVD supprime toutes les unit s avec une interface multim dia c est dire U6 La nouvelle structure d application avec les unit s UJ U3 U4 U5 U7 est transmise aux machines M et M2 Au niveau des machines la v rification des contraintes est effectu e voir l exemple dans le chapitre pr c dent Au niveau de G2 la strat gie h rit e SVI est mise en attente Aucune strat gie de s lection n est indiqu e sur G2 Une copie de la structure d application is
285. r l unit Les plans de d ploiement peuvent se sp cialiser selon les diff rentes activit s du cycle de vie du d ploiement Figure 4 9 DeploymentPlan from Logical View url String status StatusType UpdatePlan UninstallPlan ActivatePlan InstallPlan Figure 4 9 Raffinement de la classe DeploymentPlan Les plans de d ploiement li s une unit de d ploiement sont ensuite compos s pour cr er un plan de d ploiement global permettant de d ployer une unit sur un groupe de machines d une entreprise De plus une unit peut d pendre d autres unit s Une unit d pend d une autre unit lorsqu elle en a besoin pour fonctionner correctement Les diff rents types de d pendances sont expos s dans le paragraphe suivant 3 DEPENDANCES ENTRE UNITES DE DEPLOIEMENT Nous avons vu dans la partie pr c dente qu une unit de d ploiement peut d pendre d une autre unit Cela signifie qu elle a besoin de cette deuxi me unit pour fonctionner Par hypoth se nous consid rons que les d pendances d une unit sont identifi es pr cis ment une version d une application d pend d une version donn e d une autre application Pour reprendre les concepts mod lis s ci dessus une unit de d ploiement donn e d pend d une autre unit de d ploiement donn e Pour chaque d pendance des strat gies ou politique de d ploiement diff rentes peuvent tre appliqu es C
286. r un r le RoleType Celui ci permet de d terminer quelle m thode avec ses param tres de quel r le de la f d ration utiliser pour r aliser l tape Par exemple l utilisateur souhaite faire appel au r le de gestion de fichiers pour cr er un fichier dont il indiquera le nom Ainsi pour r aliser les diff rentes tapes il a fallu d finir un ensemble de r le et d outils dans la f d ration 2 3 F d ration pour le d ploiement Les donn es que nous venons de d finir sont utilis es dans une f d ration d outils pour le d ploiement ELO1 EVCOI c Cette f d ration constitue notre environnement de d ploiement ORYA L environnement est impl ment en java Java Nous commen ons par d finir l univers commun avec les concepts d application de site client de serveur de d ploiement de serveur d applications Ces concepts utilisent les mod les que nous venons de d finir Il faut ensuite d finir les r les et les outils qui sont n cessaires 2 3 1 D finition des r les Gr ce au cahier des charges MKL 02 d fini en collaboration avec un partenaire industriel Actoll nous avons identifi et d fini un ensemble de r les n cessaires au d ploiement d une application Ainsi parmi ces r les nous retrouvons e Le r le de transfert permet de r aliser le transfert d un fichier d une machine une autre e Le gestionnaire de registres permet de cr er modifier ou supprimer des variables
287. ract ris par l URL qui permet d acc der aux instructions de d ploiement 97 Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle quelque soit leur forme La m thode execute acc de donc ces instructions pour lancer le d ploiement de l unit Chacun de ces plans permet de d ployer une unit sur une machine Chaque unit impose ses propres contraintes et chaque machine a sa propre configuration d finie par ses propri t s et les unit s qui sont d j d ploy es Le fait de conserver ces liens permet d identifier l tat de l environnement de d ploiement au moment o le plan global est construit Ainsi avant l ex cution du plan une comparaison entre l tat indiqu par le plan et l tat courant peut tre effectu e pour v rifier si le plan peut s ex cuter correctement ou risque d engendrer des erreurs dues l volution de l environnement de d ploiement Une fois ces associations r alis es il reste exprimer les relations d ordre partiel ou total et les choix qui peuvent encore tre faits entre ces diff rents d ploiements unitaires Il faut pouvoir exprimer quel plan de d ploiement doit tre le prochain tre ex cut relation next ou quel s plan s doi ven t tre ex cut s en m me temps relation parallel Pour les relations d ordre partiel et les choix entre unit s les relations and et xor permettent de dire
288. rait le cas du d ploiement d une application en plusieurs exemplaires et non le cas du d ploiement d une application distribu e sur plusieurs machines Dans ce cas de nouvelles strat gies pourraient tre d finies Enfin il est aussi possible de d finir un nouvel outil qui permettrait de construire la structure d entreprise utiliser lors de chaque d ploiement En effet dans cette impl mentation nous avons syst matiquement utilis la hi rarchie d crite dans le mod le d entreprise Un tel outil permettrait de modifier cette structure selon les besoins de chaque d ploiement par exemple en supprimant ou en rajoutant des machines au groupe cible de d ploiement ou en s lectionnant les strat gies appliquer Le but de cette impl mentation n tait pas d tre exhaustive quant aux fonctionnalit s offertes mais de mesurer la faisabilit de la mise en uvre de strat gies de d ploiement Cette impl mentation a ainsi pu permettre de r aliser des tests avec des types de strat gies sp cifiques L utilisation de strat gies de d ploiement permet de prendre en compte les diff rentes pr f rences de l entreprise pour g rer la flexibilit du d ploiement choix des unit s d ployer ordonnancement etc La classification des strat gies en diff rents types avec des caract ristiques particuli res pour chacun permet d automatiser leur traitement et donc d automatiser la pr paration du d ploie
289. re la r alisation d une activit Une activit Activity re oit un ensemble de produits Producf en entr e Ces produits peuvent tre utilis s supprim s ou modifi s au cours de la r alisation de l activit Un autre ensemble de produits repr sente alors le r sultat de l activit Enfin l activit peut aussi utiliser des produits interm diaires pour r aliser des sous activit s ou tapes 105 Chapitre 5 ORYA mise en ceuvre des mod les et conception hasSub hasSub Activity z hasinput Performer eo pe plays Figure 5 1 Concepts de base des proc d s Des agents Performer humains ou automatiques sont charg s de r aliser les activit s Ils sont caract ris s par le r le Role qu ils remplissent Les activit s peuvent aussi tre r alis es gr ce l intervention d outils Tool Diff rentes vues d un proc d peuvent tre mod lis es selon les besoins et les acteurs concern s Divers langages et environnements de proc d s permettent de travailler avec ces concepts 2 2 Langages et environnements de proc d s Les environnements de travail BEM95 pour les proc d s appel s PSEE Process sensitive Software Engineering Environment fournissent un support pour la technologie des proc d s Ils permettent de les d finir les mod liser et les ex cuter Un moteur de proc d s contr le l environnement en interpr tant le s langage s utilis s
290. re RDU04 3 3 1 Contexte scientifique Resolvit s int resse particuli rement au d ploiement d architectures orient es service SOA BCO1 Bou03 Il s agit de d ployer de mani re distribu e des unit s fournissant des services sur un ensemble de plates formes avec une configuration sp cifique De mani re g n rique un service est une pi ce de logiciel qui offre une certaine fonctionnalit Plusieurs impl mentations du m me service peuvent donc exister Les cibles de d ploiement sont connect es Internet et un ensemble de serveurs fournissent des unit s de d ploiement De plus un centre de gestion est en charge des activit s de 65 Chapitre 3 Etat de l art et de la pratique d ploiement Il doit r soudre les probl mes de d pendances et de conflits entre les unit s a d ployer L approche est orient e sur le d ploiement de services OSGi Un service OSGi est d fini par une interface Java et impl ment par un objet Pour tre utilis s par d autres les services doivent tre enregistr s dans le service registry Au moment de l enregistrement une impl mentation d un service peut sp cifier des informations qui permettent de la diff rencier des autres impl mentations Ainsi lors du d ploiement une s lection de l impl mentation souhait e peut tre r alis e Dans OSGi l unit de d ploiement est le bundle Un bundle est un fichier compress zip qui contient des classes
291. re les d pendances avant de commencer l installation Il faut alors v rifier si les applications n cessaires sont d j install s sur le site client Si c est le cas l installation peut d buter Si ce n est pas le cas il faut r soudre les d pendances en installant aussi les applications concern es Avant de pouvoir ex cuter et utiliser l application install e il faut ensuite passer par l tape d activation 31 Chapitre 2 Le d ploiement concepts et contexte de travail 4 3 Activation et d sactivation L activation permet de pr parer l environnement dans lequel l application devra s ex cuter Han99 et d instancier l application Il s agit par exemple de cr er des instances de base de donn es Cette tape peut ne concerner que la machine cible mais elle peut aussi concerner un ensemble de machines dans le cas des applications distribu es Dans ce deuxi me cas l activation peut consister cr er l ensemble des passerelles n cessaires pour la communication des machines entre elles Apr s l activation l application est pr te tre ex cut e et fonctionner correctement La d sactivation est l op ration inverse de l activation Elle consiste d sactiver l ensemble des unit s de l application pour pouvoir effectuer des modifications sur celui ci La d sactivation est donc effectu e avant une mise jour une reconfiguration ou une d sinstallation Cette activit
292. re permet de r aliser l inventaire mat riel et logiciel de chaque machine de l entreprise Ceci implique que ce module doit tout d abord collecter les informations n cessaires puis mettre jour la base contenant l information li e toute l entreprise La recherche d information se fait en introspectant les machines Puis les informations collect es type localisation sont centralis es pour avoir une vision globale des diverses configurations de l entreprise L inventaire peut tre utilis diverses tapes du d ploiement pour e v rifier les contraintes mat rielles et logicielles lors du d ploiement d une application e d terminer les logiciels d ploy s dans l entreprise ces donn es peuvent aussi tre utilis es pour planifier le d ploiement e v rifier la configuration logicielle d une machine v rifier la coh rence des donn es 4 1 1 2 La distribution L outil de distribution Tivoli Software Distribution Tsd supporte l installation la configuration et la mise jour des logiciels distance et de mani re centralis e Pour pr parer le d ploiement cet outil permet notamment de d finir les d pendances logicielles et de choisir les actions a ex cuter pour r aliser le d ploiement Pendant le d ploiement il est aussi possible de configurer l application et de v rifier les versions des composants d pendants L outil permet aussi d ex cuter les actions
293. re strat gies qui peuvent appara tre dans le cas o plusieurs sont applicables des r gles doivent tre tablies Ces r gles permettent l utilisateur de d terminer quelle s strat gie s doivent tre prioritaires par rapport aux autres Pour ce faire il classe les strat gies d finies par ordre croissant d importance Dans ce genre de cas comme toutes les strat gies ne peuvent pas tre appliqu es l utilisateur est inform non seulement des strat gies qui sont utilis es mais aussi des strat gies qui n ont pas pu tre appliqu es De plus si aucune r gle de pr c dence n est d finie et que le conflit ne peut pas tre r solu l utilisateur devra alors choisir interactivement quelle strat gie appliquer parmi celles possibles A ce moment l utilisateur peut aussi choisir d abandonner le d ploiement s il consid re que toutes les conditions n cessaires ne peuvent pas tre remplies Pour viter les conflits possibles il faut aussi pouvoir les rep rer Cela signifie qu avant l application des strat gies toutes les strat gies applicables selon la contrainte sur les unit s de m me type doivent tre compar es pour v rifier si leurs contraintes sur l entreprise ne sont pas contradictoires Quelques cas assez simples peuvent tre identifi s pour rep rer automatiquement les conflits possibles Cependant pour certains types de strat gies utilis s lors de la s lection les cas peuvent tre
294. relles e Un n ud a une capacit de calcul et repr sente la cible o seront ex cut es les impl mentations de composants e Les interconnexions fournissent une connexion partag e directe entre les n uds un c ble Ethernet par exemple e Les passerelles repr sentent les routeurs et ponts switches e Les n uds les interconnexions et les passerelles ont des caract ristiques des ressources et des capacit s Par exemple un n ud peut avoir un syst me d exploitation ou une capacit m moire une interconnexion peut avoir une certaine bande passante e Le logiciel qui supporte l ex cution des composants sur un n ud particulier environnement d ex cution doit pouvoir tre impl ment ind pendamment du service de d ploiement Le proc d de d ploiement permet de d crire les diff rentes phases du d ploiement Le proc d d bute apr s le d veloppement le packaging et la publication du logiciel et apr s son 48 Chapitre 3 Etat de l art et de la pratique acquisition par son propri taire le d ployeur Le proc d de d ploiement prend en compte les tapes suivantes e Lors des pr conditions pour le proc d de d ploiement le package de l application a d ployer est publi et rendu disponible au d ployeur e L installation apporte le package dans un endroit o l application sera configur e en appliquant des politiques de d ploiement e La configuration permet d
295. res qui peuvent varier en fonction du contexte comme e architecture de l application les composants de l application et leurs connexions peuvent changer selon le contexte e le choix des versions d impl mentation des composants la version d un composant d ployer peut tre diff rente selon le contexte e la s lection de l emplacement des composants chaque composant de l application peut tre d ploy sur un terminal diff rent en fonction de la disponibilit des ressources et de la localisation de l utilisateur e les valeurs des propri t s de configuration les propri t s fonctionnelles contr lant le comportement du composant et non fonctionnelles persistance politiques de s curit du composant peuvent diff rer suivant le contexte Par exemple la propri t langage de l utilisateur peut avoir des valeurs diff rentes selon le contexte de d ploiement CADeComp est une plate forme qui permet de prendre en compte les informations du contexte de d ploiement pour faire varier ces diff rents param tres 3 2 3 Architecture et mod le de donn es Un m ta mod le de contexte a t d fini pour les services sensibles au contexte et appel COMCAS COntext Meta model for Context Aware Services ABT 05 Comme le montre la Figure 3 6 COMCAS se divise en quatre domaines contexte capteur r gles et politiques et services sensibles au contexte ServicesSC Le domaine de contexte repr
296. rmettre l utilisation d ORY A dans un maximum de contextes 4 UN ENVIRONNEMENT DE DEPLOIEMENT ORIENTE STRATEGIES ORYA VERSION 2 La deuxi me version de notre environnement de d ploiement est bas e sur les concepts de la premi re Il est ainsi possible de d ployer des applications de mani re automatis e Mais cette deuxi me version ne permet plus seulement de d ployer une application sur une machine premi re version mais un ensemble d applications sur un ensemble de machines Il est alors n cessaire d introduire les concepts d entreprise et de strat gie 4 1 Les bases de ORYA version 2 Le fonctionnement g n ral de la version 2 reste le m me que celui de la version 1 avec l utilisation des technologies de f d ration et de proc d Les mod les de site et d application ont cependant t affin s 174 Chapitre 7 ORYA r alisation et valuation lt xml version 1 0 encoding UTF 8 gt lt MachineDescriptor xmlns http castor exolab org gt lt name gt POUPON lt name gt lt machineFunction gt ClientSite lt machineFunction gt lt userName gt merle lt userName gt lt property gt lt propertyName gt 0S lt propertyName gt lt propertyValue gt winxP lt propertyValue gt lt property gt lt property gt lt propertyName gt Disk lt propertyName gt lt propertyValue gt i23 lt propertyValue gt lt property gt lt property gt lt propertyName gt Mem lt propert yNa
297. rono gt Une strat gie CHRONOLOGIE MACHINES est une strat gie d ordonnancement ORDONNANCEMENT qui ne peut s appliquer qu un groupe GROUPE Au niveau visibilit elle ne masque pas PAS MASQUER les strat gies de m me type des niveaux inf rieurs de la structure d entreprise Elle n est pas propag e NON et la priorit est accord e aux strat gies h rit es HERITEES Enfin ce type de strat gie est interpr t par la m thode interpr tationChrono 6 2 2 Extension du langage de strat gies Pour pouvoir exprimer la contrainte d entreprise contrainte Entreprise il faut tendre le langage de strat gie avec les mots cl s et expressions qui conviennent Exemple 7 Extension du langage de strat gies lt contrainte Entreprise gt expressionVdroits expressionChronoMach lt expressionVdroits gt NEVER ALWAYS SI POSSIBLE lt expressionChronoMach gt ordre listeMachinesOuGroupes ordre entier lt ordre gt ORDERED PARALLEL AND lt ListeMachinesOuGroupes gt identificateur identificateur ListeMachinesOUGroupes Une expression de strat gie VERSION DROITS expressionVdroits peut tre l un des mots cl s qui ont t pr sent s au paragraphe 4 1 1 NEVER ALWAYS ou SI POSSIBLE Une expression de strat gie CHRONOLOGIE MACHINES expressionChronoMach est une liste de machines et ou groupes ordonn e selon un mot cl ou un entier Ces ordres
298. rs qui peuvent survenir 2 3 1 Automatisation du d ploiement Le d ploiement est compos de plusieurs tapes comme la s lection d une configuration adapt e au client ou le transfert de donn es Chaque activit du cycle de vie du d ploiement peut aussi comporter plusieurs tapes comme la copie de fichiers ou la cr ation de variables d environnements Chacune de ces tapes est n cessaire au bon d roulement du d ploiement complet d un produit chez un client Les proc d s sont une bonne technique pour ordonner et structurer l ensemble de ces tapes et des donn es utilis es Avec un proc d ex cutable il est aussi plus facile d automatiser le d ploiement m me si une intervention humaine reste possible tout instant L automatisation du d ploiement permet ainsi de d ployer un produit sur un grand nombre de machines avec un minimum d intervention humaine 107 Chapitre 5 ORYA mise en ceuvre des mod les et conception De plus l utilisation de proc d s offre la possibilit de fournir une s quence d activit s reproductible En effet dans le cadre du d ploiement grande chelle il est important de pouvoir ex cuter plusieurs fois la m me s quence d instructions pour par exemple pouvoir d ployer une application sur plusieurs cibles ou prendre en compte des erreurs De m me il est int ressant de pouvoir d finir une s quence g n rique afin de pouvoir la r utiliser en l
299. rtement basique et des caract ristiques Les strat gies d un m me type ont leurs caract ristiques en commun Ces caract ristiques doivent tre sp cifi es pour d finir la s mantique de la strat gie Nous identifions les caract ristiques suivantes e La position d termine quel s type s de n ud peut tre associ e la strat gie En effet une strat gie peut tre attach e une machine ou un groupe de machines Certains types de strat gies peuvent tre associ s aux deux types de n ud d autres ne peuvent tre associ s qu un seul type de n ud e La port e d termine a quelle s cible s doit s appliquer la strat gie Ainsi une strat gie attach e une machine ne concerne que la machine elle m me Une strat gie associ e un groupe quant elle concerne toutes les machines du groupe ou certaines machines du groupe Dans les cas simples la port e peut tre d duite de la position C est ce que nous ferons comme hypoth se lors de la pr sentation de la grammaire du langage de strat gies cf paragraphe 6 de ce chapitre e La visibilit d termine si la strat gie doit ou non cacher les strat gies de m me type des niveaux inf rieurs sous groupes et machines de la structure d entreprise En effet une strat gie associ e un groupe peut ou non cacher ou tre cach e par une strat gie de m me type li e un des sous n uds e La propagation indique si la strat gie doit ou non
300. s Communication lt gt PA Ex cution manuelle automatique du proc d Espace de travail Espace de travail Machine utilisateur Machine utilisateur Figure 5 2 Environnement de travail pour les pr c d s Plusieurs approches existent donc pour la d finition des langages de mod lisation de proc d s Par exemple le langage Adele BEM94 est bas sur une approche r active Il est bas sur l utilisation de d clencheurs triggers et fournit des instances de proc d s ex cutables Gr ce aux langages de mod lisation de proc d s et aux environnement de travail qui les utilisent il est possible de d crire et ex cuter un proc d APEL DEA98 EVL 03 d velopp dans notre quipe de recherche fournit un formalisme graphique de haut niveau pour la mod lisation des proc d s Cette approche g re aussi l ex cution de ces m mes proc d s via un moteur de proc d s Un syst me d agenda permet aussi chaque agent humain de visionner l ensemble de l ex cution du proc d et de savoir quand il doit intervenir Le paragraphe suivant d termine quels services ces technologies peuvent apporter au d ploiement 2 3 La technologie des proc d s au service du d ploiement L utilisation de la technologie des proc d s permet essentiellement d automatiser le d ploiement et de contr ler son d roulement Elle peut aussi tre utilis e pour automatiser la gestion des erreu
301. s 3 2 1 Contexte scientifique Le travail r alis par PINT est plac dans un contexte o les sites clients sont mobiles et connect s au r seau TPB03 Le proc d de d ploiement est alors d clench lors d un acc s un service Quand l utilisateur quitte ce service la d sactivation et la d sinstallation du des composant s concern s est d clench e Ainsi l interface utilisateur est le seul composant toujours n cessaire sur le terminal client De plus dans ce cas l activit de mise jour n est plus n cessaire puisque le composant est r install chaque utilisation Le d ploiement en temps r el permet aussi de personnaliser les services d ploy s dans un contexte d ex cution pr cis Ainsi chaque client a un composant r alisant le service demand correspondant le plus aux attentes et aux caract ristiques de la cible Pour cela le contexte d ex cution est collect avant le d ploiement Ce contexte inclut notamment les capacit s du terminal en termes mat riels les interfaces utilisateur l autonomie de batterie la capacit CPU et les logiciels d j disponibles Le contexte comprend aussi la position g ographique de l utilisateur et ses pr f rences Avec l ensemble de ces informations le d ploiement est ensuite adapt aux ressources disponibles De plus la division de l application en plusieurs composants permet si cela est n cessaire l ex cution de chaque compos
302. s grande chelle p machines Ce plan de d ploiement est le r sultat de l application des contraintes et strat gies de d ploiement et refl te les diff rents degr s de libert qu il reste pour son ex cution A ces concepts sont associ s des concepts compl mentaires e Les propri t s d crivent les unit s de d ploiement et les machines cibles e Les d pendances entre unit s indiquent de quelles autres unit s a besoin une unit donn e e Les contraintes sont associ es aux unit s de d ploiement Pour chaque unit elles indiquent quelles caract ristiques doit avoir une machine cible pour que l unit puisse tre d ploy e et fonctionner correctement e Les strat gies sont associ es aux entit s de l entreprise groupe et machine Elles permettent de construire le plan de d ploiement L ensemble de ces concepts g n riques peut ensuite tre personnalis pour mettre en uvre une solution sp cifique Les concepts g n riques sont alors associ s des concepts sp cifiques comme un mod le composants un mod le d entreprise etc La mise en uvre d une solution est pr sent e dans le chapitre suivant 102 CHAPITRE 5 ORYA MISE EN UVRE DES MODELES ET CONCEPTION Pr ambule Dans notre approche par les mod les nous avons choisi d utiliser des technologies tudi es dans notre quipe de recherche les f d rations et les proc d s Ce chapitre pr sente ces
303. s tapes du plan Par exemple une erreur peut survenir lors d un transfert de donn es Plusieurs possibilit s peuvent alors tre indiqu es par la valeur du champ contrainte Entreprise de la strat gie e STOP Le d ploiement en cours est arr t et la les machine s concern e s restent dans l tat o elle s est sont e CONTINUE Le d ploiement se poursuit malgr le probl me rep r e ROLLBACK Le d ploiement en cours est arr t et un retour en arri re des activit s d j effectu es est r alis afin de ramener la les machine s concern e s dans son leur tat initial e ROLLBACK CONTINUE Le d ploiement en cours est arr t et un retour en arri re des activit s d j effectu es est r alis sur la machine concern e Le d ploiement se poursuit ensuite par les d ploiements sur les autres machines du groupe L utilisation des strat gies ROLLBACK et ROLLBACK CONTINUE sous entend que le producteur met disposition les activit s permettant de r aliser ce retour en arri re Ce type de strat gies peut tre utilis au niveau des groupes et machines de l entreprise La strat gie doit tre propag e jusqu aux machines cibles Les strat gies de ce type exprim es sur un groupe cachent les strat gies de m me type appliqu es aux sous groupes et machines de ce groupe Certaines erreurs sont dues l volution de la cible depuis la construction du plan Nous pouvons citer les exem
304. s et installer les ressources La phase de r solution d bute Install jour et pas de 4 Rien Te d ployer Requ te au Registry sur faire ps les l ments install s x non Yy Lecture du descripteur de d ploiement Y a t il des oy It rer pour chaque d pendances ou d pendance non Vv Phase d ex cution lt gt Figure 3 8 Phase de r solution des d pendances de l algorithme de d ploiement de Resolvit 67 Chapitre 3 Etat de l art et de la pratique 3 3 4 Conclusion L approche de PUPM est bas e sur le d ploiement des architectures orient es services L impl mentation de Resolvit a t exp riment e avec OSGi L un des points forts de l approche est la r solution de d pendances Il est en effet int ressant de pouvoir classifier les diff rents types de d pendances et d adapter leur r solution en fonction de ces types De plus pour r soudre ces d pendances automatiquement un algorithme a t d fini Un autre point positif est la prise en compte du contexte de d ploiement pour adapter le d ploiement au plus proche des caract ristiques des cibles De plus la coh rence de l tat de la plate forme cible est assur e avec le d ploiement en deux phases une unit n est install e que si elle peut fonctionner Cependant le traitement des erreurs au cours de la phase d ex cution du proc d de d ploiement n
305. s lequel le d ploiement est g r et surveill Dans l impl mentation ce serveur correspond la machine 166 Chapitre 7 ORYA r alisation et valuation sur laquelle le moteur de la f d ration s ex cute Enfin l installation physique de l application sur le site client est r alis e client manifest KOTerminate end gat seon terminate Fe client lt default gt es client manifest error client package client manitest error beefy extract client manifest enor eliant manifest eror default eet asror a beginExecExtracty client manifest error begin hanes client manitest error Figure 7 2 Activit d installation L activit d installation physique Install est une activit composite qui se d compose selon la Figure 7 2 La premi re activit consiste extraire toutes les donn es du package Ainsi il est possible d acc der au descripteur de d ploiement qui d crit les activit s d installation sp cifiques l application L activit d extraction Extract est suivie d un ensemble d tapes d installation Install Step d crites dans le descripteur de d ploiement Ces tapes sont les tapes de d ploiement sp cifiques l application copies de fichiers cr ation de variables d environnement Ces tapes sont ventuellement associ es une tape de retour arri re Undo Step Ainsi
306. s qu d ployer l application concr tement sur chaque machine 29 Chapitre 2 Le d ploiement concepts et contexte de travail 3 4 D ploiement concret Le d ploiement concret est r alis selon la strat gie choisie au niveau entreprise Au moment voulu des instructions sont ex cut es pour installer et configurer l application c est dire chacun de ses composants que le site utilisateur final re oit La configuration est sp cifique chaque utilisateur puisqu elle d pend en particulier des caract ristiques mat rielles et logicielles de sa machine Il faut donc v rifier que les contraintes et d pendances tablies lors de la s lection des composants au niveau entreprise sont bien v rifi es Par exemple si l application d ployer a des d pendances il faudra peut tre d abord installer celles ci Toutes ces caract ristiques logicielles et mat rielles sont conserv es dans le mod le de machine ou mod le de site Gom00 Apr s avoir termin les v rifications on peut installer la bonne configuration de l application pour chaque utilisateur Les instructions ex cuter pour r aliser l installation sont fournies par le producteur de l application puisque c est lui qui a la connaissance de son produit proc dure de d ploiement unitaire Cependant ces instructions peuvent avoir des param tres qui permettent de personnaliser les actions en fonction des caract ristiques du site cib
307. s qui composent le cycle de vie du d ploiement et les autres concepts ou d finitions qui formalisent les aspects du d ploiement Ces points sont d finis dans les paragraphes suivants 2 2 1 Les acteurs du mod le Quatre acteurs Figure 3 1 entrent en jeu dans le mod le abstrait de d ploiement java Ces acteurs remplissent chacun un r le bien d fini L ensemble des actions r alis es par ces acteurs permet de d ployer une application Le producteur doit construire un produit logiciel et le pr parer pour le d ploiement Il doit fournir des ressources annot es ressources d ployer et leur description et les politiques de d ploiement La partie producteur peut se s parer en deux acteurs e Le producteur d veloppe le logiciel 51 Chapitre 3 Etat de l art et de la pratique e Le propri taire du logiciel a les droits sur le produit et d cide des politiques de d ploiement Pour simplifier le mod le ces deux acteurs peuvent coincider En effet dans la pratique c est souvent le m me acteur qui est responsable du d veloppement du logiciel et de ses droits Producteur Propri taire du logiciel Distributeur Utilisateur final Figure 3 1 Les acteurs du mod le abstrait de d ploiement Java L acteur suivant qui entre en jeu dans le mod le est le distributeur Il est charg de distribuer et installer correctement le logiciel sur la plate forme cliente Sa ta
308. s tout d abord le cas d tude puis l utilisation d ORY A dans ce contexte et son valuation 171 Chapitre 7 ORYA r alisation et valuation 3 1 Pr sentation du cas d tude Pour valuer notre approche nous avons r alis une exp rimentation de notre prototype en milieu industriel L entreprise Actoll travaille sur une plate forme du domaine des transports Centr pour g rer les p ages autoroutiers et r seaux de transports en commun Demandes de fabric ation Figure 7 6 Architecture de la plate forme Centr Actoll Cette plate forme Centr Actoll est compos e de diff rents composants Figure 7 6 Chacun d eux a une t che sp cifique e Serveur r f rentiel SREF h bergement des fichiers et des donn es de configuration de l application gamme tarifaire topologie du r seau habilitation et droits d acc s e Serveur de configuration SCONF liaison entre les fichiers de param tres h berg s dans SREF et les quipements Il fournit chaque quipement le fichier de configuration qui lui permet de fonctionner e Serveur pour la gestion client le SCAR gestion des clients stocke les clients abonn s gestion des cartes des clients pour ceux qui sont abonn s gestion des contrats post paiement pr l vement e Serveur pour la personnalisation SPER personnalisation ou pr personnalisation des titres de transports cartes tickets haut d bit utilis
309. sants peuvent tre choisis en fonction des pr f rences du client ou de tout autre crit re Ces domaines peuvent ensuite tre compos s en tablissant des relations entre leurs m ta mod les L approche des f d rations est la composition d l ments logiciels de diverses natures entre eux La composition est bas e sur la coordination et dirig e par la composition de mod les ex cutables Vi103 Les premiers objectifs sont de e pr server l autonomie et l initiative des participants l ments logiciels e faciliter l volution de l application globale r sultante de la composition 3 1 Domaine L approche par f d ration de domaines permet d obtenir des sp cifications de haut niveau ex cutables et de cr er une biblioth que de mod les et m ta mod les Ces mod les et m ta mod les peuvent ensuite tre facilement int gr s r utilis s et adapt s sans avoir les modifier EV05 Domaine conceptuel M ta mod le a Mod le Instance d ex cution Impl mentation Correspondance eS EE R les a Outils Composants Figure 5 4 Niveaux conceptuels et niveau d impl mentation d un domaine La Figure 5 4 indique qu un domaine est compos de deux parties LEV03 e Une partie abstraite Domaine conceptuel repr sente le mod le conceptuel du domaine et contient la s mantique abstraite e Une partie concr te mpl mentat
310. seeeesseceeesssssssuaensneees 114 4 2 R UTILISATION DE DOMAINES ISSUS DES FEDERATIONS csseeccceseeecccecseececeaeeecenaees 115 4 3 APPROCHE UTILISANT LES TECHNOLOGIES DE FEDERATIONS ET PROCEDES 00eeeeceeeee 115 4 4 SPECIFICATION DES MOD LES sssccccccccccceceesssceeceeeceeeeueeseceeesesscesesensneceeesssssssauensn sess 118 5 STRUCTURES DE D PLOIEMENT cccccccccccccccccccccccccccsccccccccccccccesccesccsssccssccsssccsccsccsccescees L20 5 1 STRUCTURE D ENTREPRISE 5e done deteste sure ne de edd de de Bus clus ee de veces re Sd Bus 121 5 2 STRUCTURE D APPLICATION sienne tit ent lin tan sn ie ns 122 53 5 EPRUCTURE DE PLAN 4 5 bien tes center este ne Paint ete enter ie etes e etat 123 6 MISE EN UVRE DES CONCEPTS COMPL MENTAIRES AU D PLOIEMENT ssssssoossooos cesse e 125 OL DEPENDANCE Le nd Ce du Alan nent aus ee Mende dae 0e SOURCES teats 125 6 2 CONTRAINTES mehi orient nl men en Pise ni mn nier nl td er dial enter nee ots 126 7 EXEMPLE DE D PLOIEMENT SANS STRATEGIES cccccsccesccessccesccssssssssccssscsssssscssssssssssscees L28 TA EXEMP E DE BASE 45228800 n aan dan sa sure amants dt Me dm nn N TASA 128 7 2 PRISE EN COMPTE DES DEPENDANCES eiis ara a a dapa aa 130 7 3 CUMUL DES CONTRAINTE aise dire din era tin tan A stereo 130 CHAPITRE 6 UN ENVIRONNEMENT DE D PLOIEMENT ORIENT 1 INTRODUCTION NOTRE APPROCHE sccccocsssssscccccsscsccccsscccccscscscccccscccccecscccceccsccceeessscoes LID
311. semble de propri t s couple lt nom valeur gt qui permettent notamment de d tailler les points suivants e donn es sur l utilisateur final r le information sur la licence du produit etc 52 Chapitre 3 Etat de l art et de la pratique e propri t s de connexion e librairies et extensions java install es e versions des ressources de l application install e e donn es d pendant de la plate forme e etc Cot serveur un ensemble de politiques de d ploiement d finissent exactement qui doit installer quoi Ces politiques sont fournies par le propri taire du logiciel Une politique est une assertion du type IF condition INSTALL nom jar Par exemple l assertion IF license evaluation INSTALL timebomb jar indique que pour une version d valuation un jar particulier doit tre install Les politiques de d ploiement peuvent contenir les informations suivantes e Les politiques de connexion ont un r le important dans le d ploiement distance Elles permettent par exemple de sp cifier quand tablir une connexion e Les politiques de distribution sont du c t serveur du processus de d ploiement et sont actionn es par le Distributeur dans la phase de gestion du serveur de d ploiement Elles permettent par exemple de g rer la distribution d une application en r seau e Les politiques bas es sur les diff rentes propri t s du client sont appliqu es du c t cli
312. semble de versions d applications sous forme packag e d ployer et l information qui les concerne Un package contient toute l information n cessaire au d ploiement de l application savoir e les donn es n cessaires au d ploiement fichiers ex cuter ou copier par exemple 165 Chapitre 7 ORYA r alisation et valuation e le manifeste de l application mod le d application et e la description du proc d mode d emploi de d ploiement sp cifique qualifi de d ploiement unitaire l application Enfin les sites clients eux sont les sites o sont d ploy es les applications Un site est caract ris par ses caract ristiques mat rielles m moire processeur et logicielles syst me d exploitation Il g re un ensemble d applications qui y sont d ploy es 2 1 Proc d de d ploiement Pour cette impl mentation et cette exp rimentation nous nous focalisons sur l activit d installation Pour cela nous d finissons un proc d le plus g n rique possible d crivant les tapes franchir pour installer une application Ce proc d repr sente un plan de d ploiement unitaire permettant d installer une application sur une machine La Figure 7 1 d crit le proc d d installation dans le langage APEL DEA98 Les rectangles repr sentent les activit s qui peuvent tre simples ou composites c est dire compos es de plusieurs sous
313. si elle pourra s ex cuter et fonctionner correctement capacit m moire suffisante par exemple Ces contraintes sont connues par le producteur de l unit de d ploiement et doivent donc tre d finies par lui C est pourquoi nous avons choisi d associer les contraintes aux unit s de d ploiement Ces contraintes sont ensuite mises en correspondance avec les propri t s des machines cibles de l entreprise Cette mise en correspondance permet de d finir si les propri t s de la machine v rifient ou non les contraintes impos es par une unit de d ploiement et donc si celle ci peut tre d ploy e ou non De l autre c t nous avons associ les strat gies aux entit s de l entreprise Une strat gie permet de d finir un choix de d ploiement soit une pr f rence d un type d unit s unit s impl ment es en java par exemple soit un ordre de d ploiement etc Ces choix sont propres aux entreprises et ou aux utilisateurs de l entreprise Le producteur ne peut en aucun cas d cider des politiques de l entreprise C est pourquoi nous avons fait le choix d associer le concept de strat gie aux concepts de groupe et de machine L entreprise peut aussi souhaiter appliquer une strat gie seulement pour un type pr cis d unit de d ploiement Par exemple une strat gie peut exprimer qu il faut d ployer les unit s impl ment es en java d abord sur la machine M1 puis sur la machine M2 Cette strat
314. sssscsocccccscccecescccssccesseess OO 3 1 LES DEPENDANCES OBLIGATOIRES ssseccceccccecceeesscceececeeeeeuseececesesssssseuaeeseeeessseseuauenenes 90 3 2 LES D PENDANCES DE CONFLIT sssscceeeccccecceeesesecesesssceeeeusesceeesssesseseusneneeeessssssuauennens 90 3 3 LES DEPENDANCES SELECTIVE Gurri anini a i a a iaia A 90 3 4 LES D PENDANCES DE REMPLACEMENT cccccccceesssseceeeseeeeceeeuseeecesesssssseuneeseeeessssssuaaeanens 91 3 5 LES DEPENDANCES FACULTATIVES cccscccccccccccceessncceescccceeeeseceesessssuuauansneeeessssssuaannnees 91 4 CONTRAINTES ET STRATEGIES DE D PLOIEMENT cccccscccscsssssssssccssccccccccccccccsssccccccssesseee J2 5 CONTRAINTES D UNE UNIT DE D PLOIEMENT ccccscesscesssscssccsssscssccssssssscssccssssssscsssssseee ID 5 1 DEFINITION D UNE CONTRAT E irele S Eeee EETA E TASSE 92 5 2 DIFF RENTS TYPES DE CONTRAINTE S peruana a a aa aia 93 5 3 CUMUL DE CONTRAINTES ET SIMULATION DE DEPLOIEMENT cccsssecccccesesccsseeeesseeeeees 95 6 PLAN DE D PLOIEMENT viscecsssacsesssccsccascocosestscssdecoscsccetstdevesssccovccesedsduascdsensecesesdesasccscecsesessas OD 6 1 D FINITION D UN PLAN DE D PLOIEMENT csseccccccseeccccceseeccscesseseeeseseseuusesseeeaeeseeeaans 95 6 2 MOD LISATION D UN PLAN DE DEPLOIEMENT GLOBAL 0 cccccsssscccceeeeccceeeueccsseusescesenens 96 6 3 GENERATION D UN PLAN DE DEPLOIEMENT ssssscceecceeeceeeusseeceeesessesseusesecee
315. ssssssusaeanees 99 7 EXEMPLE DE MOD LISATION DE DONN ES DE D PLOIEMENT csccssssscsscccsseccensceeseeee eee DO CHAPITRE 5 ORYA MISE EN UVRE DES MOD LES ET CONCEPTION 103 1 INTRODUCTION 5 state en nine es ns a nn a 552 LOS 2 LA TECHNOLOGIE DES PROC D S csssssccccsccsssssececcescssssesssesccsecccsscesesccccccesecesssscccsseseees LOS 2 1 MOD LISATION DE PROC D erreira a a aos se ee EEE RAS Te Sete AU VA 105 2 2 LANGAGES ET ENVIRONNEMENTS DE PROC D S suuurse se aueuneesenunnncecenneceeenneceennseceeunnee 106 2 3 LA TECHNOLOGIE DES PROC D S AU SERVICE DU DEPLOIEMENT cscccceeecceseceescceeees 107 3 LA TECHNOLOGIE DES FEDERATIONS ccccsssssssssssssssssssssssssssssscsssssssscesssssssssssssssssssssscee LOD SI DOMAINE names lee ME ee TA Peche se l tee at 110 3 2 COMPOSITION DE DOMAINES ccccccssssseeeecccceceeeuseeeeecccceceeeussaseeeecesceceeeussaseeeeseeeeeeeenaes 111 3 3 NIVEAU CONCRET LES CONCEPTS DE BASE cccsssssseeecccceceeeusssseseeccceseeussaseeeeseceeseeenaes 112 3 4 LA TECHNOLOGIE DES FEDERATIONS AU SERVICE DU D PLOIEMENT cceseesesseeeeseeees 112 3 5 L ASSOCIATION DES PROC D S ET DES FEDERATIONS ccccccessssseeeecccceceeeusssaeeeeeceeeeenees 113 4 ARCHITECTURE DU SYSTEME cccccssssssccccccscssssssccccccccsccsssssecccccscsessssececsecesescssssccscsesseeee 13 4 1 OBTENTION DES DIFF RENTS MODELES sssseseeececeeeccceeesssceesesec
316. strat gies de d ploiement a chaque niveau et de faciliter leur application 2 2 2 D ploiement de services Dans notre approche nous avons utilis la notion d unit de d ploiement pour abstraire ce qui doit tre d ploy principalement des composants du code Les projets en cours reposent sur le concept g n ralis de service Nous devons donc maintenant tudier ce que signifie d ployer des services En effet un ensemble de services est fourni dans une m me unit de d ploiement bundle dans OSGi Ce sont donc des unit s qui sont d ploy es mais des services qui sont utilis s Dans ce cas il faut tablir les rapports entre services et unit s de d ploiement A l ex cution le raisonnement se fait en termes de services alors qu au d ploiement ce sont des unit s qui sont trait es Il faut alors d terminer quelles sont les liens entre ces deux notions Par exemple il faut d finir ce que signifie une d pendance de services les services d pendants sont ils fournis par la m me unit de d ploiement ou des unit s diff rentes Le d ploiement d une unit de d ploiement peut aussi impliquer le d ploiement de services qui ne sont pas n cessaires mais qui sont contenus dans l unit d ploy e il faut alors d terminer quoi faire de ces services non utilis s Pour r pondre toutes ces questions des travaux sont en cours pour d finir un mod le de services Les perspectives d uti
317. sue de G est alors transmise sans modifications la machine M3 Cette m me structure une copie est transmise G3 avec la strat gie SV en attente Sachant qu il n y a pas de strat gie de s lection sur G3 la structure d application une copie est transmise M4 et M5 A ces niveaux la v rification des contraintes est aussi effectu e et permet d laguer la structure d application en fonction des caract ristiques de chaque machine 150 Chapitre 6 Un environnement de d ploiement orient strat gies La Figure 6 4 est une tape interm diaire de la s lection Elle indique quelles unit s sont possibles pour chaque machine avant de finir d appliquer la strat gie SVI m me unit pour toutes les machines Les strat gies SV like repr sentent la propagation de la strat gie SVI au niveau des sous groupes G G2 et G3 U1 U4 US U7 es Oe cae Ge Smt U1 U4 US U6 U7 U1 U4 US U6 U7 U1 U5 06 U7 U1 U5 06 U7 Figure 6 4 Unit s possibles pour chaque machine Une fois que l information unit s possibles est disponible pour chaque machine la strat gie SVI peut tre trait e Il faut alors r aliser l intersection des ensembles d unit s possibles pour chaque machine Cette intersection est r alis e sur chaque n ud interm diaire G3 G2 et G puis sur G lors de la remont e dans la structure d entreprise jusqu G Ceci est un exemple de transmission de strat
318. syst me d exploitation de la capacit m moire et de l espace disque Enfin elle est associ e un plan de d ploiement dont l URL est indiqu e qui permet son installation 175 Chapitre 7 ORYA r alisation et valuation lt xml version 1 0 encoding UTE 8 gt lt UnitDescriptor xmlns http castor exolab org gt lt unitName gt vU lt unitName gt lt unitVers ion gt i lt unitVersion gt lt SOULCEURL gt D data packages U lt sourceURL gt lt property gt lt propertyName gt implem lt propertyName gt lt propertyValue gt j ava lt propertyValue gt lt property gt lt property gt lt propertyName gt type lt propertyName gt lt propertyValue gt devTooil lt propertyValue gt lt property gt lt property gt lt propertyName gt interface lt propertynName gt lt propertyValue gt txt lt propertynValue gt lt property gt lt constraint gt lt activity gt INSTALL lt activity gt lt cExpr gt OS E winXP win2000 lt cExpr gt lt constraint gt lt constraint gt lt activity gt INSTALL lt activity gt lt cCExpr gt Mem gt 256 lt cExpr gt lt constraint gt lt constraint gt lt activity gt INSTALL lt activity gt lt cExpr gt Disk gt 104 lt cExpr gt lt action gt ConstraintActionner substract Disk 104 lt action gt lt constraint gt lt deployPlan gt lt planName gt INSTALL lt planName gt lt descriptorURL gt D data pac
319. t etc Nous verrons dans la suite de ce chapitre qu une strat gie a un type qui d finit ses caract ristiques et qu elles peuvent tre regroup es en cat gories Les strat gies peuvent tre utilis es tout moment du cycle de vie du d ploiement Dans notre travail nous nous sommes int ress s plus particuli rement aux strat gies li es au d ploiement initial d une unit De plus pour simplifier le discours nous nous sp cialisons dans la suite de ce document au cas du d ploiement d une application ensemble d unit s possibles sur un groupe de p machines Il s agit du d ploiement de n exemplaires d une m me application ventuellement plusieurs versions sur un ensemble de p machines et non du d ploiement d une seule application distribu e sur p machines Il est ensuite assez simple de passer au cas plus g n ral du d ploiement de n applications sur un groupe de p machines Dans ce chapitre apr s une br ve mod lisation nous indiquons les diff rentes cat gories de strat gies et leurs caract ristiques avec quelques exemples pour les illustrer Puis nous pr sentons l algorithme de base qui permet de mettre en uvre les strat gies Un langage de strat gies est ensuite d fini Enfin nous terminons par une discussion sur les interactions possibles avec les strat gies 2 MODELISATION DE STRATEGIE Dans le m ta mod le de d ploiement Figure 4 2 nous avons vu qu il existe une relatio
320. t une strat gie de ce type cache les strat gies de m me type des sous groupes La priorit est donc accord e aux strat gies h rit es plut t qu aux strat gies locales Nous avons d fini les choix champ contrainte Entreprise du triplet repr sentant une strat gie suivants pour ce type de strat gie e UNIT Cela signifie que la m me unit m me version d une application doit tre d ploy e sur toutes les machines du groupe Dans ce cas c est une unit de l ensemble Vrai qui doit tre choisie La strat gie est donc propag e avec la structure d application compos e des unit s de l ensemble Vrai aux fils de type groupe Une fois que toute l information en provenance des fils est disponible c est dire une fois que les sous ensembles des possibilit s pour chaque machine cible sont connus la strat gie peut tre appliqu e Il s agit alors de prendre l intersection des ensembles de possibilit s de chaque machine e UNIT IF POSSIBLE Cela signifie que les machines doivent recevoir la m me unit de l ensemble Vrai ou une unit diff rente de l ensemble Faux Dans ce cas c est d abord la structure compos e des unit s de l ensemble Vrai qui est propag e aux fils Si apr s le traitement de la strat gie aucune unit n est possible alors la structure d application compos e de l ensemble Faux est propag e son tour pour d terminer une unit pour chaque machine Dans le
321. t Enfin une application peut choisir de partager ou non des composants avec d autres applications En effet dans le cas d une politique de d ploiement IS une installation ind pendante aura lieu Mais ce ne sera pas le cas avec les autres politiques de d ploiement Pour terminer il faut noter que ce mod le n a pas encore t impl ment Nous l utilisons par la suite pour mettre en uvre un type de strat gie de notre approche 2 4 Discussion et synth se sur les mod les g n riques pour le d ploiement En analysant les mod les que nous venons de d crire il est assez ais de faire ressortir un ensemble de concepts li s au d ploiement A nsi nous retrouvons tout d abord des mod les qui permettent de d crire l ensemble de l information n cessaire au d ploiement Quelque soit le nom que chaque mod le donne ces concepts nous retrouvons notamment e Un mod le de produit ou mod le d application ou mod le composants permet de d crire ce qu il faut d ployer e Un mod le de site permet de d crire o d ployer Selon les approches ce mod le peut comporter un ensemble de machines physiques dans le mod le de l OMG un site est un ensemble de machines avec des interconnexions ou une seule Dans le cas o ce mod le ne concerne qu une cible il peut tre compl t par un autre mod le donnant une vision plus globale de l organisation mod le d entreprise D autres informations permettent a
322. t alors composer une cha ne de m diation entre le syst me centralis et le syst me terminal cibles terminales de d ploiement Deux niveaux de d ploiement apparaissent Un premier d ploiement grande chelle a lieu entre le producteur fournisseur et les diff rentes passerelles de ses clients Dans ce cas l utilisation de strat gies telles que nous les avons d crites est possible et peut refl ter les caract ristiques des contrats sign s par les diff rents clients ou la configuration de leur mat riel Le deuxi me d ploiement est g r par la passerelle vers les cibles finales de d ploiement Par exemple dans le cas du contexte de services domicile projet ANSO la passerelle repr sente un point d entr e dans une maison et les cibles terminales sont l ordinateur familial le home cin ma etc Dans ce cas le langage de strat gie doit tre plus proche de l utilisateur tout en permettant d exprimer les m mes besoins A ce niveau les strat gies permettent de construire un plan de d ploiement local avec ventuellement une partie distribu e La d composition du d ploiement en diff rents niveaux permet aussi de simplifier les cas de chaque niveau En effet nous avons vu pr c demment l accroissement de la complexit lorsque le nombre de contraintes et de strat gies de d ploiement augmente Cette 197 Chapitre 8 Conclusion et perspectives d composition permet de limiter le nombre de
323. t pas directement la probl matique du d ploiement par exemple les d pendances ne sont pas r solues ils sont avant tout utilis s comme d p t d unit s 2 3 Concepts li s la description du produit d ployer Il faut tout d abord pr ciser qu une application passe par diff rentes phases de vie Cette partie d crit tout d abord les diff rences entre ces phases puis pr sente la mod lisation n cessaire au d ploiement 2 3 1 Diff rentes phases dans la vie d une application Une application ou produit passe par diff rentes phases de vie e sa construction e son d ploiement e son ex cution Chacune de ces phases de vie implique une vision diff rente du produit et n cessite une mod lisation sp cifique Ainsi lorsque l application est construite en fonction des besoin de l entreprise une vision en termes de modules ou composants est n cessaire Cette vision permet de d cider quels composants fournir l entreprise en fonction des services qu elle souhaite A l issue de cette phase l application est packag e avec l information n cessaire On obtient alors une unit de d ploiement qui est le grain du d ploiement C est cette vision que nous utilisons et qui est d fini ci dessous Une unit de d ploiement peut repr senter une application compl te mais aussi plusieurs applications ou m me seulement une partie de l application Ce qui importe ici c est de savoir comme
324. technologies et les utilise pour mettre en uvre les concepts que nous avons d finis dans le chapitre pr c dent Il d crit l ensemble du travail de conception r aliser pour fournir un environnement de d ploiement Chapitre 5 ORYA mise en ceuvre des mod les et conception 104 Chapitre 5 ORYA mise en ceuvre des mod les et conception 1 INTRODUCTION Deux technologies sont d velopp es et exp riment es au sein de notre quipe de recherche les proc d s et les f d rations C est pourquoi nous les avons tudi es La technologie des proc d s DAW98 assimilable dans un premier temps la technologie des workflows permet de structurer les diff rentes tapes a r aliser pour atteindre un objectif La technologie des f d rations quant a elle propose une solution bas e sur les techniques d ing nierie dirig e par les mod les Fav04 pour concevoir des applications partir de m ta mod les Nous avons ensuite valu dans quelles mesures ces technologies sont int ressantes pour d finir un environnement de d ploiement Ceci nous conduit d finir une architecture du syst me de d ploiement bas sur les technologies des proc d s et des f d rations Ce chapitre pr sente tout d abord les technologies des proc d s et des f d rations Puis l architecture du syst me de d ploiement est d crite Une partie indique aussi comment les concepts que nous avons d finis dans le chapitre pr
325. ter Machine Software Unit HardwareProperty Property SoftwareProperty Propert Figure 5 10 Mod le de site cible La Figure 5 10 repr sente un exemple de mod le de site cible Nous d finissons les correspondances suivantes avec les concepts du m ta mod le de d ploiement Figure 4 6 e Le concept d ordinateur Computer est de type machine e Les concepts de propri t s mat rielles HardwareProperty et logicielles SoftwareProperty sont de types propri t s Property e Les logiciels Software sont des unit s De la m me mani re un mod le de produit doit tre d fini Le mod le de produit peut d finir des applications de tous types COTS applications base de composants OSK04 SOK04 Il suffit d tablir quels concepts du mod le sont conformes aux concepts du m ta mod le Il faut aussi noter que dans un mod le base de composants par exemple tous les concepts ne seront pas forc ment n cessaires au d ploiement Le mod le qui sp cialise les concepts du d ploiement peut alors tre un sous mod le du mod le composants complet PropertyType AttributeType Family ProductType ConstraintType AttributeType Property y Constraint Attribute Attribute SoftwareVariante Branch Unit Revision Figure 5 11 Mod le de produit La Figure 5 11 repr sente un exemple de mod le de produit pour COTS Ainsi no
326. teurs et o chaque utilisateur n a pas de machine personnelle comme les universit s par exemple En effet il est possible de restaurer l image pr c dente du disque apr s la d connexion d un utilisateur Ainsi toutes les modifications r alis es par celui ci sont effac es Pour cela il faut conserver l image principale du disque sur une partition non partag e du disque local Ensuite RAD restaure la machine en d faisant les modifications apport es 270 Chapitre 3 Etat de l art et de la pratique 4 2 2 Concepts Pour r aliser les diff rentes tapes cit es pr c demment plusieurs concepts sont utilis s par RAD Nous pr sentons ici le proc d de d ploiement et les l ments n cessaires a son ex cution par l outil Puis nous non ons quelques sc narios 4 2 2 1 Proc d de d ploiement Pour RAD un d ploiement est un proc d d installation d un syst me d exploitation sur une machine Le d ploiement inclut aussi la configuration du syst me pour des utilisateurs sp cifiques Plusieurs tapes sont ex cut es s quentiellement pour r aliser le proc d d installation e Les partitions du disque sont cr es et format es et les packages logiciels sont t l charg s dans un endroit de stockage temporaire e Les fichiers du syst me d exploitation sont copi s sur les partitions du disque concern es e La configuration sp cifique de l h te comme le nom de l h te ou la cl du produit
327. texte de travail Dans cette partie nous nous focalisons sur le d ploiement unitaire d un producteur vers un client Le producteur fournisseur fournit des versions d applications aux clients disponibles sur des serveurs d applications Chaque client est repr sent par une seule machine cible Nous verrons dans la partie suivante comment passer au d ploiement a grande chelle dans le contexte des entreprises en d finissant une architecture fonctionnelle 4 1 Nouvelle version de l application Lorsque le producteur publie une nouvelle application il en informe ses clients Ceux ci peuvent ensuite s lectionner et configurer une version qui leur convient CE00 Pour cela le client indique quelles fonctionnalit s il souhaite Il peut aussi imposer quelques contraintes par rapport la configuration de ses machines Par exemple il peut demander une version pour Windows En fonction de ces choix le producteur s lectionne les composants n cessaires pour construire l application pour son client L ensemble de ces composants forme l application destin e au client Le producteur doit aussi indiquer comment d ployer ces unit s Pour cela il fournit aussi un plan de d ploiement indiquant les tapes suivre copie ou ex cution de fichiers par exemple Le plan de d ploiement peut tre destin r aliser chacune des activit s du d ploiement installation mise jour selon la demande du client L ensemble de
328. tie li e aux machines cibles e une partie li e aux applications d ployer Avec un tel m ta mod le l utilisateur peut ensuite cr er son mod le sp cifique en tablissant les correspondances entre les concepts du m ta mod le de d ploiement et ceux de son mod le sp cifique Ainsi partir du m me m ta mod le il est pratiquement possible de d ployer tout type d application applications base de composants ou applications type COTS Car97 dans n importe quel environnement De plus pour r aliser ces correspondances de concepts entre m ta mod le donn es g n riques et mod les sp cifiques l utilisateur peut r utiliser des mod les qui sont d j d finis et utilis s dans d autres contextes Ainsi il peut par exemple r utiliser le mod le d entreprise qui est utilis pour la gestion administrative de l entreprise simplement en tablissant les liens n cessaires Une telle approche dirig e par les mod les est particuli rement int ressante en ce qui concerne la r utilisabilit En effet une fois la partie g n rique d finie elle peut tre utilis e dans tout type de contexte Le travail fournir alors est la d finition ou r cup ration de la partie sp cifique en tablissant les relations entre les donn es et outils sp cifiques avec les concepts g n riques 81 Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle La diffi
329. tilisation d images de disques est une mani re technique de d finir ce qui est d ploy sur une machine D une vision plus conceptuelle un mod le de site peut d crire quelle s applications sont d ploy es sur chaque cible Un environnement de d ploiement pour les entreprises doit donc fournir une vision globale de toutes les machines cibles de l entreprise Il doit aussi permettre de v rifier leur configuration et de d ployer des applications distance Pour offrir plus de possibilit s l utilisateur l environnement doit aussi permettre de d finir des strat gies de d ploiement et de proposer un proc d de d ploiement personnalisable Celles ci permettent de personnaliser le d ploiement tout en l automatisant En effet le fait d associer une configuration sp cifique un ensemble de machines permet non seulement de ne d finir le d ploiement qu une seule fois automatisation mais aussi de d finir une configuration pour chaque machine personnalisation Des strat gies de d ploiement peuvent aussi permettrent d ordonnancer un plan de d ploiement Ainsi le proc d de d ploiement n est pas fixe et peut tre diff rent selon les besoins de chaque entreprise 5 SYNTHESE Nous avons vu dans ce chapitre que plusieurs approches sont possibles pour aborder la probl matique du d ploiement Nous avons tout d abord pr sent les approches par les mod les L ensemble de ces approches consiste mod l
330. tion d ployer et des caract ristiques des sites clients Cependant la plupart sont d finies sur le serveur de d ploiement et ne laissent que peu de libert s au client De plus une vision globale niveau entreprise des machines est absente il est donc difficile d exprimer des politiques qui concernent plusieurs machines cibles 2 3 Un mod le de d ploiement conceptuel pour les applications base de composants Parrish et al PDC01 proposent un mod le conceptuel pour le d ploiement d applications base de composants Pour le pr senter nous commen ons par d crire les concepts puis les diff rentes politiques de d ploiement et une mani re d valuer le r sultat d un d ploiement 2 3 1 Les concepts Un composant est une unit qui repr sente une partie d un logiciel Un syst me de composants est d fini comme un ensemble fini de composants Csys Cl C2 Cn repr sentant un ensemble de composants pr sents sur une machine particuli re Enfin une application est une unit de comportement remplissant des fonctionnalit s pr cises Une famille de composants contient des composants Tous les membres d une famille de composants partagent la m me classe g n rale de comportement m me s ils n impl mentent pas forc ment la m me sp cification fonctionnelle Chaque composant a aussi un num ro de version entier unique Plusieurs composants de la m me famille peuvent coexister l int r
331. tion une fois ajout s ces outils inter op rent Cependant notre exp rimentation a aussi exprim la faiblesse de la mod lisation de notre environnement En effet il manque une mod lisation de l architecture de l entreprise pour permettre de d ployer une application sur un ensemble de machines comme les machines du service de comptabilit par exemple De plus les mod les d application et de site qui ont t utilis s dans la premi re version sont relativement pauvres et doivent tre tendus Par exemple les contraintes impos es par les applications d ployer n ont pas t utilis es et le choix de l application d ployer est enti rement r alis par l administrateur en fonction de ses propres connaissances des machines cibles En outre il manque un niveau de politiques de d ploiement En effet l administrateur de l entreprise ne peut pas appliquer de strat gies de d ploiement avec cette premi re version de notre environnement En utilisant l architecture de l entreprise et les strat gies de d ploiement d finies par l administrateur l environnement de d ploiement doit alors tre capable de calculer automatiquement un plan de d ploiement pour un ensemble de machines Dans la deuxi me version d ORYA il est donc important de prendre en compte ces points faibles pour les am liorer La deuxi me version d ORYA est bas e sur une approche g n rique du d ploiement Mer04 pour pe
332. trateur en aient fait la demande Cette demande peut se faire soit par l utilisateur lui m me s il modifie la configuration de sa machine soit par l administrateur de l entreprise si l application est modifi e au niveau entreprise Comme le producteur n est pas contact nouveau lors d une reconfiguration cela implique que l information et les donn es n cessaires taient contenues dans le package de l installation initiale Cela sous entend aussi que ce package a t conserv par le client 2332 Chapitre 2 Le d ploiement concepts et contexte de travail 4 6 D sinstallation L activit de d sinstallation consiste retirer l application du site client Pour cela on suit nouveau les instructions plan de d ploiement indiqu es par le producteur afin de retirer toute trace de l application sur la machine Avant de r aliser une telle action il faut prendre en compte les utilisations de l application et ses d pendances En effet il faut v rifier si les d pendances de l application doivent aussi tre d sinstall es en m me temps que l application elle m me ou non Il faut aussi faire attention ne pas retirer une application qui est utilis e par d autres pour que celles ci puissent continuer fonctionner correctement 4 7 Fin de support Lorsque l application est devenue obsol te mais qu il est encore utilis chez des clients c est l activit de fin d
333. uly 2002 205 Le04 Les00 Les03 LEV03 LH05 Mar04 MB04 a MB04 b MBD04 Mer02 Mer03 Mer04 MH01 Bibliographie A T Le F d ration une Architecture Logicielle pour la Construction d Applications dirig e par les mod les Th se de doctorat Universit Joseph Fourier Grenoble Janvier 2004 Vincent Lestideau Mod le d application pour le d ploiement de logiciel Rapport de DEA d informatique Communication et coop ration dans les syst mes agents Universit de Savoie France Juin 2000 V Lestideau Mod les et environnement pour configurer et d ployer des syst mes logiciels Th se de doctorat Universit de Savoie Annecy D cembre 2003 A T Le J Estublier J Villalobos Multi Level Composition for Software Federations Proceedings of SC 2003 Warsaw Poland April 2003 O Layaida D Hagimont Designing Self Adaptive Multimedia Applications through Hierarchical Reconfiguration Sth IFIP International Conference on Distributed Applications and Interoperable Systems DAIS Athens Greece June 2005 C Marin Gestion de la coh rence et des transactions avanc es li es au d ploiement Rapport de DEA Universit Joseph Fourier Grenoble Juin 2004 N Merle N Belkhatir Une architecture conceptuelle pour le d ploiement d applications grande chelle Congr s INFORSID 2004 Biarritz France Mai 2
334. une post action n est sp cifi e il s agit simplement de v rifier une condition cas des contraintes exprimant une s lection d finies pr c demment par exemple L expression bool enne est une expression faisant simplement intervenir des noms de propri t s des valeurs possibles des op rateurs logiques et des op rateurs ensemblistes classiques Dans une prochaine version cette expression bool enne pourra tre remplac e par une expression OCL Omg03 b Ceci permettra d acc der des l ments du m ta mod le de d ploiement autres que les propri t s des machines 126 Chapitre 5 ORYA mise en ceuvre des mod les et conception Lors d un d ploiement les crit res de toutes les contraintes de l unit de d ploiement sont tout d abord valu s S ils sont tous v rifi s alors les post actions sont r alis es Si un seul des crit res n est pas v rifi cela signifie que l unit de d ploiement ne peut pas fonctionner correctement sur le site cible et le d ploiement ne sera pas r alis lt action gt nomFonction listeParam tres lt nomFonction gt identificateur lt listeParam tres gt valeur listeParam tres lt valeur gt ChaineDeCaract res R el NomDePropri t Une post action action r aliser si le crit re est v rifi est exprim e selon le nom d une fonction Elle est suivie de la liste de ses param tres d entr e si cela est
335. unit et ses d pendances Il s agit alors de d terminer si les d pendances d une unit de d ploiement doivent tre d ploy es avant ou apr s ou en m me temps que celle ci Si ce type de strat gie est appliqu e un groupe tous les d ploiements unitaires associ s aux machines de ce groupe sont concern s Si la strat gie est appliqu e une machine elle ne concerne que cette machine En ce qui concerne la visibilit les strat gies de ce type cachent les strat gies de m me type des n uds fils sous groupes Ces strat gies sont propag es jusqu aux n uds machines cibles finales de d ploiement Les mots cl s d ordonnancement d finis pour les strat gies CHRONOLOGIE MACHINES sont utilis s Les listes de machines ou sous groupes sont remplac es par les mots cl s suivants e MANDATORY DEPENDENCIES Ce mot cl fait r f rence au d ploiement des d pendances obligatoires d une unit 144 Chapitre 6 Un environnement de d ploiement orient strat gies e SELECTIVE DEPENDENCIES Ce mot cl fait r f rence au d ploiement des d pendances s lectives d une unit e OPTIONAL DEPENDENCIES Ce mot cl fait r f rence au d ploiement des d pendances facultatives d une unit e UNIT Ce mot cl fait r f rence au d ploiement de l unit elle m me Ainsi par exemple une strat gie dont la contrainte Entreprise est ORDERED MANDATORY DEPENDENCIES UNIT indique qu il faut d
336. ur grouper les machines plus hi rarchiquement par des moyens autres que leurs caract ristiques par exemple groupe des machines caract ristiques diff rentes du service de comptabilit De plus l utilisation de r gles ne permet pas d avoir une vision globale des groupes de machines ainsi form s De plus d autres strat gies pourraient tre d finies Par exemple si l entreprise ne souhaite d ployer que des applications impl ment es en java sur un type de machine elle doit v rifier manuellement que la configuration associ e au groupe via une r gle ne contient que ce 74 Chapitre 3 Etat de l art et de la pratique type d application packages logiciels Il pourrait tre int ressant de d finir de nouveaux outils pour largir les strat gies possibles 4 3 Autres outils de d ploiement Les technologies actuellement utilis es dans l industrie visent chacune diff rents objectifs ou utilisent diverses approches Elles fournissent alors des services plus ou moins complexes Carzaniga et al CFH 98 ont class ces technologies en diff rentes cat gories installateurs gestionnaires de package syst mes de gestion d application Ici nous d crivons bri vement quelques caract ristiques en relation avec le d ploiement de quelques uns de ces outils choisis parmi les plus connus 4 3 1 Les installateurs et l outil InstallShield Les installateurs packagent un syst me logiciel dans une arch
337. ur pourrait aussi tre ajout Dans ce cas cela signifie que le plan de d ploiement a commenc son ex cution et qu une erreur s est produite Dans le cas ou des instructions de r solution d erreur activit s de compensation ou de retour arri re par exemple sont disponibles elles peuvent tre ex cut es pour tenter de r soudre le probl me Ces instructions sont disponibles sous la forme d un plan unitaire qui est alors reli par une relation en cas d erreur avec le plan de d ploiement de l unit Pour assister le d ploiement cette tape de construction de plan de d ploiement doit tre automatique La g n ration du plan global prend alors l ensemble de l information que nous avons d fini 98 Chapitre 4 Un mod le g n rique pour le d ploiement d applications grande chelle 6 3 G n ration d un plan de d ploiement C est un administrateur qui demande la r alisation d une activit de d ploiement d une ou plusieurs application s liste s d unit s repr sentant chacune une version de l application sur un groupe de machines Pour g n rer automatiquement un plan de d ploiement pour une telle demande il faut donc prendre en compte e le groupe g repr sentant le groupe sur lequel d ployer l application e le nom de l application n d ployer dans le cas o plusieurs unit s plusieurs versions d une application sont disponibles il faut en s lecti
338. us d finissons les correspondances suivantes avec les concepts du m ta mod le de produit Figure 4 8 e Le concept d unit Unit est de type r vision Revision e Les concepts de propri t s Property et de contraintes Constraint sont de type attribut Attribute Ils sont reli s leurs types d attribut respectivement PropertyType et ConstraintType 119 Chapitre 5 ORYA mise en uvre des mod les et conception e Les logiciels Software sont des produits Product appartenant une famille de logiciels Family comme les traitements de texte etc Ils sont divis s en plusieurs branches Software Variante Chaque partie du m ta mod le peut alors tre sp cialis e par des transformations de mod les L op ration est r aliser pour chaque sous domaine entreprise site cible produit activit et ou concept strat gie du domaine de d ploiement GlobalDeploymentPlan Process UnitaryDeploymentPlan Activity Figure 5 12 Mod le de plan de d ploiement La Figure 5 12 repr sente un mod le de plan de d ploiement Ainsi nous d finissons les correspondances suivantes avec les concepts du m ta mod le d activit Figure 5 8 e Le concept de plan de d ploiement global GlobalDeploymentPlan est de type proc d Process e Le concept de plan de d ploiement unitaire UnitaryDeploymentPlan est de type activit Activity Ensuite des instances d ex cution
339. us prenons le m me exemple dans une configuration o le d ploiement est r alis sans construire de plan des tapes peuvent avoir t effectu es avant de s apercevoir de l incompatibilit entre l unit et la cible Dans ce cas il faudra d faire ces tapes pour revenir un tat coh rent de l environnement de d ploiement Un plan de d ploiement est alors int ressant pour viter de r aliser et donc de d faire des op rations inutiles Enfin un plan de d ploiement avec l utilisation de la technologie des proc d s permet d automatiser le d ploiement En effet une fois le plan construit il ne reste qu suivre les instructions qu il contient pour r aliser le d ploiement Ces tapes peuvent alors tre r alis es de mani re automatis e sans l intervention de l administrateur Cependant celui ci peut intervenir des moments cl s du d ploiement pour valider ou invalider certaines tapes 1 2 3 Strat gies de d ploiement et personnalisation Durant la phase de d ploiement l utilisateur doit g rer de la flexibilit diff rents niveaux En effet plusieurs unit s de d ploiement peuvent tre disponibles plusieurs ordonnancements peuvent tre choisis etc Pour permettre de g rer cette flexibilit nous avons d fini des strat gies de d ploiement Les strat gies permettent alors de personnaliser les activit s de d ploiement selon les unit s d ployer et les contraint
340. ussi de d finir comment d ployer un produit On parle alors de plan ou de proc d de d ploiement A nouveau cette information peut tre mentionn e deux niveaux soit pour un d ploiement unitaire d ploiement d une application sur une machine cible soit pour un d ploiement plus global d ploiement de n applications sur p machines S72 Chapitre 3 Etat de l art et de la pratique Les diff rents mod les peuvent tre personnalis s pour d ployer un type pr cis d applications sur un type pr cis de cibles Par exemple le mod le de l OMG a t sp cialis pour d ployer des applications d velopp es selon le mod le composants CCM De la m me mani re chaque information du mod le de site peut tre personnalis e La personnalisation du plan de d ploiement peut quant elle s apparenter une technologie Par exemple un plan de d ploiement peut revenir ex cuter un proc d ou ex cuter un ensemble de t ches Dans les mod les pr sent s nous retrouvons aussi la structure fonctionnelle que nous avons pr sent e dans le chapitre pr c dent En effet les applications sont mises disposition avec un ensemble d informations les concernant niveau Producteur ventuellement sous des formes vari es selon le mod le Puis un plan de d ploiement est ensuite tabli pour savoir quoi d ployer o niveau Entreprise Enfin les applications sont d ploy es puis ex cut es sur les cibles de d ploieme
341. voli taient initialement utilis s pour g rer les r seaux locaux Ainsi ils sont capables de d tecter les erreurs mat rielles ou r seaux et de les transmettre un central pour les tudier Ces syst mes de gestion se sont ensuite int ress s la gestion d applications et au proc d de d ploiement Les syst mes de gestion d applications sont destin s aux moyennes et grandes entreprises qui jouent la fois le r le de producteur et de consommateur de logiciels Ils ont une architecture centralis e e Un producteur central valide les nouvelles versions disponibles e Une station de gestion contr le les activit s de d ploiement et d administration Les syst mes de gestion d applications supportent toutes les activit s du cycle de vie du d ploiement Ils permettent d ex cuter des sous installations sur plusieurs machines et de coordonner l installation d applications distribu es Les m ta donn es sont stock es dans un d p t Elles concernent l information sur les packages de produit les configurations statiques et dynamiques du site et les sp cifications du proc d de d ploiement De plus ce type de syst me est capable de r aliser des inventaires qui permettent d introspecter un site client et de d terminer les applications install es Enfin les activit s de d ploiement peuvent tre ordonnanc es et optimis es en 76 Chapitre 3 Etat de l art et de la pratique fonction
342. vons choisi une approche utilisant un plan de d ploiement Ce plan doit pouvoir tre construit automatiquement selon le d ploiement effectuer et les informations disponibles Il faut alors prendre en compte les pr f rences de l entreprise pour la s lection des unit s d ployer m me unit sur un groupe de machine unit s impl ment es en java etc Il faut ensuite tudier les pr f rences concernant l ordonnancement du d ploiement d ployer sur une machine avant une autre d ployer les d pendances avant l unit etc L entreprise peut aussi pr f rer effectuer diff rents choix de d ploiement le plus tard possible c est dire au moment de l ex cution du plan de d ploiement Dans ce cas le plan de d ploiement doit refl ter ces divers degr s de libert s Par exemple si une unit de 191 Chapitre 8 Conclusion et perspectives d ploiement ne doit tre d ploy e que sur l une des machines d un groupe le choix pourra se porter sur celle dont la capacit m moire est la plus importante Dans la probl matique sur le d ploiement grande chelle nous nous sommes focalis s sur l automatisation du d ploiement grande chelle pour les entreprises Pour cela nous avons bas notre approche sur la mod lisation des concepts et la r utilisation De plus pour prendre en compte les pr f rences et ou contraintes de l entreprise nous avons mis en place les strat gies de d ploiement
343. x du d ploiement peut se porter sur un groupe pr cis de machines cibles machines sous Windows machines du service financier etc Le d ploiement d pend alors de strat gies de d ploiement qui sont d finies par l entreprise Pour prendre en compte l organisation de l entreprise et les strat gies de d ploiement qu elle souhaite appliquer nous utilisons une architecture trois niveaux Un niveau entreprise a t ajout entre le niveau du producteur fournisseur et le niveau de la cible Ainsi l entreprise peut effectuer ses propres traitements et personnaliser le d ploiement en fonction de ses besoins et ou pr f rences De plus les diff rentes machines cibles d un groupe peuvent avoir des caract ristiques diff rentes et exiger des versions diff rentes d une application unit s de d ploiement diff rentes Il faut alors pouvoir g rer le d ploiement d unit s diff rentes sur un groupe de machines Les unit s de d ploiement peuvent aussi avoir les relations de d pendances entre elles Il faut pouvoir assurer que le d ploiement d une unit n est effectu e que si celle ci pourra fonctionner correctement Ceci implique notamment le d ploiement des d pendances si cela est n cessaire Mais il faut aussi s assurer que les contraintes impos es par l unit espace disque capacit m moire syst me d exploitation sont v rifi es par les caract ristiques de la machine cible Enfin nous a
344. xemple 4 lt INSTALL M moire gt 256 OR M moire gt 512 gt 127 Chapitre 5 ORYA mise en ceuvre des mod les et conception 7 EXEMPLE DE DEPLOIEMENT SANS STRATEGIES Dans cette partie il s agit de pr senter un exemple de mise en ceuvre des structures que nous avons d finies Dans cet exemple nous ne prenons pas encore en compte les strat gies de d ploiement puisqu elles sont l objet du chapitre suivant A ce stade nous sommes donc simplement capables de d terminer quelles unit s sont compatibles avec les configurations de chaque machine Pour r aliser cette tape faisant partie de la s lection il faut utiliser les propri t s et les contraintes L exemple est pr sent par complexit croissante Ainsi la premi re partie d crit les structures et ne prend pas en compte les d pendances Dans un deuxi me temps le traitement des d pendances est ajout Enfin le cumul des contraintes est pris en compte pour terminer cet exemple 7 1 Exemple de base L exemple pr sent dans le chapitre pr c dent mettait en jeu notre laboratoire de recherche Le mod le d entreprise d fini peut se sch matiser par le graphe de gauche de la Figure 5 17 Notre exemple consid re maintenant le d ploiement d une application U sur les machines du groupe Ad le La structure d entreprise qui nous int resse graphe de droite de la Figure 5 17 peut tre d duite du mod le d entreprise De plus
Download Pdf Manuals
Related Search
Related Contents
Develop Under Tornado 2.2.1 / VxWorks 5.5.1 07/20/2005 Samsung HT-C350 Priručnik za korisnike Mode d`emploi pour les parents Mode d`emploi pour les parents de contrôle de ressource LOEWE Individual 40 Compose 3d 夏 凰` B。SCH D:\Jason`s Work\Service Manual\ Instrucciones para la Instalacion y Modo de empleo. フロント・けん引フック As representações da mão-de-obra: escravos, imigrantes e Copyright © All rights reserved.
Failed to retrieve file