13.07.2013 Views

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

SHOW MORE
SHOW LESS

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

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

Saved successfully!

Ooh no, something went wrong!