1. Trang chủ
  2. » Luận Văn - Báo Cáo

(LUẬN văn THẠC sĩ) architecture de déploiement des systèmes répartis

46 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Institut de la Francophonie pour l'Informatique École Nationale Supérieure des Télécommunications de Bretagne MÉMOIRE DE FIN D'ÉTUDES MASTER D'INFORMATIQUE Ar hite ture de déploiement des systèmes répartis NGUYEN VAN Hien Responsable de stage : Fabien DAGNAT CAMA du Département informatique de É ole Nationale Supérieure des Télé ommuni ations de Bretagne - Fran e Ce stage a été réalisé au sein de l'équipe l' GET - ENST Bretagne Hanoï, 12 o tobre 2007 TIEU LUAN MOI download : skknchat@gmail.com Remer iements Tout d'abord, je tiens remer ier ma famille qui m'a soutenu dans mes études et aussi dans mon stage Je tiens remer ier l'Institut de la Fran ophonie pour l'Informatique qui me permet d'ee tuer mon Master et qui me permet de faire le stage en Fran e Je tiens remer ier Monsieur Fabien Dagnat pour m'avoir dirigé dans mes travaux tout au long de mon stage Je le remer ie de son onta t haleureux, de ses onseils et en ouragements Je remer ie Meriem Belguidoum de son support et de sa oopération dans mon stage Je remer ie tous les membres du département Informatique de l'ENST Bretagne qui m'ont a epté parmi eux pendant la durée du stage Je remer ie mes amis : An PK, Dung NT et tout e qui m'ont donné les meilleurs sentiments et les meilleurs supports toute la durée de mes études et de mon stage Mer i enn mes amarades : Cuong TK, Tram TH, Tuan TA et Uyen BK, qui m'ont donné des bons repas l'ENST Bretagne i TIEU LUAN MOI download : skknchat@gmail.com Résumé Le déploiement des logi iels devient de plus en plus omplexe La plupart des outils de déploiement existants utilisent des te hniques qui ne sont pas la mesure de la omplexité des problèmes ren ontrés Le déploiement se onstitue ertaines a tivités du y le de vie des logi iels : l'installation, l'a tivation, la désa tivation, la mise jour et la désinstallation Pour les appli ations distribuées, nous proposons une ar hite ture pour le déploiement réparti Elle se base sur un ensemble de n÷uds, haque n÷ud ontient deux agents : un agent lo al qui prend en harge le déploiement entralisé, ee tué sur des omposants lo aux ; un agent distant est utilisé pour la transmission les ommandes de déploiement, qui sont dénies par un langage de déploiement, entre les n÷uds Lors de la ré eption d'une ommande, l'agent distant a tive l'agent lo al pour le déploiement des omposants qui sont ré upérés d'un dépt distant Les dépendan es d'un omposant sont vériées par le système de gestion des dépendan es qui se base sur les moteurs de raisonnement et de politique Le déploiement est ee tué après que les erreurs potentielles aient été déte tées Notre ar hite ture repose sur l'OSGi, une plate-forme de déploiement de servi es La plate-forme OSGi prend en harge la manipulation des unités de base appellées bundles en fournant des servi es de déploiement et d'exé ution Elle ore aux appli ations un mé anisme de registrer et de re her her des servi es en utilisant un registre de servi es Elle permet également aux bundles de partager leurs odes, ainsi que leurs ressour es Le déploiement de l'OSGi est réalisé par le servi e de y le de vie ouvrant les opérations de déploiement des bundles Un prototype est onstruit permettant de valider l'ar hite ture réalisée en se basant sur Os ar, une implémentation de la spé i ation OSGi Mots- lés : Système distribué, déploiement réparti, re onguration dynamique, OSGi, modèle de servi es ii TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis Abstra t The software deployment be omes more omplex The majority of the existing deployment tools use te hniques whi h an not measure with the omplexity of the en ountered problems The deployment is onstituted by ertain a tivities of the software life y le : the installation, the a tivation, the desa tivation, the update and the uninstallation For distributed appli ations, we propose an ar hite ture for the distributed deployment Our ar hite ture is based on a whole of nodes, ea h node ontains two agents : a lo al agent whi h deals with the entralized deployment, arried out on lo al omponents ; a distant agent is used for sending and re eiving deployment ommands, whi h are dened by a language of deployment, between the nodes At the time of the re eption of a ommand, the distant agent a tivates the lo al agent for depoying the omponents whi h are retrieved from a distant repository The dependen es of a omponent are he ked by the dependen y management system based on the engines of reasoning and poli y The deployment is started after the potential errors were dete ted Our ar hite ture is based on OSGi, a platform of servi e deployment The OSGi platform deals with handling of the basi units alled bundle by providing deployment and exe ution servi es OSGi oers to appli ations a me hanism to register and to seek servi es by using a servi e register It also allows bundles to share their odes, and their ressour es The deployment of OSGi is arried out by the life y le servi e overing the operations of deployment of bundles A prototype based on Os ar, an OSGi implementation, is built to validate the ar hite ture onstru ted Keywords : Distributed system, distributed deployment, dynami re onguration, OSGi, model of servi es iii TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis Table des matières Introdu tion 1 Le déploiement 1.1 Motivation 1.2 Les a teurs du déploiement 3 1.3 Étapes de déploiement 1.4 Déploiement réparti État de l'art 2.1 2.2 2.3 2.4 2.5 2.6 Déploiement des systèmes d'exploitation 2.1.1 Windows 2.1.2 Linux Les modèles de omposants 2.2.1 Les EJBs 2.2.2 Corba Component Model - CCM Les modèles de servi e 2.3.1 Open Servi e Gateway initiative - OSGi 2.3.2 Web Servi es Les outils d'installation 2.4.1 Installshield 2.4.2 RPM Les modèles de déploiement 10 10 2.5.1 Olan 2.5.2 Software Do k 10 2.5.3 ORYA 11 2.5.4 Lira 11 Synthèse 12 OSGi - Plate-forme de déploiement de servi es 3.1 13 Introdu tion 14 14 3.1.1 Ar hite ture initiale 3.1.2 Ar hite ture multi- ou he 15 3.1.3 Bundle 15 3.1.4 Servi es 18 3.1.5 Programmation de servi es OSGi 20 iv TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis v TABLE DES MATIÈRES 3.1.6 Plate-formes OSGi 21 3.2 OBR - Servi e de déploiement automatique de l'OSGi 22 3.3 Con lusion 22 L'ar hite ture de déploiement réparti 4.1 4.2 24 Déploiement de omposants d'OSGi 25 4.1.1 Ar hite ture 25 4.1.2 Agent lo al 26 4.1.3 Agent distant 4.1.4 Module de gestion des dépendan es 30 4.1.5 Dépt 31 4.1.6 Langage de déploiement 29 32 Implémentation ave XML-RPC et Os ar 33 4.2.1 Le omposant de ommuni ation 33 4.2.2 Le omposant d'administration 33 4.2.3 Le omposant de déploiement 34 4.2.4 L'interfa e intera tive graphique 34 Con lusion et perspe tives 35 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis Table des gures 1.1 Les a teurs du déploiement 1.2 Cy le de vie du déploiement 3.1 Ar hite ture initiale OSGi 14 3.2 Ar hite ture générale 15 3.3 Ar hite ture multi- ou he 16 3.4 Cy le de vie d'un bundle 16 3.5 Contenu d'un bundle 17 3.6 Exemple d'un manifeste 18 3.7 Registre de servi es 19 3.8 L'a tivateur et l'interfa e 3.9 Comparation des implémentations OSGi 4.1 BundleContext d'un bundle 20 21 Ar hite ture de déploiement réparti 25 4.2 La négo iation de déploiement 26 4.3 L'agent lo al 26 4.4 Le servi e de ommandes 27 27 4.5 Le servi e de déploiement 4.6 Le servi e de gestion de dépts 28 4.7 Le servi e de gestion de n÷uds 28 29 4.8 L'agent distant 4.9 Le servi e de ommuni ation 4.10 Le serveur de ommuni ation 4.11 Le lient de ommuni ation 29 30 30 vi TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis Introdu tion Ce stage s'agit d'implanter et valider une ar hite ture au sein de l'équipe CAMA du département informatique de l'ENST Bretagne Plouzané, dans le adre du projet SAUNA qui vise gérer un déploiement réparti de logi iels Le but de e stage est d'étudier le déploiement dans les modèles de omposants, de servi es, des systèmes d'exploitation et des outils d'administration ; d'étudier les spé i ités du déploiement réparti, de on evoir une ar hite ture permettant un déploiement réparti, de mettre au point un prototype et de vérier l'ar hite ture sur la base de s énarios de déploiement Notre ar hite ture se base sur l'OSGi , une plate-forme de déploiement des servi es qui permet de réaliser le déploiement entralisé en orant les servi es de base Dans e rapport, nous présentons d'abord dans la première se tion la motivation, les auteurs et les a tivités du déploiement La se tion présente les travaux pré édants sur le déploiement : les modèles, les outils, les langages de dénition et le déploiement réparti La se tion détaille la plate-forme OSGi sur laquelle notre système, qui est dé rit dans la se tion 4, se base Le rapport est terminé par les on lusions et perspe tives Composants pour Ar hite tures Mobiles Adaptables AUtonomi Network Administration Open Servi e Gateway initiative Safe TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis Chapitre Le déploiement TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis CHAPITRE LE DÉPLOIEMENT Fig 1.1  Les a teurs du déploiement 1.1 Motivation Le déploiement de logi iel est toutes les a tivités qui rendent un système logi iel disponible pour l'usage De nos jours, le déploiement devient important pour les appli ations dans les entreprises où le par informatique ontient plusieurs ordinateurs et équipements sur des sites diérents Chaque site se ompose d'un serveur auquel ertaines ma hines sont reliées Pour la gestion de l'environnement logi iel, le serveur se harge de fournir un ensemble d'appli ations qui peuvent être installées sur les sites Il est interdit un utilisateur d'installer et de modier une appli ation en se onne tant dire tement sur le site du produ teur ou en utilisant un CD d'installation fourni par le produ teur Cela permet l'entreprise d'assurer que les appli ations qui sont déployées, sont ohérentes et que leur déploiement est sé urisé Il existe plusieurs versions d'une appli ation et une appli ation peut être déployée sous ertains environnements tel que Linux ou Windows L'administrateur du système informatique de l'entreprise a besoin d'une manière de savoir les diéren es entre les appli ations et entre les sites En outre, la planni ation permet l'entreprise de diminuer le oût en réalisant les dộploiements de faỗ on automatisộe et distan e 1.2 Les a teurs du déploiement Le déploiement large é helle est fait en basant sur un s héma ontenant a teurs : produ teur, entreprise et utilisateur (Figure 1.1) • Le produ teur fournit les appli ations déployer sur les entreprises ou les utilisa- • L'entreprise prend en harge le déploiement sur les sites, elle peut aussi modier teurs l'appli ation avant la déployer • L'utilisateur représente le site sur lequel l'appli ation est déployée Une fois l'appli ation installée, l'appli ation peut évoluer, être modiée ou être désinstallée TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis CHAPITRE OSGI - PLATE-FORME DE DÉPLOIEMENT DE SERVICES 22 peut utiliser un servi e dans la plupart de plate-formes Il existe ertaines plate-formes implémentant la spé i ation OSGi R4 : E lipse Equinox[15℄ : elle est également l'implémentation qui se trouve sous le noyau d'é lipse Knopersh[16℄ : soutenue par Gatespa e Telemati s Apa he Felix[17℄ : développé par Apa he Software Foundation, ette plate-forme se base sur Os ar Os ar[18℄ : développé par Obje tWeb Il fournit un essemble des bundes qui implémentent non seulement les servi es de base mais aussi les servi es utils fa iliter le travail des développeurs OSGi 3.2 OBR - Servi e de déploiement automatique de l'OSGi Le spé i ation OSGi ne répond pas a tuellement la question d'déploiement Des bundles sont re her hés en utilisant un URI fourni, mais au un mé anisme d'déploiement n'est proposé La seule ar hite ture d'déploiement a tuellement disponible est l'OBR (dépt de bundles d'Os ar)[19℄ Ave l'OBR, un  hier de des ription de XML détaille tous les bundles qui se trouvent dans un dépt distan e Le servi e lient re her he e  hier et l'analyse pour monter une représentation du bundle qu'il peut installer L'installation est ee tuée en utilisant des demandes de HTTP ave des URIs fournis par le  hier de des ription L'OBR est un servi e de déploiement entralisé Don , un des problèmes adressés par le déploiement réparti, 'est qu'un n÷ud ne peut pas manipuler les bundles sur un autre De plus, dans un système distribué, une appli ation peut se omposer de plusieurs omposants (dans notre as, e sont des bundles) Les omposants sont déployés sur ertains n÷uds répartis en se basant sur une onguration bien dénie En outre, si le dépt entral se asse, un nombre potentiellement énorme de servi es lients n'ont au une manière de mettre jour leur index de bundle Le deuxième problème que nous adressons est le système de gestion de version Ave la spé i ation OSGi et l'OBR, les numéros de version de bundle sont internes, -à-d ils apparaissent seulement l'intérieur du  hier manifeste du bundle Cela le rend impossible pour qu'un système de déploiement de ou he basse in lue la gestion de version 3.3 Con lusion Ce hapitre a présenté les grands prin ipes de la plate-forme dynamique de servi es OSGi, ainsi que la programmation des servi es dynamiques Plusieurs servi es standardisés ont été également détaillés Le mar hé des passerelles OSGi ompte déjà plusieurs fournisseurs ommer iaux (IBM SMF, BMW, Siemens ) et des implémentations sour e-libres (Os ar, Felix, Knoplersh, Uniform Resour e Identier TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis CHAPITRE OSGI - PLATE-FORME DE DÉPLOIEMENT DE SERVICES 23 Equinox .) La diéren e entre es plates-formes tiennent surtout aux outils, aux bundles disponibles implémentant des servi es standards ou des servi es propriétaires, et aux supports par les ma hines virtuelles pour les J2ME et J2SE La programmation est bien dé rite pour que des développeurs é rivent fa ilement leurs bundles Un bundle est a tivé et désa tivité par son a tivateur qui implémente l'interfa e BundleA tivator Des servi es sont grâ e l'interfa e BundleContext aussi enregistrés ou désenregistrés dans le système La plate-forme OSGi ne propose au un mé anisme de déploiement réparti Cependant, l'ar hite ture entralisée de l'OSGi permet la onstru tion d'une ar hite ture de déploiement des systèmes distribués Cela sera dis uté dans le hapitre Java Java Platform, Mi ro Edition Platform, Standard Edition TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis Chapitre L'ar hite ture de déploiement réparti 24 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis CHAPITRE 4.1 L'ARCHITECTURE DE DÉPLOIEMENT RÉPARTI 25 Déploiement de omposants d'OSGi 4.1.1 Ar hite ture Fig 4.1  Ar hite ture de déploiement réparti La gure 4.1 dé rit l'ar hite ture de déploiement des omposants répartis reposant sur l'OSGi Cette ar hite ture se ompose des n÷uds répartis Chaque n÷ud ontient deux agent lo al qui prend en harge le déploiement entralisé, ee tué sur des agent distant est utilisé pour la transmission les ommandes, qui dénies par un langage de déploiement, entre les n÷uds Lors de la ré eption agents : un bundles lo aux ; un sont d'une ommande, l'agent distant a tive l'agent lo al pour le déploiement les bundles qui dépt distant Le travail pré édant est un module de gestion des dépendan es[20, 21℄ qui permet de vérier les dépendan es d'un omposant en se basant sont ré upérés d'un sur les moteurs de raisonnement et de politique Le déploiement est ee tué après que les dépendan es étaient résolues Le déploiement dans notre système est dé rit par l'algorithme suivant (gure 4.2) : Le n÷ud N1 , qui prend l'initiative du pro essus, envoie un message de gégo iation vers les n÷uds Ni , Chaque n÷ud parmi Ni , après re evoir le message de négo iation, vérie le ontexte et les ontraintes intérieures, Il répond au N1 s'il est possible un andidat, TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis d d d ode1:3N o:odke?ployable?N ode2:2N o e o e n o e : N N N :verify 13::codoekl?peloctyaabnled?iates 2:verify 45:deploy 5:deploy (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis CHAPITRE L'ARCHITECTURE DE DÉPLOIEMENT RÉPARTI 26 Fig 4.2  La négo iation de déploiement N1 olle te les réponses et ompose la liste de n÷uds andidats, N1 déploie les bundles sur les n÷uds andidats 4.1.2 Agent lo al Fig 4.3  L'agent lo al Dans un agent lo al (gure 4.3), nous réalisons les servi es prin ipaux : un servi e de ommandes qui apte et qui analyse les ommandes textes reỗues de l'agent distant ou de l'interfa e humaine ; un servi e de déploiement entralisé qui dé ide les a tions de déploiement ee tuées sur les bundles lo aux en utilisant la ommande analysée ; un servi e de gestion de dépts et un servi e de gestion de n÷uds TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis CHAPITRE iS f t n e r a c e » « l+ h i v S ( ) t e c e x u om and C i+ f t n e r a c e » « lD i S t e p o m n r c e y v i+ ssutpoadtrpa(l)e()l n loym l tIm ep en p D 27 L'ARCHITECTURE DE DÉPLOIEMENT RÉPARTI Le servi e de apture et d'analyse des ommandes Ce servi e hérite d'un servi e de base de l'OSGi, Shell Servi e, qui permet de ap- ter, d'analyser les ommandes textes et de les exé uter (gure 4.4) Ce servi e est employé par le servi e de déploiment Fig 4.4  Le servi e de ommandes Le servi e de dépoiement Dans l'agent lo al, le servi e de déploiement(gure 4.5) prend en harge d'exé uter les a tions de déploiement Fig 4.5  Le servi e de déploiement Le servi e de gestion des dépts Dans l'ar hite ture de déploiement proposée, le dépt onserve des omposants qui seront déployés sur les n÷uds Nous avons un servi e de gestion de dépts permettant l'administrateur d'ajouter, de mettre jour et de supprimer les omposants (bundles) dans le dépt (gure 4.6) Le servi e de gestion des n÷uds Notre système se base sur un ensemble de n÷uds non- onne tés, -à-d haque n÷ud doit savoir l'adresse du n÷ud auquel il veut onne ter Nous avons un servi e de gestion de n÷uds qui permet d'ajouter, de supprimer la onne tion entre n÷uds (gure 4.7) TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis CHAPITRE iR f t n e r a c e » « i S e p o s o r c e y v d ( ) a + ( ) r+ e m o e v lbisutn(e )lp d ( ) e s Rository L'ARCHITECTURE DE DÉPLOIEMENT RÉPARTI 28 Fig 4.6  Le servi e de gestion de dépts iN f t n e r a c e » « d i S o e r v ( ) a + (es()) r+ e lbiesum tn(do)olvd Ne Fig 4.7  Le servi e de gestion de n÷uds TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis CHAPITRE 4.1.3 L'ARCHITECTURE DE DÉPLOIEMENT RÉPARTI 29 Agent distant La gure 4.8 dé rit l'agent distant ontenant les servi es prin ipaux : un servi e de ommuni ation qui prend en harge de ommuniquer ave elui d'un autre n÷ud, un serveur de ommuni ation qui reỗ oit les ommandes venant du servi e de ommuni ation et un lient de ommuni ation qui envoie les ommandes au servi e de ommuni ation i f t n e r a c e » « i S o m m e r e v c C Fig 4.8  L'agent distant Le servi e de ommuni ation Le servi e de ommuni ation (gure 4.9) dans notre système est une implémenta- ic l I o m m e r e m p v S C Fig 4.9  Le servi e de ommuni ation tion d'un des proto oles de ommuni ation ou des interfa es tel que HTTP, RMI, XML/RPC, So ket Le serveur de ommuni ation Pour ee tuer le déploiement distan e, le n÷ud envoie la ommande un autre, ette ommande sera reỗue par un module du destinataire appelé serveur de ommuni ation (gure 4.10) TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis CHAPITRE i f t n e r a c e » « i S S o m m e r r c e v v C iv ( ) r e c e e + in f t e r a c e » « o m m e r e rC v S i S C o m m e r e v c L'ARCHITECTURE DE DÉPLOIEMENT RÉPARTI 30 Fig 4.10  Le serveur de ommuni ation i f t n e r a c e » « l i i S t o m m e n e r c e v C C d ( ) s e n + i f t n e r a c e lie tC o m m n « C C i» S o m m r c e v e Le lient de ommuni ation Le module émetteur, qui prend en harge d'envoyer la ommande, s'appelle  lient Fig 4.11  Le lient de ommuni ation de ommuni ation (gure 4.11) 4.1.4 Module de gestion des dépendan es Dans le travail pré édant de M Belguidoum[20, 21, 22℄, nous avons un système de gestion des dépendan es qui assure le su ès et la sûreté de l'installation, de la mise jour et de la désinstallation en utilisant des moteurs de raisonnement pour autoriser ou interdire le déploiement Le moteur de raisonnement vérie la posibilité de déploiement d'un omposant en se basant sur le ontexte du système dans lequel e omposant sera déployé Le déploiement du omposant sera ee tué lors de la réponse du module de gestion des dépendan es Le déploiement est permis si : • • Le système fournit les ressour es et les servi es exigés par le omposant • Les servi es fournis par le omposant (être désinstallé) ne sont pas employés par Le omposant (étant installé) ou un de ses servi es n'est pas en onit ave des servi es déjà installés d'autres omposants dans le système TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis CHAPITRE 4.1.5 L'ARCHITECTURE DE DÉPLOIEMENT RÉPARTI 31 Dépt Le dépt est dé rit par un des ripteur XML qui ontient la des ription des bundles qui y se trouvent Nous utilisons le syntaxe du des ripteur du servi e OBR Toutes les des riptions des bundles ont lieu au sein de l'étiquette L'in- formation dé rite dans le des ripteur et elle dans le  hier manifeste du bundle doivent : bundle-name : Le nom du bundle bundle-des ription : La des ription du bundle bundle-updatelo ation : La hemin grâ e laquelle le bundle (binaire) se trouve être identiques Chaque bundle est dé rit entre • • • Cette hemin a pour but de mettre jour le bundle • • • • bundle-sour eurl : Le ode sour e du bundle bundle-do url : La do umentation bundle- ategory : La atégorie du bundle import-pa kage : Les paquets requis du bundle Un exemple d'un des ripteur de dépt qui dé rit deux bundles Simple et OSGi Util < ?xml version="1.0" en oding="UTF-8" ?> 1.0 Repository 16 May 2007 Simple A test of remote installation http ://os ar-osgi.sf.net/repo/simple/simple.jar http ://os ar-osgi.sf.net/repo/simple/simple-sr jar 1.0.0 http ://os ar-osgi.sf.net/repo/simple/ General OSGi Util OSGI util http ://os ar-osgi.sf.net/repo/osgi-util/osgi-util.jar TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis CHAPITRE L'ARCHITECTURE DE DÉPLOIEMENT RÉPARTI 32 http ://os ar-osgi.sf.net/repo/osgi-util/osgi-util-sr jar 1.0.0 http ://os ar-osgi.sf.net/repo/osgi-util/ General 4.1.6 Langage de déploiement Un langage de déploiement réparti est déni Il est onstitué par les ommandes groupées en types d'a tions suivantes : Les ommandes ee tuées sur les bundles (a) Installation deploy install [ ;℄ (b) Mise jour deploy update [ ;℄ ( ) Désinstallation deploy uninstall [ ;℄ (d) Démarrage du bundle deploy start [ ;℄ (e) Arrêt du bundle deploy stop [ ;℄ Ave soit : ã -host : = l'adresse du nữud sur lequel les bundles sont déployés • -node : = l'identiộe du nữud sur lequel les bundles sont dộployộs ã -any : = nombre de n÷uds sur lesquels les bundles sont dộployộs Les nữuds sont alộatoirement hoisis ã -all : = null, le déploiement sera ee tué si le omposant peut ờtre dộployộ sur tous les nữuds ã - an : = null, le déploiement sera ee tué sur les n÷uds sur lesquels le omposant peut être déployé Les ommandes ee tuées sur les dépts (a) La liste de dépts deploy repository list (b) La liste de bundles dans les dépts deploy repository bundles [repository-url℄ TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis CHAPITRE 33 L'ARCHITECTURE DE DÉPLOIEMENT RÉPARTI ( ) Ajout d'un dépt deploy repository add (d) Suppression d'un dépt deploy repository remove Les ommandes ee tuées sur les n÷uds (a) La liste de n÷uds deploy node list (b) La liste de bundles dans un n÷ud deploy node bundles [node-id℄ ( ) Ajout d'un n÷ud deploy node add (d) Suppression d'un n÷ud deploy node remove 4.2 Implémentation ave XML-RPC et Os ar Nous avons mis en ÷uvre une première implémentation de notre appro he Nous nous sommes fondé sur XML/RPC[23℄ pour la distribution sur le réseau et sur l'implémentation Os ar pour la plate-forme de servi es OSGi Pour la mise en ÷uvre, nous avons un bundle appelé Deployment Manager qui implémente les omposants du système : un omposant de ommuni ation, un omposant d'administration, un omposant de déploiement et une interfa e interative graphique Le omposant de déploiement est une modi ation de l'outil Os ar Bundle Repository )[19℄ d'installation des bundles, OBR ( 4.2.1 Le omposant de ommuni ation Le omposant de ommuni ation permet de transférer les ommandes de déploiement entre les noeuds Il se base sur le proto ole XML/RPC, une extension de RPC Ce bundle réalise un serveur et un lient de ommuni ation qui ont pour but respe tivement de re evoir et d'envoyer les ommandes Le proto ole XML/RPC arrange en série des données sous forme XML et puis utilise le proto ole HTTP pour le transférer Pour ela, nous utilisons le bundle XML/RPC de l'Os ar 4.2.2 Le omposant d'administration An de fournir un moyen pour que l'administrateur puisse gérer le système et déployer des bundles Nous avons un omposant qui permet l'administrateur de gérer son système en fournissant les fontionnalités : • • gestion des n÷uds, gestion des dépts Pour la simulation d'un réseau de n÷uds sur une ma hine an de tester, nous avons une fon tionnalité qui permet de hanger le port sur lequel une instan e de Manager Deployment fon tionne C.-à-d sur une ma hine physique, nous pouvons avoir plusieurs instan es (noeuds) qui fon tionnent et qui se ommuniquent sur les port diérents TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis CHAPITRE 4.2.3 34 L'ARCHITECTURE DE DÉPLOIEMENT RÉPARTI Le omposant de déploiement Le omposant de déploiement se base sur le bundle OBR de l'Os ar La modi ation dans notre omposant est que les dépendan es du bundle installé ne sont plus résoluées Si le ontexte de système ne satisfait pas la dépendan e du bundle, l'installation s'arrête Les dépendan es sont vériées par le module de gestion des dépendan es (se tion 4.1.4) Une implémentation de e module a été développée en OCaml Par onséquen e, dans notre implémentation, e module est intégré grâ e l'interfa e JNI[24℄ et l'interfa e CO aml[25℄ La onnexion entre notre moteur de déploiement et le module de gestion des dépendan es est réalisée en utilisant le ode natif dé laré par l'entête Bundle-NativeCode dans le des ripteur manifeste du bundle Le paramètre du module de gestion de dépendan es est une expression logique de ondition qui dé rit le(s) servi e(s) requi(s) et le(s) servi e(s) fourni(s) du bundle Cette expression est dé rite sous une forme d'un texte dans le  hier manifeste du bundle déployé Pour ela, nous avons y déni une entête appelée Require-Servi e Un exemple du  hier manifeste d'un bundle : Manifest-Version : 1.0 Bundle-Name : Deployment manager Bundle-A tivator : sauna.deployment.bundle.A tivator Bundle-Version : 1.0.0 Import-Pa kage : org.apa he.xmlrp , om.softsell.open.osgi.xmlrp Import-Servi e : om.softsell.open.osgi.xmlrp XmlRp Servi e Export-Servi e : org.osgi.servi e.http.HttpServi e Export-Pa kage : org.osgi.servi e.http ; spe i ation-version=1.1 Bundle-Classpath : , kxml.jar, jdom.jar Require-Servi e : http ∧ shell -> deployment L'expression suivant Require-Servi e indique que e bundle requiert le servi e HTTP et le servi e Shell, et qu'il fournit le servi e Deployment Nous réalisons aussi dans e bundle deux fontionnalités : le démarage et l'arrêt de bundle 4.2.4 L'interfa e intera tive graphique Une interfa e de type onsole (shell) qui hérite le servi e OSGi Shell Servi e et une de de type graphique qui se base sur Swing, une bibliothèque java, sont onstruite Elles ont pour but de gérer le système et de déployer les bundes en manière de visualisation TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis Con lusion et perspe tives Le but du stage était d'étudier l'ar hite ture et la faisabilité d'une plate-forme de déploiement pour des systèmes répartis Cette plate-forme doit prendre en ompte la totalité des a tivités du déploiement : l'installation, la mise jour, la désinstallation, l'a tivation et la désa tivation Ce rapport est ommen é par la première se tion qui introduit le déploiement de logi iels, et dans la deuxième se tion, nous avons présenté les ar hite tures, les outils et les langages de onguration Ensuite, nous avons détaillé l'OSGi, une plate-forme de servi es que nous utilisons pour onvevoir une ar hite ture générale de déploiement réparti La spé i ation OSGi dé rit une plate-forme de déploiement entralisé, qui ee tue sur l'entité de base appelée bundle La plate-forme OSGi déploie des bundles en utilisant l'URI indiquant le ode mar hant des bundles Cette spé i ation dénit un mé anisme de gestion du y le de vie d'un bundle qui ouvre les a tivités de déploiement, elle dénit aussi un mé anisme de gestion des servi es Dans l'OSGi, des bundles peuvent partager leurs odes et leurs servi es fournis en réalisant des ontrats pré-dénis La spé i ation OSGi permet l'extension des servi es exitants ainsi la onstru tion des nouveaux servi es Elle dénit aussi un ensemble de servi es de base Dans la quatrième se tion, nous avons dé rit notre ar hite ture de déploiement des systèmes répartis, elle se base sur la plate-forme OSGi Cette ar hite ture est la première réponse au besoin d'avoir un outil qui permet le déploiement réparti, elle permet de manipuler les bundles lo aux ainsi les bundles dans un site distant en utilsant des ommandes dénies par notre langage de déploiement Cela permet le dépoiement exé uté par un manus rit qui se ompose des ommandes De plus, on peut ajouter des sites dans le système sans inuer son ourant En n, un prototype est onstruit permettant de valider notre ar hite ture Cependant, il y a ertains points résoudre pour améliorer notre travail : • Réalisation des servi es de sé urité omme Permission Admin, User Admin pour avoir un déploiement dans lequel il faut ompter le droit de l'utilisateur sur le noeud et aussi sur le bundle ; • pour l'instant, pour ee tuer le déploiement sur un n÷ud, il faut savoir ó il se trouve Il faut développer ou appliquer un proto ole de re her he automatique des n÷uds dans le réseau, par exemple le proto ole pair-à-pair (P2P) ; • le déploiement d'ensemble de omposants rộpartis, --d notre systốme peut ờtre ã sur un nữud, il existe plusieurs variantes d'un sous- omposant dont une seul est utilisé pour déployer des appli ations réparties ; a tivée, le système peut dynamiquement hanger les variantes a tives an de hanger la onguration du omposant omposé Ces hangements doivent être réalisés en 35 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis CHAPITRE L'ARCHITECTURE DE DÉPLOIEMENT RÉPARTI 36 prenant en ompte le problème de ohéren e des états/données des variantes et des n÷uds ; • le déploiement réparti sur des réseaux dynamiques (P2P, Adho ) dans lesquels les • le déploiement sur les équipements mobiles omposants peuvent temporairement être indisponibles ; TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis(LUAN.van.THAC.si).architecture.de.deploiement.des.systemes.repartis

Ngày đăng: 18/12/2023, 02:48