Mini CORBA FAQ - questions fréquentes sur CORBA
révision: 4 janvier 2000
Qu'est ce que CORBA ?
CORBA est un standard d'objets distribués. CORBA permet à une application de demander
à un objet distribué d'effectuer une opération et d'en obtenir le résultat. L'application communique avec
l'objet qui effectue l'opération. C'est une fonctionnalité clients/serveur basique où un client envoie une
requête à un serveur et le serveur répond au client. Les données peuvent passer du client au serveur et
sont associées à une opération particulière sur un objet particulier. Les données sont ensuite retournées au client
sous la forme d'une réponse.
Quels sont les principaux avantages de CORBA ?
- CORBA supporte plusieurs langages. CORBA supporte aussi un mélange de ces langages dans une même
application distribuée.
- CORBA supporte à la fois la distribution et l'orientation objets.
- CORBA est un standard industriel. Celà crée une concurrence entre les différents vendeurs et assure
ainsi que des implémentations de qualité existent. Le standard CORBA permet aussi au développeur de pouvoir
compter sur un degré élevé de compatibilité entre les différentes implémentations
(sans jamais être totalement portable).
- CORBA permet un dégré élevé d'interopérabilité. Celà permet d'assurer que des objets distribués construits
sur différents produits CORBA pourront communiquer.
- Plus de 600 compagnies soutiennent CORBA.
Où trouver des infos sur CORBA ?
Les sites qui font référence pour CORBA sont bien sur les sites de l'OMG :
et à partir de là tu trouveras à peu près tout ce qu'il te faut, y compris des pointeurs vers d'autres sites.
La documentation de Visibroker est aussi
très bien faite et assez
générique. On peux y accéder librement sur
Il n'y a que très peu d'informations sur CORBA en Français, et c'est d'ailleurs
une des raisons de l'existence d'une section et d'un forum CORBA sur
developpez.com.
Tu pourras par exemple consulter les liens suivants :
Quel langage utiliser pour développer en CORBA ?
Une des nombreux avantages de CORBA est qu'il supporte plusieurs
langages et vous n'êtes pas forcé d'utiliser un langage en
particulier.
L'OMG a standardisé le mapping IDL pour les langages
suivants:
- C
- C++
- Smalltalk
- Java
- Ada
- Cobol
- un pont vers les langages basés sur COM (type Visual Basic)
mais des mapping "vendeurs" sont disponibles pour :
- Tcl
- PL/1
- LISP
- Python
- Perl
Dans la pratique, les langages les plus utilisés pour
CORBA sont Java et C++. C++ est très puissant et particulièrement
adapté au côté serveur, tandis que Java conviendra le plus souvent au
côté client. Cependant, ceci n'est bien sur pas une règle et chaque
cas devra être étudié avec soin.
Faut-il impérativement choisir entre CORBA et DCOM ?
Une application peut très bien utiliser CORBA et DCOM. Si DCOM est très
bien adapté à Windows et permet de travailler sur des objets de type
OLE automation, il faudra utiliser CORBA pour travailler sur des objets issus du
monde Unix. C'est pour cette raison que l'OMG a défini des
spécification pour les ponts CORBA/DCOM.
Comment une application Web peut-elle accéder à une objet CORBA ?
Il y a bien sur plusieurs façons d'accéder à un objet CORBA via une
application Web.
- Les applets Java peuvent accéder à des objets CORBA directement
via le protocole IIOP. L'ORB Java de Visibroker
permet de
développer ce genre d'applets.
- Une application totalement HTML peut accéder à des objets CORBA
via des programmes CGI (qui serviront ainsi de passerelle).
Les applications peuvent alors générer des pages
HTML. Cette méthode à l'avantage de permettre
une solution HTML totalement indépendante du browser.
- Certaines extension des serveurs web permettent aussi des accès
CORBA. Nous pouvons notamment citer les servlet, les pages ASP,
JSP ...
- Un plug-in pour browser peut être développé pour accéder à un
objet CORBA via le protocole IIOP.
- Certains browser supportent directement le protocole IIOP et
peuvent donc accéder à n'importe quel objet diffusé via IIOP.
A titre d'information, je mentionne ici le projet Circare qui, je
trouve, fait une utilisation astucieuse de CORBA Script
(langage de script permettant de faire du CORBA "simplement")
via Web Corba Script. Web CORBA Script
s'utilise à la manière de PHP (le code est interprété sur le
serveur). A noter que ces travaux sont en OpenSource.
On peux trouver
toutes les infos sur ce projet très intéressant à l'adresse suivante :
http://www.minoru-development.com/corbascript/reference.html#wcs
et des précision sur Web CorbaScript sur :
http://sourceforge.net/projects/wcs/
http://corbaweb.lifl.fr/CorbaScript/
Qu'est ce que l'interopérabilité dans CORBA ?
L'interopérabilité représente la possibilité pour deux composants,
développés avec des outils différents et différents ORB de
travailler ensemble. CORBA 2.0 à introduit l'interopérabilité avec le protocole GIOP
(protocole général inter ORB) et sa version Internet IIOP (protocole
internet inter ORB). Ainsi, un client utilisant un ORB A peut
accéder à un objet sur un serveur utilisant un ORB B.
Comment définir un objet CORBA ?
Les objets CORBA sont définis comme des interfaces à l'aide du langage IDL.