Flux rss
Collection CommentÇaMarche.net
 

Introduction à RMI (Remote Method Invocation)

Architecture
Bookmark Ajouter aux favoris / Partager

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 transparente pour l'utilisateur, c'est-à-dire de la même façon que si l'objet était sur la machine virtuelle (JVM) de la machine locale.

Ainsi un serveur permet à un client d'invoquer des méthodes à distance sur un objet qu'il instancie. Deux machines virtuelles sont donc nécessaires (une sur le serveur et une sur le client) et l'ensemble des communications se fait en Java.

On dit généralement que RMI est une solution "tout Java", contrairement à la norme Corba de l'OMG (Object Management Group) permettant de manipuler des objets à distance avec n'importe quel langage. Corba est toutefois beaucoup plus compliqué à mettre en oeuvre, c'est la raison pour laquelle de nombreux développeurs se tournent généralement vers RMI.

Structure des couches RMI

Les connexions et les transferts de données dans RMI sont effectués par Java sur TCP/IP grâce à un protocole propriétaire (JRMP, Java Remote Method Protocol) sur le port 1099.
A partir de Java 2 version 1.3, les communications entre client et serveur s'effectuent grâce au protocole RMI-IIOP (Internet Inter-Orb Protocol), un protocole normalisé par l'OMG (Object Management Group) et utilisé dans l'architecture CORBA.

La transmission de données se fait à travers un système de couches, basées sur le modèle OSI afin de garantir une interopérabilité entre les programmes et les versions de Java.

structure des couches RMI

  • Le stub (traduisez souche) et le skeleton (traduisez squelette), respectivement sur le client et le serveur, assurent la conversion des communications avec l'objet distant.
  • La couche de référence (RRL, remote Reference Layer) est chargé du système de localisation afin de fournir un moyen aux objets d'obtenir une référence à l'objet distant. Elle est assurée par le package java.rmi.Naming. On l'appelle généralement registre RMI car elle référence les objets.
  • La couche de transport permet d'écouter les appels entrants ainsi que d'établir les connexions et le transport des données sur le réseau par l'intermédiaire du protocole TCP. Les packages java.net.Socket et java.net.SocketServer assurent implicitement cette fonction.

Ainsi, une application client-serveur basé sur RMI met ainsi en oeuvre trois composantes :

  • une application cliente implémentant le stub
  • une application serveur implémentant le skeleton (squelette)
  • une application médiatrice (le registre RMI) servie par un processus tiers (rmiregistry)


Dernière modification le mardi 14 octobre 2008 à 17:40:30.Ce document intitulé « Introduction à 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.
Architecture de RMI (Remote Method Invocation) Architecture de RMI L'architecture de RMI est schématisée ci-dessous : 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 : il localise l'objet distant grâce... www.commentcamarche.net/contents/rmi/rmiarchi.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
[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 Radmin Remote ControlTravailler sur un ordinateur distant comme si vous étiez devant. Remote Administrator (Radmin) est un programme de commande à distance. Il vous permet d’accéder à votre ordinateur distant depuis plusieurs emplacements différents. Remote... www.commentcamarche.net/telecharger/telecharger-34058655-radmin-remote-control
Télécharger Atelier Web Remote CommanderSi vous vous souciez de la maintenance et de l’optimisation de votre ordinateur, même quand vous n’êtes devant, utilisez des programmes de commande à distance. Atelier Web Remote Commander (AWRC) est un outil puissants conçu pour la... www.commentcamarche.net/telecharger/telecharger-34058654-atelier-web-remote-commander
Télécharger Remote Shutdown DaemonQuand vous gérer plusieurs ordinateur sur un même réseau, il n'est pas très aisé de devoir éteindre tous les postes, donc se déplacer. Remote Shutdown Daemon and client est une méthode permettant d'éteindre un ou des ordinateurs à travers le LAN ou... www.commentcamarche.net/telecharger/telecharger-34055854-remote-shutdown-daemon
3Com WXR100 Remote Office Wireless LAN Switch (3CRWXR10095A)WXR 100 3 Com 10095A 10095A, Type:Switch, Administrable, Divers: Web interface management remotely over SSL or HTTPS; command line interface access remotely over SSH v2 or Telnet; SNMPv1 MIB II, SNMPv2, and SNMPv3, Indicateurs de statut:Link status... www.commentcamarche.net/guide/567187-3com-wxr100-remote-office-wireless-lan-switch-3crwxr10095a
Apple iPod Remote HeadphoneFilaire, Autonomie: , Bande passante: , Divers:Cable remote maintenance and earphone for Apple IPOD, Type:Filiaire, Type de batterie: , Poids:90.0 www.commentcamarche.net/guide-achat/apple-ipod-remote-headphone-360491-fiche-technique
Apple Earphones with Remote and MicFilaire, Bande passante écouteurs: Hz, Contrôle du volume, Design:In Ear, Divers:The remote and mic are supported only by iPod nano (4th generation), iPod classic (120GB), and iPod touch (2nd generation). Audio is supported by all iPod models, Type:Avec.. www.commentcamarche.net/guide/1161157-apple-earphones-with-remote-and-mic
XML-RPC (Remote Procedure Call)XML-RPC Le standard XML-RPC, défini depuis 1998, est un protocole basé sur XML permettant l'invocation de procédures à distance. Avec XML-RPX l'appel d'une www.commentcamarche.net/contents/web-services/xml-rpc.php3