Introduction
L'ORB, de l'abréviation de l'anglicisme Object Request Broker, permet aux objets de transmettre des requêtes et recevoir des réponses de façon transparente. Pour effectuer toutes ses tâches, l'ORB se divise en différentes parties qu'on appel les composantes. Voici la liste des composantes que contient l'ORB de CORBA :
Abréviation | Nom anglais | Description |
---|---|---|
ORB | Core/ORB interface | Cette composante permet d'indiquer l'interface du coeur d'ORB. |
IDL | Interface Definition Language | Cette composante permet d'indiquer l'interface de définition du langage. |
DII | Dynamic Invocation Interface | Cette composante permet d'indiquer l'interface des appels dynamiques. |
IR | Interface Repository | Cette composante permet d'indiquer l'interface des dépôts. |
BOA | Basic Object Adapter | Cette composante permet d'indiquer l'adaptateur d'objet de base. |
NB: Les interfaces sont indépendants de l'endroit où l'objet est situé ainsi que du langage de programmation dans lequel l'objet est intégré.
Object Request Broker
Ainsi, l'ORB traitera la transformation des structures de données courante vers et depuis un séquenceur d'octets bruts, étant transmise sur le réseau. C'est ce qu'on appelle le marshalling ou la sérialisation. En plus de rassembler des données, les ORB inclus souvent beaucoup plus de fonctionnalités, comme les transactions distribuées, les services d'annuaire ou encore la planification en temps réel. Aussi, certains ORB de CORBA, utiliseront un langage de description d'interface (IDL) pour décrire les données devant être transmises sur des appels distants.
Interface Definition Language
L'IDL, de l'abréviation de l'anglicisme Interface Definition Language, est une forme de définition permettant de développer des applications distribuées sur différentes plateformes. Ainsi, cette composante sépare l'interface de son intégration (corps de procédures, fonctions, méthodes ou propriétés) en proposant un interface orienté objet. Il faudra malgré qu'un compilateur IDL génère des stubs client (équivalent d'un proxy pour les objets COM) et des skeletons pour le serveur allant gérer les actions suivantes :
- Les fabrications client : soit un objet d'usine fabriquant d'autres objets
- Le codage et le décodage des différents paramètres
- La génération des interfaces de classe intégré.
- L'enregistrement des objets
- L'activation des objets
- La localisation des objets
- La liaison des objets
Dynamic Invocation Interface
La composante Dynamic Invocation Interface permet d'indiquer l'interface des appels dynamiques. Ainsi, grâce à cette composante, on pourra avec les notions suivantes :
- Demander de nouveaux objets
- Demander leurs interfaces
- Demander les définitions d'interfaces
- Construire des appels
- Distribuer des appels
- Demander les réponses
Interface Repository
La composante Interface Repository permet d'indiquer l'interface des dépôts. Dans cette composante, on retrouvera :
- Des noms de constantes correspondant à des valeurs
- Des définitions de types de données
- Des identificateurs d'exceptions
- Des définitions d'interfaces
- Des modules
Basic Object Adapter
La composante Basic Object Adapter s'occupe de l'adaptateur d'objet de base, mais à tout de même comme objectif de supporté un grande variété d'objet intégré. Voici les fonctionnalités qu'il propose :
- Génération et interprétation des objets de référence (souvent appelé ObjRef)
- Authentification d'un élément principal en effectuant l'appel
- Activation et désactivation des objets de style individuel
- Activation et désactivation de leur intégration.
- Appel des méthodes à travers des skeletons pour le serveur.
Remarque
- Les Basic Object Adapter permet d'être intégré dans un ou plusieurs programmes en utilisant les fonctionnalités du système d'exploitation. Toutefois, si vous choisissez cette voie, les informations et le programme risque ne plus être portable.