Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 46 trang
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