Système Distribué avec CORBA 3
Système Distribué avec CORBA 3
Yassamine Seladji
[email protected]
17 mars 2020
1 / 14
Système Distribué avec CORBA 3
L’architecture des composants CORBA.
I du bus logiciel ORB.
I des souches : stub et squelette.
I du POA (Portable Object Adapter).
I de l’interface IDL.
I des IOR (Interoperable Object Reference).
I Des services.
2 / 14
Système Distribué avec CORBA 3
La mise en place d’une application CORBA
I La définition du contrat IDL.
I La pré-compilation du contrat IDL.
I L’implémentation du serveur.
I L’implémentation du client.
I L’exécution répartie de l’application.
3 / 14
Système Distribué avec CORBA 3
L’implémentation par héritage.
exemple : bourse.idl
4 / 14
Système Distribué avec CORBA 3
L’implémentation par héritage.
exemple : bourse.idl
4 / 14
Système Distribué avec CORBA 3
L’implémentation par délégation.
I idlj -allTIE bourse.idl
5 / 14
Système Distribué avec CORBA 3
L’implémentation par délégation.
I idlj -allTIE bourse.idl
5 / 14
Système Distribué avec CORBA 3
L’implémentation par délégation.
6 / 14
Système Distribué avec CORBA 3
L’implémentation par délégation.
6 / 14
Système Distribué avec CORBA 3
Le passage des paramètres.
I Passage des paramètres par références.
I Passage des paramètres par valeur.
7 / 14
Système Distribué avec CORBA 3
Passage d’arguments par référence.
8 / 14
Système Distribué avec CORBA 3
Passage d’arguments par référence.
8 / 14
Système Distribué avec CORBA 3
Passage d’arguments par référence.
Coté serveur :
I La pré-compilation du fichier banque.idl :
idlj -fall banque.idl
9 / 14
Système Distribué avec CORBA 3
Passage d’arguments par référence.
Coté serveur :
I La pré-compilation du fichier banque.idl :
idlj -fall banque.idl
I l’implémentation de CompteImpl :
9 / 14
Système Distribué avec CORBA 3
Passage d’arguments par référence.
Coté serveur :
I La pré-compilation du fichier banque.idl :
idlj -fall banque.idl
I l’implémentation de CompteImpl :
I l’implémentation de banqueImpl :
9 / 14
Système Distribué avec CORBA 3
Passage d’arguments par référence.
Coté client :
I Initialiser l’ORB :
10 / 14
Système Distribué avec CORBA 3
Passage d’arguments par référence.
Coté client :
I Initialiser l’ORB :
I Récupérer le POA :
10 / 14
Système Distribué avec CORBA 3
Passage d’arguments par référence.
Coté client :
I Initialiser l’ORB :
I Récupérer le POA :
I Obtenir la référence de l’objet distant Banque :
10 / 14
Système Distribué avec CORBA 3
Passage d’arguments par référence.
Coté client :
I Initialiser l’ORB :
I Récupérer le POA :
I Obtenir la référence de l’objet distant Banque :
I La création et l’utilisation de l’objet Compte :
10 / 14
Système Distribué avec CORBA 3
Passage d’arguments par valeur.
Coté serveur :
I Dans l’IDL, utiliser le type ValueType
11 / 14
Système Distribué avec CORBA 3
Passage d’arguments par valeur.
Coté serveur :
I Dans l’IDL, utiliser le type ValueType
I Pré-compiler l’IDL avec idlj :
11 / 14
Système Distribué avec CORBA 3
Passage d’arguments par valeur.
Coté serveur :
I Dans l’IDL, utiliser le type ValueType
I Pré-compiler l’IDL avec idlj :
I La classe Comple qui implémente
org.omg.CORBA.portable.StreamableValue.
11 / 14
Système Distribué avec CORBA 3
Passage d’arguments par valeur.
Coté serveur :
I Dans l’IDL, utiliser le type ValueType
I Pré-compiler l’IDL avec idlj :
I La classe Comple qui implémente
org.omg.CORBA.portable.StreamableValue.
I La classe CompteDefaultFactory qui implémente
CompteValueFactory.
11 / 14
Système Distribué avec CORBA 3
Passage d’arguments par valeur.
Coté serveur :
I implémenter la classe CompteImpl qui hérite de Compte.
12 / 14
Système Distribué avec CORBA 3
Passage d’arguments par valeur.
Coté serveur :
I implémenter la classe CompteImpl qui hérite de Compte.
I implémenter la classe BanqueImpl qui hérite de BanquePOA.
12 / 14
Système Distribué avec CORBA 3
Passage d’arguments par valeur.
Coté client :
I La même implémentation que pour le passage par référence.
13 / 14
Système Distribué avec CORBA 3
Passage d’arguments par valeur.
Coté client :
I La même implémentation que pour le passage par référence.
Remarque :
I CORBA n’utilise pas la sérialisation Java.
I Ajouter les méthodes de sérialisation pour CORBA.
13 / 14
Système Distribué avec CORBA 3
Passage d’arguments par valeur.
Coté client :
I La même implémentation que pour le passage par référence.
Remarque :
I CORBA n’utilise pas la sérialisation Java.
I Ajouter les méthodes de sérialisation pour CORBA.
13 / 14
Système Distribué avec CORBA 3
Conclusion.
I CORBA permet de mettre en place une communication
logique entre deux applications.
I Les applications peuvent être implémenter en des langages
différents.
I CORBA est constitué de plusieurs composant.
I La mise en place de CORBA est simplifiée par l’OMG.
14 / 14