Structure du bus et implémentation
Structure d'une application
Bibliothèque CORBA
pour C++
Fichiers C++
générés à partir d'IDL
Implémentation C++
d’une souche
Services de l'OS
Bibliothèque CORBA
pour Java
Fichiers Java
générés à partir d'IDL
Implémentation Java
d’un objet serveur
Machine Virtuelle
Services de l'OS
Requêtes IIOP
Opérations IDL
Invocation d'une opération
• Lien entre (objet ?) client et objet serveur
(implémentant le contrat IDL)
– Toute opération s'applique sur une référence d'objet
– Nécessité de faire connaître la référence du serveur au
client
– Problème de la désignation
Les références d'objets CORBA
• A chaque objet CORBA est associé une référence
unique ...
• par le type d'objet (interface IDL),
• par le protocole de transmission (IIOP, ....),
• par l'identification du mécanisme serveur (machine & port, ...),
• par l'identification de l'objet sur le serveur (clé)
• Opérateur narrow(..)
• Utilisé pour convertir une ref d'objet A vers une ref d'objet B.
• Renvoie nil si le type réel de A n'est pas B ou un type héritant de B
– Méthode statique _narrow(obj) de la classe en projection C++,
– Méthode statique narrow(obj) de la classe Helper en projection Java
• Très utilisé.
Références d’Objets
• Deux manières de voir les références d'objets
– Vue interne:
• Référence sur une instance (réelle) ou une structure opaque:
Un « pointeur CORBA »
• En fonctionnement normal, changera avec chaque instanciation
– Vue externe:
• Représentation par une chaîne
• Ex: "IOR:158340158345038034058104851…… »
– Encodage du type, du protocole utilisé, de la localisation de
l’objet
• Ajout récent d’un format « lisible » corbaloc
– corbaloc://murphy.lirmm.fr:2001/object42
– Oblige à spécifier directement port et clé
1 / 27 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!