13.05.2014 Views

these doctorat une architecture de securité

these doctorat une architecture de securité

these doctorat une architecture de securité

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Section 4.6. Déploiement <strong>de</strong>s applications<br />

// <strong>de</strong>scripteur.xml est le nom du fichier <strong>de</strong> <strong>de</strong>ploiement<br />

ProActiveDescriptor proActiveDescriptor = ProActive.getProactiveDescriptor("file:<br />

<strong>de</strong>scripteur.xml");<br />

// on active le <strong>de</strong>scripteur.<br />

proActiveDescriptor.activateMappings();<br />

Lors <strong>de</strong> son activation, le <strong>de</strong>scripteur <strong>de</strong> déploiement instancie tous les runtimes et nœuds nécessaires<br />

au fonctionnement <strong>de</strong> l’application. Il est alors possible <strong>de</strong> récupérer un objet représentant<br />

un nœud virtuel donné. Parmi les métho<strong>de</strong>s présentes dans la classe VirtualNo<strong>de</strong>, la métho<strong>de</strong><br />

getNo<strong>de</strong>() permet <strong>de</strong> récuperer la référence sur un <strong>de</strong>s nœuds contenu dans le nœud virtuel.<br />

// Ren<strong>de</strong>rer et Dispatcher sont les noms <strong>de</strong>s noeuds virtuels<br />

// <strong>de</strong>crit dans le fichier <strong>de</strong> <strong>de</strong>ploiement<br />

VirtualNo<strong>de</strong> ren<strong>de</strong>rer = proActiveDescriptor.getVirtualNo<strong>de</strong>("VN_Ren<strong>de</strong>rer");<br />

VirtualNo<strong>de</strong> dispatcher = proActiveDescriptor.getVirtualNo<strong>de</strong>("VN_Dispatcher");<br />

tel-00239252, version 1 - 5 Feb 2008<br />

// on recupere le premier noeud existant dans le<br />

// noeud virtuel "dispatcher"<br />

No<strong>de</strong> no<strong>de</strong> = dispatcher.getNo<strong>de</strong>();<br />

Il est possible maintenant d’instancier un objet actif sur un nœud donné<br />

// on cree un objet actif sur ce premier noeud<br />

Dispatcher dispatcher = (Dispatcher) ProActive.newActive("Dispatcher",param, no<strong>de</strong>)<br />

;<br />

Une autre possibilité offerte est la création d’un groupe d’objet juste en passant un nœud virtuel<br />

en paramètre. Le nombre d’objets créés est lié au nombre <strong>de</strong> nœuds contenus dans le nœud virtuel<br />

ce qui <strong>de</strong>pend <strong>de</strong> la configuration du fichier <strong>de</strong> déploiement.<br />

// on cree un moteur <strong>de</strong> rendu sur chaque noeud du noeud virtuel<br />

// le resultat sera un groupe d’objet <strong>de</strong> type ren<strong>de</strong>rer<br />

Ren<strong>de</strong>rer ren<strong>de</strong>rers = (Ren<strong>de</strong>rer) ProActive.newActiveAsGroup("Ren<strong>de</strong>rer",params,<br />

ren<strong>de</strong>rer);<br />

Nous allons maintenant nous pencher sur l’étu<strong>de</strong> du <strong>de</strong>scripteur <strong>de</strong> déploiement associé au<br />

programme. Un <strong>de</strong>scripteur <strong>de</strong> déploiement se divise en plusieurs gran<strong>de</strong>s parties ayant chac<strong>une</strong><br />

un rôle spécifique.<br />

La première partie permet <strong>de</strong> définir les nœuds virtuels qui vont être utilisés par le programme<br />

ainsi que les propriétés <strong>de</strong> chacun <strong>de</strong>s nœuds virtuels. La propriété multiple permet<br />

<strong>de</strong> spécifier que le nœud virtuel Ren<strong>de</strong>rer va pouvoir être associé à plusieurs runtimes (machines<br />

virtuelles java). Lorsque le nœud virtuel sera activé, il possé<strong>de</strong>ra un nœud sur chaque<br />

runtime qui lui a été associé.<br />

<br />

<br />

<br />

<br />

La partie <strong>de</strong>ployment permet d’associer <strong>de</strong>s runtimes aux nœuds virtuels. On associe le nœud<br />

virtuel Ren<strong>de</strong>rer avec trois runtimes désignés par les balises . Le nœud Dispatcher<br />

n’est associé qu’à un seul runtime.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

61

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!