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

Create successful ePaper yourself

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

2.2. ARCHITECTURE<br />

vant servir de base à la <strong>réalisation</strong> concrète du système distribué, aussi bien client que<br />

serveur. De plus, IDL masque complètement les processus de communication entre obj<strong>et</strong>s,<br />

rendant ainsi le développement de l’architecture client-serveur totalement transparente. Il<br />

s’agit donc ici de définir ce que l’obj<strong>et</strong> est à même de proposer comme service en le situant<br />

dans une hiérarchie de services ainsi qu’en énumérant les méthodes qu’il m<strong>et</strong> à disposition.<br />

L’exemple suivant présente une définition réalisé au moyen de IDL. Il s’agit ici de créer un<br />

module, semblable à la notion de package en Java, contenant un obj<strong>et</strong> ”Amm<strong>et</strong>er” <strong>et</strong> un<br />

obj<strong>et</strong> ”Voltm<strong>et</strong>er”. Chacun de ces obj<strong>et</strong>s implante des méthodes qui seront accessibles via<br />

le Stub généré par les outils de compilation spécifique à chaque langage.<br />

module TestModule –<br />

interface Ammm<strong>et</strong>er<br />

–<br />

void res<strong>et</strong>();<br />

float g<strong>et</strong>Current();<br />

˝;<br />

interface Voltm<strong>et</strong>er<br />

–<br />

void res<strong>et</strong>();<br />

float g<strong>et</strong>Voltage();<br />

˝;<br />

˝;<br />

Il est important ici de noter c<strong>et</strong>te structure fortement hiérarchisée de packages disposés<br />

selon un arbre. C<strong>et</strong> élément sera fondamental dans la comparaison que nous offrons de<br />

CORBA vs. JINI dans le chapitre 5.<br />

Le langage IDL propose également un mécanisme d’héritage entre <strong>et</strong> depuis les interfaces.<br />

C<strong>et</strong> héritage peut être simple, multiple ou répété. La notion d’héritage répété a été<br />

introduite en raison de la possibilité d’implanter un héritage multiple tout en respectant la<br />

contrainte de non répétition des noms. C<strong>et</strong>te contrainte spécifie qu’au sein d’un même module,<br />

la surcharge – c’est-à-dire définir plusieurs méthodes dont la signature est différente<br />

mais dont le nom est identique – est interdite.<br />

2.2.2 l’ORB <strong>et</strong> l’IIOP<br />

L’ORB est le composant central de la répartition des obj<strong>et</strong>s sur le bus CORBA. Il assure<br />

le transport des requêtes entre les clients <strong>et</strong> les serveurs ou, pour être plus précis, entre les<br />

stubs des clients <strong>et</strong> les implantations correspondantes présentes dans les skel<strong>et</strong>on des obj<strong>et</strong>s<br />

serveurs. Il s’agit d’un middleware qui se déploie entre la couche application proprement<br />

dite où vivent les obj<strong>et</strong>s <strong>et</strong> le système d’exploitation qui gère les fonctionnalités réseau du<br />

23

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

Saved successfully!

Ooh no, something went wrong!