Flux rss
Collection CommentÇaMarche.net
Introduction

Architecture de RMI (Remote Method Invocation)

 
Bookmark Ajouter aux favoris / Partager

Architecture de RMI

L'architecture de RMI est schématisée ci-dessous :

Architecture RMI

Lorsqu'un objet instancié sur une machine cliente désire accèder à des méthodes d'un objet distant, il effectue les opérations suivantes :

  1. il localise l'objet distant grâce à un service de désignation : le registre RMI
  2. il obtient dynamiquement une image virtuelle de l'objet distant (appelée stub ou souche en français). Le stub possède exactement la même interface que l'objet distant.
  3. Le stub transforme l'appel de la méthode distante en une suite d'octets, c'est ce que l'on appelle la sérialisation, puis les transmet au serveur instanciant l'objet sous forme de flot de données. On dit que le stub "marshalise" les arguments de la méthode distante.
  4. Le squelette instancié sur le serveur "désérialise" les données envoyées par le stub (on dit qu'il les "démarshalise"), puis appelle la méthode en local
  5. Le squelette récupère les données renvoyées par la méthode (type de base, objet ou exception) puis les marshalise
  6. le stub démarshalise les données provenant du squelette et les transmet à l'objet faisant l'appel de méthode à distance

Mise en oeuvre de RMI

Pour créer une application avec RMI il suffit de procéder comme suit :

  1. définir la classe distante. Celle-ci doit dériver de java.rmi.server.UnicastRemoteObject (utilisant elle-même les classes Socket et SocketServer, permettant la communication par protocole TCP)
  2. définir l'interface pour la classe distante. Celle-ci doit implémenter l'interface java.rmi.Remote et déclarer les méthodes publiques globales de l'objet, c'est-à-dire les méthodes partageables. De plus ces méthodes doivent pouvoir lancer une exception de type java.rmi.RemoteException.
  3. créer les classes pour le stub et le squelette grâce à la commande rmic
  4. Lancer le registre RMI et lancer l'application serveur, c'est-à-dire instancier l'objet distant. Celui-ci lors de l'instanciation créera un lien avec le registre
  5. Créer un programme client capable d'accèder aux méthodes d'un objet sur le serveur grâce à la méthode Naming.lookup()
  6. Compiler l'application cliente
  7. Instancier le client


Dernière modification le mardi 14 octobre 2008 à 17:40:30.Ce document intitulé « Architecture de RMI (Remote Method Invocation) » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Introduction à RMI (Remote Method Invocation) Introduction à RMI RMI (Remote Method Invocation) est une API Java permettant de manipuler des objets distants (c'est-à-dire un objet instancié sur une autre machine virtuelle, éventuellement sur une autre machine du réseau) de manière... www.commentcamarche.net/contents/rmi/rmiintro.php3
Explications JAVA RMI Bonjour, Je débute en Java RMI et je voudrais quelques indications. 1) Qu'est ce qu'une API ? 2) L’interface c’est partagé entre le client et le serveur, et ça défini un « contrat » entre le client et le serveur, c’est ça ? 3) que veut dire que RMI... www.commentcamarche.net/forum/affich-6322820-explications-java-rmi
[Java][RMI] Problème parametrage RMI Salutations, ;-) J'ai un petit problème avec RMI. Lorsque j'execute, j'ai l'erreur suivante : Erreur 'machin machin' java.rmi.ServerException RemoteException occurred in server thread; nested exception is: java.rmi.UnmarshalException: error... www.commentcamarche.net/forum/affich-304301-java-rmi-probleme-parametrage-rmi
Qu'est ce que l'architecture réseau ?Qu'est ce que l'architecture réseau ? Définition Si l'on s'appuie sur une définition concrète, c'est un édifice fonctionnel composé d'équipements de transmission, de logiciels et protocoles de communication et d'une d'infrastructure filaire ou... www.commentcamarche.net/faq/sujet-17406-qu-est-ce-que-l-architecture-reseau
[JAVA]Cast de Remote avec RMISalut, je galère un peu pour faire tourner RMI avec Eclipse. Un peu d'aide serait grandement appréciée ! J'ai créé deux packages, qui correspondent au client et au serveur de l'appli que je veux distribuer : STEU_client STEU_server le serveur... www.commentcamarche.net/forum/affich-3177433-java-cast-de-remote-avec-rmi
Excecution d'un programme rmiBonjour, s'il vous plait j'ai écrit un code rmi constitué d'une interface qui extends de remote d'une classe qui extends de unicastremoteObject et qui implement cet interface et d'une troisième classe qui fait appel à l'interface distante ensuite pour... www.commentcamarche.net/forum/affich-12448012-excecution-d-un-programme-rmi
Probléme Application remote iphone (Résolu)Bonjour, J'ai telecharger l'application Remote sur le App Store pour mon I-Phone ( officiel ). Hors cette application fonctionne une fois sur xx. 99% des essais est un echec car la bibliothéque est introuvable. Mais ca a deja fonctionné pourtant, je... www.commentcamarche.net/forum/affich-7389577-probleme-application-remote-iphone
Télécharger Microsoft UAA (Universal Audio Architecture) Bus driverLa nouvelle architecture audio UAA est une architecture de pilote de classe conçue pour les solutions audio d'ordinateur personnel prises en charge par les systèmes d'exploitation Microsoft Windows. Un périphérique audio conforme à UAA est en... www.commentcamarche.net/telecharger/telecharger-34056544-microsoft-uaa-universal-audio-architecture-bus-driver
Télécharger Architecture 3DArchitecture 3D est un logiciel de conception d’architecture en 3D. Grâce l’assistant de construction utilisateur pourra oncevoir rapidement et facilement sa propre maison en 3D. L’utilisateur pourra insérer : les murs, portes et fenêtres par simple... www.commentcamarche.net/telecharger/telecharger-34056868-architecture-3d
Télécharger 3D Architecture by LiveCAD3D Architecture by LiveCAD est la solution en matière d’architecture et de construction sur PC. Que vous soyez décorateurs d’intérieur, designers ou simple particulier souhaitant un outil complet et intuitif, pour visualiser en 3D vos... www.commentcamarche.net/telecharger/telecharger-34058305-3d-architecture-by-livecad
Réseaux - Architecture client/serveur à 3 niveauxPrésentation de l'architecture à 2 niveaux L'architecture à deux niveaux (aussi appelée architecture 2-tier, tier signifiant rangée en anglais) caractérise les systèmes clients/serveurs pour lesquels le client demande une ressource et le serveur la... www.commentcamarche.net/contents/cs/cs3tier.php3
Architecture des dispositifs de courants porteurs en ligne (CPL)Architecture en intérieur (Indoor) Les solutions CPL commercialisées à ce jour, de type Homeplug pour l'indoor, sont des solutions parfaites pour étendre le réseau local et partager l'accès Internet haut débit existant, notamment à la maison ou... www.commentcamarche.net/contents/cpl/cpl-architecture.php3
Architecte de systèmes d'informationArchitecte de systèmes d'information L'architecte de systèmes d'information conçoit l'architecture du système d'information, c'est-à-dire qu'il conçoit les différentes briques du système d'information (SI) et leur imbrication et est chargé de leur... www.commentcamarche.net/contents/metiers-informatique/architecte-si.php3