Le bus d’objets répartis CORBA

Une vision globale de la construction d’applications réparties

L’OMG
L’Object Management Group (OMG) est un consortium international créé en 1989 et regroupant actuellement plus de 850 acteurs du monde informatique: des constructeurs (IBM, Sun), des producteurs de logiciel (Netscape, Inprise ou ex-Borland/Visigenic, IONA Tech.), des utilisateurs (Boeing, Alcatel) et des institutionels et universités (NASA, INRIA, LIFL). L’objectif de ce groupe est de faire émerger des standards pour l’intégration d’applications distribuées hétérogènes à partir des technologies orientées objet. Ainsi les concepts-clés mis en avant sont la réutilisabilité, l’interopérabilité et la portabilité de composants logiciels.
L’élément-clé de la vision de l’OMG est CORBA (Common Object Request Broker Architecture):un «middleware» orienté objet. Ce bus d’objets répartis offre un support d’exécution masquant les couches techniques d’un système réparti (système d’exploitation, processeur et réseau) et il prend en charge les communications entre les composants logiciels formant les applications réparties hétérogènes.

Le modèle objet client/serveur
Le bus CORBA propose un modèle orienté objet client/serveur d’abstraction et de coopération entre les applications réparties. Chaque application peut exporter certaines de ses fonctionnalités (services) sous la forme d’objets CORBA: c’est la composante d’abstraction (structuration) de ce modèle. Les interactions entre les applications sont alors matérialisées par des invocations à distance des méthodes des objets: c’est la partie
coopération. La notion client/serveur intervient uniquement lors de l’utilisation d’un objet: l’application implantant l’objet est le serveur, l’application utilisant l’objet est le client. Bien entendu, une application peut tout à fait être à la fois cliente et serveur.

L’architecture globale
L’OMG définit aussi une vision globale de la construction d’applications réparties: l’Object Management Architecture Guide [OMAG 95]. Cette architecture globale, appelée aussi l’OMA, vise à classifier les différents objets qui interviennent dans une application en fonction de leurs rôles:
· Le bus d’objets répartis est la clé de voûte de l’architecture globale de l’OMG. Il assure le transport des requêtes entre tous les objets CORBA. Il offre un environnement d’exécution aux objets masquant l’hétérogénéité liée aux langages de programmation, aux systèmes d’exploitation, aux processeurs et aux réseaux. Ce bus est plus amplement détaillé dans la suite.
· Les services objet communs(CORBA services) fournissent sous forme d’objets CORBA, spécifiés grâce au langage OMG-IDL, les fonctions systèmes nécessaires à la plupart des applications réparties. Actuellement, l’OMG a défini des services pour les annuaires (Nommage et Vendeur), le cycle de vie des objets, les relations entre objets, les événements, les transactions, la sécurité, la persistance, etc. Au fur et à mesure des besoins, l’OMG ajoute de nouveaux services communs.

Le bus d’objets répartis CORBA
Les caractéristiques
Le bus CORBA est donc l’intermédiaire/négociateur à travers lequel les objets vont pouvoir dialoguer. Il fournit les caractéristiques suivantes:
· La liaison avec «tous» les langages de programmation: cependant, actuellement l’OMG a seulement défini officiellement cette liaison pour les langages C, C++, SmallTalk, Ada, COBOL et Java.
· La transparence des invocations: les requêtes aux objets semblent toujours être locales, le bus CORBA se chargeant de les acheminer en utilisant le canal de communication le plus approprié.
· L’invocation statique et dynamique: ces deux mécanismes complémentaires permettent de soumettre les requêtes aux objets. En statique, les invocations sont contrôlées à la compilation. En dynamique, les invocations doivent être contrôlées à l’exécution.
· Un système auto-descriptif: les interfaces des objets sont connues du bus et sont aussi accessibles par les programmes par l’intermédiaire du référentiel des interfaces. Nous reviendrons plus en détail sur cet aspect dans la section 4.
· L’activation automatique et transparente des objets: les objets sont en mémoire uniquement s’ils sont utilisés par des applications clientes.

Lire sur cLicours.com :  Fonctions asynchrones et sockets en .NET

Les composantes
Le bus CORBA fournit les composantes suivantes:
Les protocoles réseaux
Tout bus à la norme CORBA 2.0doit fournir les protocoles GIOP et IIOP. Le protocole GIOP définit une représentation commune des données (CDR ou Common Data Representation), un format de références d’objet interopérable (IOR ou Interoperable Object Reference) et un ensemble de messages de transport des requêtes aux objets (Request, Reply, …). Cependant, GIOP est seulement un protocole générique, IIOP fournit alors une implantation de GIOP au dessus de TCP/IP et donc d’Internet. Les IORs dans le contexte d’IIOP doivent contenir :
· le nom complet de l’interface OMG-IDL de l’objet;
· l’adresse IP de la machine Internet où est localisé l’objet;
· un port IP pour se connecter au serveur de l’objet;
· une clé pour désigner l’objet dans le serveur. Son format est libre et il est donc différent pour chaque implantation du bus CORBA.
Les services objet communs
Les services objet communs ont pour objectif de standardiser les interfaces des fonctions système indispensables à la construction et l’exécution de la plupart des applications réparties. Cette section décrit sommairement ces services selon leur rôle dans une application répartie. Elle se base sur l’actuelle spécification CORBA services [COS 98]et les travaux en cours à l’OMG.

La recherche d’objets
Cette catégorie de services offre les mécanismes pour rechercher/retrouver dynamiquement sur le bus les objets nécessaires aux applications. Ce sont les équivalents des annuaires téléphoniques :
· Le service Nommage(Naming Service) est l’équivalent des «pages blanches»: les objets sont désignés par des noms symboliques. Cet annuaire est matérialisé par un graphe de répertoires de désignation.
· Le service Vendeur(Trader Service) est l’équivalent des «pages jaunes»: les objets peuvent être recherchés en fonction de leurs caractéristiques.


Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Cours CORBA (284 Ko) (Cours PDF)
Cours CORBA

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.