Quire
Interaction typique entre un client et un serveur
Interaction typique entre un client et un serveur Image: source and license

Remote method invocation, plus connu sous l'acronyme RMI est une interface de programmation (API) pour le langage Java qui permet d'appeler des méthodes distantes, sur le principe des ORB. L'utilisation de cette API nécessite l'emploi d'un registre RMI sur la machine distante hébergeant ces objets que l'on désire appeler au niveau duquel ils ont été enregistrés. Cette interface de programmation est très souvent utilisée en parallèle avec l'API d'annuaire JNDI ou encore avec la spécification de composants distribués transactionnels EJB du langage Java.

Cette bibliothèque, qui se trouve en standard dans Java SE, permet la communication via le protocole HTTP (ou IIOP, depuis la version 1.3 du JDK) entre des objets Java éloignés physiquement les uns des autres, autrement dit s'exécutant sur des machines virtuelles java distinctes. RMI facilite le développement des applications distribuées en masquant au développeur la communication client / serveur.

Cette bibliothèque entre en concurrence avec la norme CORBA maintenue par l'Object Management Group, et les produits qui la respectent, ou avec la technologie RPC dont l'un des acteurs est Microsoft.

Technologies#edit

RMI est basé sur TCP-IP, le Java Remote Method Protocol (JRMP). Une interopérabilité avec CORBA est assurée par RMI-IIOP.

Jusqu'à la version 5.0 du JSE, il fallait utiliser un compilateur de souche (stub) appelé RMIC avant tout enregistrement sur le registre RMI. Désormais, il est possible de les générer dynamiquement.

Bibliographie#edit

  • Annick Fron (2007). Architectures réparties en Java, (ISBN 978-2-10-051141-9).

Voir aussi#edit

Articles connexes#edit

Liens externes#edit

  • Portail de l’informatique

This article is mirrored from “Remote method invocation” on Français Wikipedia, revision 225283945, written by Wikipedia's contributors and licensed CC BY-SA 4.0. Editing it here creates a Quire copy with its own history.

Synced with Wikipedia revision 225283945 · 3 hours ago