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.
2.2. ARCHITECTURE<br />
Nous verrons que ceci n’est pas du tout le cas de RMI, <strong>et</strong> donc de Jini, car un mécanisme<br />
supplémentaire, appelé code mobile, perm<strong>et</strong> la mise en commun des classes entre le client<br />
<strong>et</strong> le serveur, y compris celles qui ne sont connus que par un de deux protagonistes. Dans<br />
ce cas, l’envoi d’une sous-classe perm<strong>et</strong>tra de récupérer un membre de c<strong>et</strong>te sous-classe en<br />
bout de marshallisation même si à l’origine seule la super-classe est connue du serveur.<br />
2.2.4 Les Obj<strong>et</strong>s standards<br />
L’OMG a spécifié un ensemble d’obj<strong>et</strong>s standardisés à même d’être déployés sur le bus<br />
CORBA de manière à offrir des services spécifiques à de nombreux scénarios d’utilisation.<br />
Il s’agit d’abstractions aux fonctions systèmes de base, telles que la dénomination (Naming<br />
Service), la persistance des obj<strong>et</strong>s, le cycle de vie, la sécurité, la gestion des licences d’utilisation<br />
des obj<strong>et</strong>s,les événements, <strong>et</strong>c. L’ensemble formé de ces services ne sont pas toujours<br />
implémentes de manière complète par les ORB disponibles actuellement. Dans le cadre de<br />
la <strong>réalisation</strong> de réseaux de terrains <strong>et</strong> d’instrumentation distribuée, seuls trois services importants<br />
sont à même de remplir des fonctionnalités clés dans les processus d’interaction<br />
<strong>et</strong> de coopération intervenant entre les appareils d’une part <strong>et</strong> les clients logiciels d’autre<br />
part. Il s’agit des Naming Service, Trader Service <strong>et</strong> Event Service.<br />
Le Naming Service<br />
Ce service fournit un système de désignation perm<strong>et</strong>tant d’obtenir les références des<br />
obj<strong>et</strong>s répondant à un nom d’enregistrement donné. Les noms sont structurés selon un<br />
graphe de contextes de dénominations interconnectées, perm<strong>et</strong>tant ainsi la création d’un<br />
espace de nom réparti <strong>et</strong> éventuellement fort vaste. A l’intérieur de chaque contexte, chaque<br />
nom symbolique doit être unique, mais un même obj<strong>et</strong> peut utiliser plusieurs noms. Ceci<br />
perm<strong>et</strong> aux obj<strong>et</strong>s de s’enregistrer multiplement : sur base de noms différents ou dans des<br />
contextes différents. Ce mécanisme est en réalité assez pauvre dans un cadre dynamique,<br />
car un nom seul ne peut refléter les capacités des obj<strong>et</strong>s <strong>et</strong> rien ne précise si un obj<strong>et</strong> se<br />
présentant sous un nom donné est susceptible d’implanter une interface recherchée.<br />
Le Trader Service<br />
Le Trader Service présente un mécanisme plus puissant <strong>et</strong> plus exploitable que le Naming<br />
Service. Les serveurs s’y enregistrent en détaillant l’ensemble des propriétés qui les<br />
caractérisent, sous forme d’un ensemble d’associations clef-valeur, ainsi qu’en fournissant<br />
l’interface IDL qu’ils implantent. Les clients utilisent ce service en indiquant le type d’interface<br />
recherchée <strong>et</strong> des critères annexes : type des obj<strong>et</strong>s arguments, nombre d’arguments,<strong>et</strong>c.<br />
Le Trader Service résout les requêtes en parcourant l’ensemble du référentiel<br />
des enregistrements qu’il a collectés. Le client ayant obtenu ainsi l’ensemble des références<br />
des obj<strong>et</strong>s qu’il désire utiliser, la transaction peut commencer avec le serveur, par exemple<br />
en exploitant la Dynamic Invocation Interface.<br />
27