Système Distribué avec CORBA 2
Système Distribué avec CORBA 2
Yassamine Seladji
[Link]@[Link]
17 mars 2020
1 / 38
Système Distribué avec CORBA 2
L’architecture de CORBA
L’architecture CORBA se compose essentiellement :
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 / 38
Système Distribué avec CORBA 2
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 / 38
Système Distribué avec CORBA 2
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.
4 / 38
Système Distribué avec CORBA 2
La définition du contrat IDL.
I L’interface IDL est l’interface de communication
client/serveur.
I L’IDL contient la signature des méthodes de l’objet distant.
I Une interface par objet distant.
I L’interface IDL est un fichier avec l’extension .idl.
5 / 38
Système Distribué avec CORBA 2
La définition du contrat IDL.
I L’interface IDL est l’interface de communication
client/serveur.
I L’IDL contient la signature des méthodes de l’objet distant.
I Une interface par objet distant.
I L’interface IDL est un fichier avec l’extension .idl.
exemple : [Link]
5 / 38
Système Distribué avec CORBA 2
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.
6 / 38
Système Distribué avec CORBA 2
La pré-compilation du contrat IDL.
7 / 38
Système Distribué avec CORBA 2
La pré-compilation du contrat IDL.
Le précompilateur IDL vers Java : idlj
Côté Client :
I idlj -fclient [Link].
I Le pré-compilateur génère :
I Le fichier stub.
I L’interface Java.
I Le fichier Helper : Contient les méthodes qui permettent de
faire le cast de la référence de l’objet CORBA en son type Java
associé.
I Le fichier Holder : Contient les opérations qui permettent de
manipuler les paramètres out et inout.
8 / 38
Système Distribué avec CORBA 2
La pré-compilation du contrat IDL.
idlj -fclient [Link].
9 / 38
Système Distribué avec CORBA 2
La pré-compilation du contrat IDL.
Hiérarchie des interfaces CORBA pour le client.
10 / 38
Système Distribué avec CORBA 2
La pré-compilation du contrat IDL.
Côté serveur :
I idlj -fserver [Link].
I Le pré-compilateur génère :
I Le fichier BoursePOA.
11 / 38
Système Distribué avec CORBA 2
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.
12 / 38
Système Distribué avec CORBA 2
L’implémentation du serveur.
I L’implémentation de l’objet distant.
I L’implémenter d’une classe qui hérite de BoursePOA.
I Aucun constructeur spécial n’est requis.
13 / 38
Système Distribué avec CORBA 2
L’implémentation du serveur.
I L’implémentation de l’objet distant.
I L’implémenter d’une classe qui hérite de BoursePOA.
I Aucun constructeur spécial n’est requis.
13 / 38
Système Distribué avec CORBA 2
L’implémentation du serveur.
L’écriture du code du serveur.
1 Initialisation de l’ORB.
2 La création de l’objet.
3 L’activation du POAManager : afin d’obtenir une référence.
4 L’obtention et l’enregistrement de la référence.
14 / 38
Système Distribué avec CORBA 2
L’implémentation du serveur.
L’écriture du code du serveur.
1 Initialisation de l’ORB.
2 La création de l’objet.
3 L’activation du POAManager : afin d’obtenir une référence.
4 L’obtention et l’enregistrement de la référence.
15 / 38
Système Distribué avec CORBA 2
L’implémentation du serveur.
L’écriture du code du serveur.
1 Initialisation de l’ORB.
2 La création de l’objet.
3 L’activation du POAManager : afin d’obtenir une référence.
4 L’obtention et l’enregistrement de la référence.
16 / 38
Système Distribué avec CORBA 2
L’implémentation du serveur.
L’écriture du code du serveur.
1 Initialisation de l’ORB.
2 La création de l’objet.
3 L’activation du POAManager : afin d’obtenir une référence.
4 L’obtention et l’enregistrement de la référence.
17 / 38
Système Distribué avec CORBA 2
L’implémentation du serveur.
L’écriture du code du serveur.
1 Initialisation de l’ORB.
2 La création de l’objet.
3 L’activation du POAManager : afin d’obtenir une référence.
4 L’obtention de la référence.
18 / 38
Système Distribué avec CORBA 2
L’implémentation du serveur.
L’écriture du code du serveur.
1 Initialisation de l’ORB.
2 La création de l’objet.
3 L’activation du POAManager : afin d’obtenir une référence.
4 L’obtention de la référence.
5 L’enregistrement de la référence.
18 / 38
Système Distribué avec CORBA 2
L’implémentation du serveur.
L’écriture du code du serveur.
19 / 38
Système Distribué avec CORBA 2
Le service d’annuaire.
Coté serveur :
I Lancer le service d’annuaire de Java orbd :
orbd -ORBInitialPort 1050
I Lancer l’ORB :
I Obtenir une référence sur l’annuaire :
I Créer la référence sur l’objet :
I Lier le nom à la référence de l’objet :
20 / 38
Système Distribué avec CORBA 2
Le service d’annuaire.
Coté serveur :
I Lancer le service d’annuaire de Java orbd :
orbd -ORBInitialPort 1050
I Lancer l’ORB :
I Obtenir une référence sur l’annuaire :
I Créer la référence sur l’objet :
I Lier le nom à la référence de l’objet :
21 / 38
Système Distribué avec CORBA 2
Le service d’annuaire.
Coté serveur :
I Lancer le service d’annuaire de Java orbd :
orbd -ORBInitialPort 1050
I Lancer l’ORB :
I Obtenir une référence sur l’annuaire :
I Créer la référence sur l’objet :
I Lier le nom à la référence de l’objet :
22 / 38
Système Distribué avec CORBA 2
Le service d’annuaire.
Coté serveur :
I Lancer le service d’annuaire de Java orbd :
orbd -ORBInitialPort 1050
I Lancer l’ORB :
I Obtenir une référence sur l’annuaire :
I Créer la référence sur l’objet :
I Lier le nom à la référence de l’objet :
23 / 38
Système Distribué avec CORBA 2
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.
24 / 38
Système Distribué avec CORBA 2
L’implémentation du client.
L’écriture du code du client.
1 Création et initialisation de l’ORB.
2 Récupération de la référence IOR dans le fichier.
3 Récupérer l’objet et effectuer l’appel distant.
25 / 38
Système Distribué avec CORBA 2
L’implémentation du client.
L’écriture du code du client.
1 Création et initialisation de l’ORB.
2 Récupération de la référence IOR dans le fichier.
3 Récupérer l’objet et effectuer l’appel distant.
26 / 38
Système Distribué avec CORBA 2
L’implémentation du client.
L’écriture du code du client.
1 Création et initialisation de l’ORB.
2 Récupération de la référence IOR dans le fichier.
3 Récupérer l’objet et effectuer l’appel distant.
27 / 38
Système Distribué avec CORBA 2
L’implémentation du client.
L’écriture du code du client.
1 Création et initialisation de l’ORB.
2 Récupération de la référence IOR dans le fichier.
3 Récupérer l’objet et effectuer l’appel distant.
28 / 38
Système Distribué avec CORBA 2
L’implémentation du client.
L’écriture du code du client.
29 / 38
Système Distribué avec CORBA 2
Le service d’annuaire.
Coté client :
I La récupération de l’annuaire :
30 / 38
Système Distribué avec CORBA 2
Le service d’annuaire.
Coté client :
I La récupération de l’annuaire :
I La récupération de la référence de l’objet distant :
30 / 38
Système Distribué avec CORBA 2
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.
31 / 38
Système Distribué avec CORBA 2
L’exécution répartie de l’application.
I l’exécution de l’application dépends des langages utilisés.
I Le lancement du serveur : Compilation et exécution du
programme serveur.
I Le lancement du client : Compilation et exécution du
programme client.
32 / 38
Système Distribué avec CORBA 2
========================================
========================================
33 / 38
Système Distribué avec CORBA 2
Mettre en place une application Hello world ! .
Ecrire une application répartie en CORBA tel que :
I le serveur implémente un objet distant Hello.
I Le service offert par le serveur est la méthode hello() qui
renvoie le message Hello suivi du numéro du client. Exemple
”Hello client 1”.
I Le client fait un appel simple à la méthode hello().
33 / 38
Système Distribué avec CORBA 2
Mettre en place une application Hello world ! .
1 L’écriture de l’interface IDL.
34 / 38
Système Distribué avec CORBA 2
Mettre en place une application Hello world ! .
1 L’écriture de l’interface IDL.
2 La pré-compilation de l’interface.
35 / 38
Système Distribué avec CORBA 2
========================================
========================================
36 / 38
Système Distribué avec CORBA 2
Mettre en place une application Hello world ! .
1 L’écriture de l’interface IDL.
2 La pré-compilation de l’interface.
3 L’implémentation de l’objet distant côté serveur :
36 / 38
Système Distribué avec CORBA 2
Mettre en place une application Hello world ! .
4 l’implémentation du serveur.
37 / 38
Système Distribué avec CORBA 2
Mettre en place une application Hello world ! .
4 l’implémentation du serveur.
5 l’implémentation du client.
38 / 38