0% ont trouvé ce document utile (0 vote)
24 vues64 pages

Système Distribué avec CORBA

Transféré par

genta kojima
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
24 vues64 pages

Système Distribué avec CORBA

Transféré par

genta kojima
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Système Distribué avec CORBA

Système Distribué avec CORBA

Yassamine Seladji

[Link]@[Link]

17 mars 2020

1 / 38
Système Distribué avec CORBA

Introductions

I En informatique distribuée, l’information est répartie entre


différents serveurs du systèmes.

2 / 38
Système Distribué avec CORBA

Introductions

I En informatique distribuée, l’information est répartie entre


différents serveurs du systèmes.
I Les applications serveurs peuvent être implémenté avec des
langages différents, et tourné sur différentes plateformes.

2 / 38
Système Distribué avec CORBA

Introductions

I En informatique distribuée, l’information est répartie entre


différents serveurs du systèmes.
I Les applications serveurs peuvent être implémenté avec des
langages différents, et tourné sur différentes plateformes.
I Le moyen de communication =⇒ le protocole CORBA.

2 / 38
Système Distribué avec CORBA

Introductions

I L’architecture CORBA est mise en place par le consortium


OMG.

3 / 38
Système Distribué avec CORBA

Introductions

I L’architecture CORBA est mise en place par le consortium


OMG.
I L’OMG regroupe plusieurs organismes mondiaux (IBM, Boing,
NASA, INRIA, ...).

3 / 38
Système Distribué avec CORBA

Introductions

I L’architecture CORBA est mise en place par le consortium


OMG.
I L’OMG regroupe plusieurs organismes mondiaux (IBM, Boing,
NASA, INRIA, ...).
I L’OMG a le rôle de mettre en place des standards
d’intégration d’applications réparties hétérogènes.

3 / 38
Système Distribué avec CORBA

Les avantages de CORBA

I CORBA permet la communication entre différents langages.

4 / 38
Système Distribué avec CORBA

Les avantages de CORBA

I CORBA permet la communication entre différents langages.


I CORBA permet d’obtenir un code très compact et efficace.

4 / 38
Système Distribué avec CORBA

Les avantages de CORBA

I CORBA permet la communication entre différents langages.


I CORBA permet d’obtenir un code très compact et efficace.
I CORBA propose une technologie économe en bande passante.

4 / 38
Système Distribué avec CORBA

Les avantages de CORBA

I CORBA permet la communication entre différents langages.


I CORBA permet d’obtenir un code très compact et efficace.
I CORBA propose une technologie économe en bande passante.
I CORBA nécessite peu de bibliothèques.

4 / 38
Système Distribué avec CORBA

Les avantages de CORBA

I CORBA permet la communication entre différents langages.


I CORBA permet d’obtenir un code très compact et efficace.
I CORBA propose une technologie économe en bande passante.
I CORBA nécessite peu de bibliothèques.
I CORBA propose des profils pour le temps réel et l’embarqué.

4 / 38
Système Distribué avec CORBA

Application répartie avec CORBA

5 / 38
Système Distribué avec CORBA

Application répartie avec CORBA

Chaque notion se traduit par une composante technologique de


CORBA.
5 / 38
Système Distribué avec CORBA

L’architecture de CORBA

6 / 38
Système Distribué avec CORBA

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.

7 / 38
Système Distribué avec CORBA

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.

8 / 38
Système Distribué avec CORBA

L’architecture de CORBA
Le bus logiciel ORB

ORB (Object Request Broker)

I ORB est le noyau de transport des requêtes aux objets.


I ORB maintient et gère les références des objets distants.
I ORB permet le plage et dépliage des arguments.
I ORB achemine la requête vers le bon objet à partir de sa
référence.

9 / 38
Système Distribué avec CORBA

L’architecture de CORBA
Le bus logiciel ORB

ORB (Object Request Broker)

I L’accée à l’ORB est locale à chaque application.


I Une bibliothèque ORB pour chaque langage.
I En Java 5, un standard ORB est inclut.

10 / 38
Système Distribué avec CORBA

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.

11 / 38
Système Distribué avec CORBA

L’architecture de CORBA
Les souches

Côté client : le stub


I Le stub assure la liaison avec l’ORB.
I Le stub assure le codage et décodage des paramètres.
I Le stub assure la transparence des références du serveurs.

12 / 38
Système Distribué avec CORBA

L’architecture de CORBA
Les souches

Côté serveur : le squelette


I Le serveur utilise la notion de servant.
I Le servant permet de gérer l’activation de l’objet distant à la
demande.
I L’exemple du bureau d’accueil.
I Le servant représente le POA.

13 / 38
Système Distribué avec CORBA

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.

14 / 38
Système Distribué avec CORBA

L’architecture de CORBA
Le POA

Le POA est l’adaptateur d’objet côté serveur.


I Il génère et interprète les références des objets distants.

15 / 38
Système Distribué avec CORBA

L’architecture de CORBA
Le POA

Le POA est l’adaptateur d’objet côté serveur.


I Il génère et interprète les références des objets distants.
I Il gère les autorisations d’accès aux objets.

15 / 38
Système Distribué avec CORBA

L’architecture de CORBA
Le POA

Le POA est l’adaptateur d’objet côté serveur.


I Il génère et interprète les références des objets distants.
I Il gère les autorisations d’accès aux objets.
I Il permet l’invocation des méthodes sur les objets.

15 / 38
Système Distribué avec CORBA

L’architecture de CORBA
Le POA

Le POA est l’adaptateur d’objet côté serveur.


