On pourra consulter au préalable les rappels sur la création des threads en Java.
RMI» de A. Wollrath et J. Waldo.
Il s'agit de permettre à des applications clientes (s'exécutant
localement) d'invoquer des méthodes sur des objets distants, c'est-à-dire
localisés dans une autre application (dans une autre JVM de la même machine
physique ou sur une autre machine accessible via Internet) communément
appelée serveur.
Le «package» java.rmi
et ses sous-packages
(java.rmi.server,
et java.rmi.dgc)
contiennent la définition de classes et d'outils permettant l'implantation et
l'utilisation d'objets distants.
Le mécanisme proposé permet à une application s'exécutant sur une
machine M1 de créer un objet et de le rendre accessible à d'autres
applications: cette application (et la machine M1) joue donc
le rôle de serveur.
Les autres applications manipulant un tel objet sont des
clients. Pour manipuler un objet distant,
un client récupère sur sa machine une représentation de l'objet
appelé talon/souche (stub) : ce talon implante
l'interface de l'objet distant et c'est via ce talon que le client pourra invoquer
des méthodes sur l'objet distant. Une telle invocation sera tranmise
au serveur (le protocole TCP est utilisé) afin d'en réaliser l'exécution.
Du côté du serveur un squelette (skeleton) a en charge la
réception des invocations distantes, de leur réalisation et de l'envoi des résultats.
Il s'agit donc de spécifier sous la forme d'une interface java l'ensemble des méthodes qui pourront être invoquées sur l'objet.
Cette interface sera connue à la fois du côté du client et du côté du serveur.
Détails
Cette implantation, sous forme d'une classe, permettra l'instanciation d'objets sur lesquelles des méthodes seront invocables à distance
par des clients.
Détails
C'est le premier rôle de l'application serveur. Un second est
de faire connaitre l'existence de l'objet par l'intermédiaire d'un service de nommage.
Détails