RMI

Remote Method Invocation : invocation de méthodes à distance.

Besoin

Standardiser la communication entre objets distants depuis Java.

Analyse

RMI est l'API de manipulation d'objets distribués (distants) en Java. Elle fournit une relative illusion de localité.

Conception

A partir de l'interface d'un objet distant à accéder sont générés :

Les souches et skelettes pour accéder un tel objet sont générés par un outil.

L'objet serveur s'enregistre dans un annuaire afin d'être retrouvable par ses clients.

Les clients retrouvent l'objet distant et appellent ses méthodes via la souche installée de leur côté.

Implémentation

Tout objet Java publiant son interface pour des clients distants implémente java.rmi.Remote.

Les souches et skelettes sont générés par un compilateur RMI (rmic pour RMI Compiler) fournit dans le J2SDK.

L'objet serveur s'enregistre dans la RMI registry.

La seule différence dans les appels d'objets est que toute méthode est susceptible de lever une java.rmi.RemoteException.

RMI peut utiliser différents protocoles de transport entre des objets distants :

Notes

Voir