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 />

exécuté en local. De nombreux procédés existent afin de m<strong>et</strong>tre en oeuvre des obj<strong>et</strong>s distribués<br />

<strong>et</strong> le plus connu de tous est sans nul doute CORBA, la solution de prime abord la<br />

plus efficace <strong>et</strong> la plus standardisée à ce jour.<br />

CORBA est avant tout une norme [25] [27], c’ est-à-dire un ensemble de spécifications<br />

<strong>et</strong> de recommandations émises par l’Object Management Group (OMG) [4]. l’OMG est un<br />

groupe de travail indépendant au sein duquel siègent plus de sept cent partenaires issus<br />

de tous horizons : développeurs de logiciels, fabricants de matériel <strong>et</strong> grands utilisateurs.<br />

l’objectif de CORBA est avant tout d’assurer une interopérabilité entre des applications<br />

orientées obj<strong>et</strong> hétérogènes tant du point du vue de leur langage de développement que<br />

du système d’exploitation sur lesquels celles-ci seront amenées à être déployées. Ces applications<br />

reposent sur un modèle de mise en relation d’obj<strong>et</strong>s distribués sur un réseau <strong>et</strong><br />

interopérant entre eux de manière totalement transparente du point de vue de l’utilisateur.<br />

Pour parvenir à ses fins, CORBA définit <strong>et</strong> implémente plusieurs concepts. Tout d’abord<br />

un modèle de communication entre les obj<strong>et</strong>s distribués à travers le réseau. Ensuite, elle<br />

définit une couche de transport commune à tous les logiciels : l’ORB (Object Request Broker).<br />

l’OMG m<strong>et</strong> également à disposition un langage de description des interfaces présentées<br />

par chacun des acteurs du bus d’obj<strong>et</strong>s distribués : l’IDL (Interface Definition Language).<br />

Enfin, des services <strong>et</strong> des obj<strong>et</strong>s élémentaires sont introduits afin de faciliter le déploiement<br />

<strong>et</strong> l’utilisation de CORBA : il s’ agit, entre autres, des Common Object Services, des<br />

CORBA Facilities <strong>et</strong> des Domain Interfaces.<br />

Chacun des éléments formant le bus est simplement spécifié par l’OMG <strong>et</strong> celle-ci n’<br />

impose donc aucun langage ni aucune plateforme lors de l’implantation <strong>et</strong> du déploiement<br />

final. La plupart des langages actuels sont à même d’exploiter les standards de l’OMG <strong>et</strong><br />

bon nombre de constructeurs ont développé leur ORB, offrant ainsi une diversité quant<br />

aux possibilités accessoires que chacune des implantations offre, mais autorisant également<br />

la <strong>réalisation</strong> d’application hautement interopérables. Seule la fonction <strong>et</strong> la nature même<br />

des applications développées forcera le choix de tel ou tel autre logiciel CORBA.<br />

2.2 Architecture<br />

Les interactions entre obj<strong>et</strong>s sur un bus CORBA suivent un modèle classique client–<br />

serveur. Les applications clientes ém<strong>et</strong>tent des requêtes vers les obj<strong>et</strong>s serveurs, ceux-ci les<br />

exécutent de leur côté <strong>et</strong> enfin ils renvoient le résultat éventuel à l’appelant. Ce modèle<br />

présuppose que la méthode invoquée <strong>et</strong> implantée dans le serveur soit connue du client<br />

<strong>et</strong> que celui-ci possède tout le matériel nécessaire à la prise de contact avec le serveur <strong>et</strong><br />

l’envoi des paramètres. A c<strong>et</strong> eff<strong>et</strong>, quatre éléments importants sont mis en jeu :<br />

– l’Interface reprenant toutes méthodes accessibles sur l’obj<strong>et</strong> distant. C<strong>et</strong>te interface<br />

est implantée par le serveur <strong>et</strong> connue du client. L’IDL offre une formalisation de<br />

la définition de c<strong>et</strong>te interface, de manière indépendante du langage mais selon une<br />

21

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

Saved successfully!

Ooh no, something went wrong!