Section 3
Standards
Common Object Request
Broker Architecture et JIDL
CORBA est une architecture abstraite permettant de faire appel à des objets au travers un système
intermédiaire opaque, un Object Request Broker (ou ORB). Le terme ORB désigne tout produit donnant
accès à des objets externes au client; des services Java de base tels Java Serialization, RMI ou
JNDI dans la mesure où ils donnent accès à des objets, peuvent être considérés
comme des composantes ORB.
Pour répondre au standard CORBA, un ORB doit obéir à une architecture complexe et médier
les processus entre des objets définis abstraitement selon une syntaxe stricte et propre à CORBA.
Cette syntaxe, IDL, permet de définir l'interface (au sens de la programmation OO) d'une manière
indépendante du langage (IDL a inspiré ODL du consortium ODMG, qui en est une extension). Alors que
dans le RMI de JavaSoft, le manchon et l'implantation d'un objet Java sont construits par le programmeur et dans
le cas de CORBA, c'est la définition abstraite IDL qui est à l'origine des manchons (un par langage
client) et d'un squelette d'implantation pour la classe.
À partir de cette définition initiale, le consortium Object Management Group (OMG) a également
défini des protocoles pour un ensemble de services CORBA possibles parmi lesquels figurent évidemment
des mécanismes de persistance (disponible en format
PDF) et des mécanismes de requête d'objets (disponible
en format PDF), autant dire les ODBMS.
Donc, à partir du moment où la spécification de l'interprétation des définitions
IDL en Java était prête, (le couplage IDL-Java, en cours de définition, tel qu'expliqué
dans ce document) , il devenait possible d'utiliser une OODBMS
CORBA à partir de Java. De façon plus générale, tout objet CORBA défini en IDL
et implanté dans un langage quelconque, peut être utilisé en Java via un ORB (tel que HORB,
du domaine public, ou NEO de Sun.) Pour finir, voici un article
avec un excellent tableau comparatif de différents ORBs et autres système d'objets distribués
avec une définition des caractéristiques principales de chacun.
À l'inverse, la définition par JavaSoft du couplage IDL-Java (sous le nom de JIDL) permet la définition
d'un objet CORBA en Java, accessible de la même manière à tout autre client CORBA.
|