Remote Method Invocation en Java (RMI)
Mod´
elisation et construction des applications r ´
eparties
(Module M-4102C)
J. Christian Attiogb ´
e
Fevrier 2015
J. Christian Attiogb´
e (Fevrier 2015) Remote Method Invocation en Java (RMI) 1 / 24
Introduction : Remote Method Invocation (RMI)
RMI : extension objet de RPC
Le m´
ecanisme RMI est l’extension aux concepts OBJET, du Remote
Procedure Call (RPC).
Principe g ´
en´
eral du RMI
Le RMI permet, de la mˆ
eme mani`
ere que le RPC, d’appeler une
m´
ethode sur une machine distante. La machine distante offre `
a travers
une application, un objet Oaccessible `
a distance ; les m´
ethodes de O
sont ainsi appel´
ees `
a distance par des applications dites clientes.
La machine distante doit ˆ
etre connue des applications clientes.
L’objet offert `
a distance et ses m´
ethodes doivent ˆ
etre connues des
machines clientes.
J. Christian Attiogb´
e (Fevrier 2015) Remote Method Invocation en Java (RMI) 2 / 24
Principe du Remote Procedure Call (RPC)
Principe du Remote Procedure Call
Machine C Machine S
procedure p(...)
Processus PC
debut
fin
p(a, b, ...)
Figure : Principe du RPC
J. Christian Attiogb´
e (Fevrier 2015) Remote Method Invocation en Java (RMI) 3 / 24
Principe du Remote Procedure Call (RPC)
Int´
erˆ
et et difficult´
es du RPC
Structuration simple du code
du client
Abstraction du r´
eseau
Facilit´
e des mises `
a jour
Complexit´
e de la gestion des
param`
etres
Complexit´
e de la s´
emantique
Difficult´
es de gestion des
pannes (clients ou serveur)
Gestion des aspects
h´
et´
erog´
en´
eit´
e
J. Christian Attiogb´
e (Fevrier 2015) Remote Method Invocation en Java (RMI) 4 / 24
Principe du Remote Procedure Call (RPC)
Mise en œuvre du RPC
L’interaction RPC est mise en œuvre par une structuration en couche.
Machine C Machine S
procedure p(...)
Processus PC
p(a, b, ...)
communic. logique
communic. physique
1
2 3
45
67
8
talon serveur
talon client liaison établie
Figure : Interaction client/serveur avec RPC
Pour que cela marche, le client doit donc connaitre l’environnement du
serveur.
J. Christian Attiogb´
e (Fevrier 2015) Remote Method Invocation en Java (RMI) 5 / 24
Principe du Remote Procedure Call (RPC)
Mise en place de l’environnement du serveur
La proc´
edure appel´
ee `
a distance est au pr´
ealable publi´
ee via un
annuaire (serveur de noms : nomProc´
edure adrServeur, numPort).
L’annuaire sera interrog´
e par les clients avant de pouvoir communiquer
avec les serveurs.
Machine C Machine S
procedure p(...)
Processus PC
p(a, b, ...)
communic. logique
communic. physique
1
2
3
45
6
7
8
talon serveur
talon client annuaire
9
Figure : Principe du RPC
Approfondissements : passage de param`
etres, repr´
esentation XDR,
portmapper, rpcgen, ...
J. Christian Attiogb´
e (Fevrier 2015) Remote Method Invocation en Java (RMI) 6 / 24
Principe du Remote Procedure Call (RPC)
Remote Method Invocation en Java
En Java, une application ordinaire s’ex´
ecute dans la machine virtuelle
locale.
Dans le cadre des applications r´
eparties, le m´
ecanisme RMI permet
d’appeler et d’ex´
ecuter une m´
ethode dans une machine virtuelle
distante, diff´
erente de celle de l’application appelante.
J. Christian Attiogb´
e (Fevrier 2015) Remote Method Invocation en Java (RMI) 7 / 24
Principe du Remote Procedure Call (RPC)
Principe du m´
ecanisme RMI en Java
Une application objet Java offre sur une machine distante un objet
accessible `
a distance et dont les m´
ethodes peuvent ˆ
etre
invoqu´
ees.
L’application serveur, construit un objet accessible `
a distance, et
l’enregistre aupr`
es d’un serveur rmi, pour le rendre visible des
applications clientes.
Java offre pour cela le package java.rmi avec plusieurs
sous-packages java.rmi.server , java.rmi.dgc, ...
J. Christian Attiogb´
e (Fevrier 2015) Remote Method Invocation en Java (RMI) 8 / 24
Principe du Remote Procedure Call (RPC)
Principe du m´
ecanisme RMI en Java
Au cœur du principe Java RMI se trouvent,
d’une part un objet accessible `
a distance OD (cr´
e´
e par le cˆ
ot´
e
serveur),
d’autre part
la classe stub (talon) qui repr´
esente l’objet OD cˆ
ot´
e client et
la classe skeleton (squelette) qui repr ´
esente l’objet OD cˆ
ot´
e
serveur.
L’ind´
ependance et la transparence des serveurs est r´
ealis´
ee par le
m´
ecanisme d’annuaire rmi qui contient les objets publi´
es et les
serveurs qui les publient.
Lexclusion mutuelle des acc`
es aux objets est assur´
ee par le
m´
ecanisme de synchronisation de Java
Les applications clientes s’adressent d’abord `
a l’annuaire rmi pour
pouvoir ´
etablir le lien avec les serveurs d’objets.
J. Christian Attiogb´
e (Fevrier 2015) Remote Method Invocation en Java (RMI) 9 / 24
Principe du Remote Procedure Call (RPC)
M´
ecanisme Java RMI : Serveur
serveur de nom
rmi
obj accessible
obj accessible
obj accessible
1. création objet
Appli. serveur
obj accessible
2. enregistrement
Figure : Cr ´
eation et publication d’un objet accessible `
a distance
J. Christian Attiogb´
e (Fevrier 2015) Remote Method Invocation en Java (RMI) 10 / 24
1 / 12 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !