Académique Documents
Professionnel Documents
Culture Documents
: 2023-2024
Faculté des Sciences de Monastir Développement d’application
Département des Sciences de l'Informatique réparties
Introduction :
Remote Method Invocation (RMI) est une API Java qui permet aux objets Java de faire appel à des
méthodes sur des objets Java distants.
Une application Client-Server utilisant les RMI met en œuvre 3 composantes logicielles :
Une application serveur,
Stub : un stub est une représentation (proxy) de l’objet distant chez le client. Il réside dans le
système client ; il agit comme une passerelle pour le programme client.
Une application cliente,
Squelette(skeleton) : c’est l’objet qui réside du côté serveur. Stub communique avec ce squelette
pour transmettre la requête à l’objet distant.
L’application médiatrice RMIRegistry dédiée :
o à l’enregistrement des objets distants du serveur qui sont accessibles aux clients.
o à l’association de noms à ces objets permettant ainsi de le référencer.
1
1. Abstraction orientée objet : Le RMI offre une approche orientée objet pour la communication distante.
Il permet aux objets sur une machine d'invoquer des méthodes d'objets situés sur une machine distante,
comme s'ils étaient locaux. Cette abstraction facilite la programmation et permet de concevoir des
systèmes distribués plus modulaires et évolutifs.
2. Gestion transparente de la communication : Contrairement aux sockets, le RMI gère de manière
transparente la communication entre les objets distants. Il prend en charge la sérialisation des objets et la
transmission des appels de méthodes à distance, masquant ainsi la complexité de la communication réseau.
Les développeurs peuvent se concentrer sur la logique métier de leur application plutôt que sur les détails
de la communication bas niveau.
3. RMI est plus fiable que les sockets. Il fournit une couche de sécurité et de gestion des erreurs qui peut
aider à protéger les données et à garantir la fiabilité des communications.
2
Exercice 1 :
1. Créer l’interface distante : Une interface Java qui étend Remote et définit les méthodes qui peuvent
être invoquées à distance.
3. Créer le Serveur RMI : un programme qui met en œuvre l'interface distante et s'enregistre auprès du
registre RMI pour permettre aux clients de le localiser. Le Registre RMI est un espace de noms sur
lequel tous les objets serveur sont placés. Chaque fois que le serveur crée un objet, il enregistre cet
objet auprès du registre RMI (en utilisant la méthode rebind). Ceux-ci sont enregistrés à l’aide
d’un nom unique appelé nom de liaison.
3
4. Créer le Client RMI : Un programme qui utilise l'interface distante pour invoquer des méthodes sur
des objets distants. Le client récupère l’objet dans le registre en utilisant son nom de liaison à l’aide
de la méthode lookup().
4
Serveur
Stub
Skeleton
5. Connexion