Conception et réalisation d'un syst`eme d'instrumentation ... - CoDE
Conception et réalisation d'un syst`eme d'instrumentation ... - CoDE
Conception et réalisation d'un syst`eme d'instrumentation ... - CoDE
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
4.2. ARCHITECTURE ET PRINCIPE<br />
cole final utilisé pour l’ implémentation des éléments de communication. Néanmoins, l’utilisation<br />
de RMI comme moyen d’exploitation des obj<strong>et</strong>s distribués rend le développement<br />
<strong>et</strong> le déploiement du code plus aisé, c’est pourquoi les deux versions de Jini disponibles<br />
actuellement (1.0 <strong>et</strong> 1.1) utilisent, elles, abondament RMI. N’oublions pas à c<strong>et</strong> eff<strong>et</strong> que<br />
Java perm<strong>et</strong> l’exploitation du bus CORBA, largement utilisé dans l’industrie, <strong>et</strong> donc que<br />
Jini n’apparait en rien comme fermé des standards actuels. Des recherches ont permis de<br />
montrer qu’il était possible de ”présenter” de manière totalement transparente des services<br />
CORBA comme étant des services Jini, perm<strong>et</strong>tant ainsi à c<strong>et</strong>te technologie d’encapsuler<br />
l’architecture CORBA.<br />
4.2 Architecture <strong>et</strong> principe<br />
Jini repose sur un modèle d’interaction faisant apparaître un certain nombre de rôles <strong>et</strong><br />
de mécanismes clés. On distinguera de manière simplifiée trois acteurs constituant le bus<br />
Jini :<br />
1. Le Service. Il s’agit d’un obj<strong>et</strong> distribué qui est capable d’accomplir un travail donné.<br />
Le Service propose ses capacités <strong>et</strong> invite les autres à les exploiter. Il peut être vu<br />
comme un fournisseur de comportement, de méthodes.<br />
2. Le Client cherche à utiliser un Service spécifique, répondant à ses besoins sur le<br />
moment. Il se pose en consommateur des ressources disponibles.<br />
3. Le Lookup qui orchestre les dialogues entre Clients <strong>et</strong> Services, garde trace des Services<br />
disponibles sur le réseau <strong>et</strong> perm<strong>et</strong> au client des interrogations afin de chercher<br />
le Service le plus adéquat. Il gère également toute la dynamicité du réseau : disparition<br />
des Services, apparition de nouveaux membres sur le bus, modification de rôle<br />
d’un des membres, <strong>et</strong>c.<br />
En plus de ces éléments de base, des concepts accessoires viennent se greffer afin, par<br />
exemple, d’enrichir la définition des Services, de gérer la robustesse des transactions ou<br />
encore d’introduire des mécanismes d’envoi d’évènements. Ils seront vu dans les sections<br />
qui suivent.<br />
L’architecture Jini repose sur un modèle d’interaction entre Services <strong>et</strong> Clients orchestré<br />
par un Service particulier appelé Lookup. Dans un premier temps, un ensemble de Services<br />
<strong>et</strong> de Clients sont disposés sur le réseau <strong>et</strong> cherchent à interagir. Pour ce faire, ils doivent<br />
tout d’abord découvrir un ou plusieurs Service de Lookup. Soit ils possèdent l’adresse IP<br />
de ce service <strong>et</strong> ils peuvent donc prendre contact avec lui sans difficulté, soit ils peuvent<br />
utiliser une technique d’envoi de paqu<strong>et</strong>s en multicast, pour tout le sous-réseau, <strong>et</strong> attendre<br />
la réponse d’un éventuel Lookup présent (Fig. 4.1).<br />
Pendant c<strong>et</strong>te transaction, les Clients comme les Services agissent en temps que consommateurs<br />
du Service de Lookup. On constatera tout au long du détail des mécanismes de<br />
Jini que chaque intervenant n’est pas amené à jouer un rôle unique, mais se présentera<br />
tantôt comme client, tantôt comme service.<br />
39