Previous Next Table of Contents

3. Composants

3.1 CORBA

Qu'est-ce-que CORBA?

CORBAest le Common Object Request Broker Architecture. La documentation de l'OMG What is CORBA? donne la description suivante :

Common Object Request Broker Architecture (CORBA), est une réponse de l'Object Management Group aux besoins d'interopérabilité entre les produits logiciels et matériels disponibles aujourd'hui et qui prolifèrent. D'une manière simplifiée, CORBA permet aux applications de communiquer entre elles où qu'elles se trouvent et quel que soit leur créateur(...)
L'(ORB) est la couche intermédiaire qui établit les relations client/serveur entre les objets. En utilisant un ORB, un client peut de manière transparente appeler une méthode d'un objet du serveur, qui peut être sur la même machine, ou bien à l'autre bout d'un réseau. L'ORB intercepte l'appel et se charge de trouver un objet capable d'y répondre, lui passe les paramètres, appèle la méthode, et rend le résultat. Le client n'a pas à s'occuper de l'emplacement de l'objet, de son langage de programmation, de son système d'exploitation, ou de tous les autres aspects du système qui ne font pas partie de l'interface d'un objet. En faisant tout ceci, l'ORB assure l'interopérabilité entre des applications se trouvant sur des machines distinctes dans des environnements distribués hétérogènes.
Typiquement, pour des applications client/serveur, les développeurs utilisent leur propre protocole ou un standard reconnu pour la communication entre les éléments de leurs applications. La définition de ces protocoles varie selon le langage utilisé pour l'implémentation, le transport réseau et une bonne douzaine d'autres facteurs. Les ORB simplifient considérablement ce processus. Avec un ORB, le protocole est défini au niveau des interfaces de l'application par un unique langage indépendant du langage de programmation de l'application, l'IDL (Langage de Definition d'Interface). Et les ORB apporte de la flexibilité. Ils laissent au programmeur le choix du système d'exploitation, de l'environnement d'exécution et même du langage de programmation les plus appropriés pour chacun des composants du système en construction. Plus important encore, ils permettent l'intégration de composants existants. Dans une solution basée sur un ORB, les développeurs modélisent les composants qu'ils réutilisent en utilisant le même IDL qu'ils utilisent pour la création de nouveaux objets, puis écrivent des "médiateurs" (wrappers) qui se chargent des traductions entre le bus standard (l'ORB) et les interfaces des objets réutilisés.

Quel rôle joue CORBA dans GNOME ?

CORBA est ce qui donne à GNOME une architecture basée sur les composants. Il joue un rôle similaire à celui de DCOM/OLE dans win32.

Quelle implémentation de CORBA GNOME utilise-t-il ?

Au début, l'idée était d'utiliser ILU. ILU présente un certain avantages, parmi lesquels le support de nombreux langages. Malheureusement, l'attitude d'ILU vis-à-vis des standards CORBA, tels IIOP, n'était pas claire, et sa licence lui a été fatale.

À sa place, le projet utilise MICO. Les grands avantages de MICO sont le fait qu'il possède un Object Activator, il est conforme au standard IIOP, et sa licence est la GPL. À l'heure actuelle, il ne gère que le langage C++, mais des travaux sont en cours pour l'étendre à d'autres langages.

Où trouver plus d'informations sur CORBA ?

La meilleure page de liens consacrés à CORBA que j'ai vue est celle de Linas Vepstas ici : http://linas.org/linux/corba.html

3.2 GTK

Qu'est-ce-que GTK ?

GTKest le Gimp ToolKit.

Quel est le rôle de GTK dans GNOME ?

GTK est l'interface utilisateur des applications GNOME. Son rôle est similaire à celui de Motif dans CDE, QT dans KDE ou l'ensemble-de-widgets-sans-nom de win32.

Oû trouver plus d'informations sur GTK ?

http://www.gimp.org/gtkest la page principale de GTK.

Et le Glisser&Déposer (Drag&Drop) ?


Je ne suis pas certain que sa place soit ici.

GNOME utilisera le protocole Drag&Drop de XWindow. Plus d'informations ici : http://www.cco.caltech.edu/~jafl/xdnd/.

3.3 Guile

Qu'est-ce-que Guile ?

Guile est le projet GNU d'implémentation de Scheme, un des dialectes de Lisp.

Quel est le rôle de Guile dans GNOME ?

Guile est le langage de script du projet GNOME. Tiré de l'annonce originale :

Nous envisageons d'utiliser une interface GTK/Scheme pour l'écriture de petits utilitaires et applications. Quand cette interface sera suffisamment évoluée, il devrait être possible d'écrire des applications complète en Scheme.
Il joue un rôle analogue (mais en plus puissant) à celui de VisualBasic dans l'univers win32.

Oû trouver plus d'informations sur Scheme ?

Les documentations de Guile sont bien faites, mais le standard Scheme (le bien oscurément nommé R4RS) se trouve ici : http://www-swiss.ai.mit.edu/~jaffer/r4rs_toc.html

Oû trouver plus d'informations sur Guile ?

http://www.red-bean.com/guile/

3.4 Affichage PostScript

Pas grand chose encore; jetez un coup d'oeil à http://www.gnustep.org


(Federico ne travaillait-il pas sur GtkDPS ?)

3.5 OpenDoc


Quelqu'un possède-t-il une URL pour les trucs OpenDoc de CYGNUS ?

http://www.software.ibm.com/ad/opendoc/(Sources disponibles ici)

http://www.opendoc.apple.com/

http://www.yahoo.com/Computers_and_Internet/Software/Programming_Tools/Development/OpenDoc/


Previous Next Table of Contents