I Il génère et interprète les références des objets distants.
I Il gère les autorisations d’accès aux objets.
I Il permet l’invocation des méthodes sur les objets.
I Il maintient les associations entres objets CORBA.

15 / 38
Système Distribué avec CORBA

Le panorama de l’appel distant

16 / 38
Système Distribué avec CORBA

Le panorama de l’appel distant

I Serveur + Services =⇒ Interface.

17 / 38
Système Distribué avec CORBA

Le panorama de l’appel distant

I Serveur + Services =⇒ Interface.


I CORBA =⇒ Une interface qui assure l’interopérabilité des
langages.

17 / 38
Système Distribué avec CORBA

Le panorama de l’appel distant

I Serveur + Services =⇒ Interface.


I CORBA =⇒ Une interface qui assure l’interopérabilité des
langages.
I L’utilisation de l’IDl (Interface Definition Language).

17 / 38
Système Distribué avec CORBA

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.

18 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

I Interface commune aux langages.

19 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

I Interface commune aux langages.


I Interface IDL =⇒ indépendante de l’implémentation.

19 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

I Interface commune aux langages.


I Interface IDL =⇒ indépendante de l’implémentation.
I Définir les interfaces des objets CORBA distants.

19 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

I Interface commune aux langages.


I Interface IDL =⇒ indépendante de l’implémentation.
I Définir les interfaces des objets CORBA distants.
I Le plus petit dénominateur commun entre tous les types de
données.
19 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

Les étapes de la création d’une IDL


I La déclaration de module.

20 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

Les étapes de la création d’une IDL


I La déclaration de module.
I la déclarations des interfaces.

20 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

Les étapes de la création d’une IDL


I La déclaration de module.
I la déclarations des interfaces.
I La présentation des signatures des méthodes.

20 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

Les étapes de la création d’une IDL


I La déclaration de module.
I la déclarations des interfaces.
I La présentation des signatures des méthodes.

I La déclaration : des attributs, des exceptions, des types et des


constantes.

20 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

I Les modules =⇒ packages Java.

21 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

I Les modules =⇒ packages Java.


I Les interfaces =⇒ La signatures des méthodes.

21 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

Les modes de passage :


I in =⇒ en entrée :
I le client fournit la valeur.
I si le serveur la modifie, le client ne voit
pas la modification.
I out =⇒ en sortie :
I le serveur fournit la valeur
I le client voit la modification.
I inout =⇒ en entrée/sortie.
I le client fournit la valeur
I si le serveur la modifie, le client voit la
modification

22 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

I Les exceptions =⇒ exceptions Java.

23 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

I Les exceptions =⇒ exceptions Java.

I les attributs

23 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

I Les exceptions =⇒ exceptions Java.

I les attributs
I attribute type nom =⇒ getteurs + setteurs.

23 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

I Les exceptions =⇒ exceptions Java.

I les attributs
I attribute type nom =⇒ getteurs + setteurs.
I readonly attribute type nom =⇒ getteurs.

23 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL
Les types primitifs :

24 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

I Les Constantes :

I Exemple :
const double PI = 3.1415.

25 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

Les types complexes :


I Nouveau type :

I Les énumérations :

I Les structures :

26 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

Les types complexes :


I Les tableaux :

I Les séquences :

I Le type anonyme any =⇒ n’importe quel type de données.

27 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

I Les interfaces acceptent l’héritage multiples.


I Héritage sémantique.

28 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

I Les interfaces acceptent l’héritage multiples.


I Héritage sémantique.
Exemple :

28 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

I Les interfaces acceptent l’héritage multiples.


I Héritage sémantique.
Exemple :

Équivalent Java :

28 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL

Exemple :

29 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL
La précompilation d’un contrat IDL :

30 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL
Exemple :

Précompilation Java :

31 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL
Exercice 1 : Écrire un fichier IDL qui représente l’interface d’une
calculatrice, tel que :
I elle contient les méthodes : ajouteMemoire, soustraitMemoire,
multiplieMemoire et miseAZero.
I Chacune de ces méthodes prend un unique paramètre en in de
type double (sauf miseAZero qui ne prend pas de paramètre).
I Elles mettent à jour la mémoire mais ne renvoient pas
d’information au client.
I La méthode diviseMemoire doit lever une exception en cas de
tentative de division par zéro.
I elle comporte deux autres méthodes : incrementer et
decrementer.
32 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IDL
Correction :

33 / 38
Système Distribué avec CORBA

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.

34 / 38
Système Distribué avec CORBA

L’architecture de CORBA
L’IOR

IOR (Interoperable Object Reference)

I Les références d’objets CORBA.


I Les IORs se composent de manière codé de :
I l’adresse IP de la machine Internet où est localisé l’objet.
I un port IP pour se connecter au serveur de l’objet.
I une clé pour désigner l’objet dans le serveur.
I Exemple :

I IOR est stocké dans un service de nom (Naming Service).


35 / 38
Système Distribué avec CORBA

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.

36 / 38
Système Distribué avec CORBA

L’architecture de CORBA
Les services

Les services CORBA =⇒ bibliothèques pour augmenter la qualité


du service.

37 / 38
Système Distribué avec CORBA

L’architecture de CORBA
Les services

I Service de nommage : service d’annuaire CORBA.


I Service évènement : envoyer des évènements asynchrones
entre applications.
I Service de concurrence : gérer les accès concurrent aux
serveurs.
I Service de sécurité : gérer les accès sécurisés aux serveurs
(identification, confidentialité ...)
I ....

38 / 38

Vous aimerez peut-être aussi