IUT Nancy Charlemagne Travaux Dirigés
Programmation Distribuée S4
Java et RMI – Annuaire
• Package à utiliser : java.rmi, java.rmi.registry
Récupérez le fichier “TDAddressBook.zip” dans l'ENT et décompressez-le sur votre machine.
Cette archive contient tout le nécessaire pour exécuter une mini-application client/serveur de
gestion d'un carnet d'adresses.
Elle contient 3 répertoires correspondant à des packages:
•le package addressBookClient contient le code compilé de la partie cliente,
•le package addressBookServer contient le code du serveur,
•le package addressBook contient le source de l'interface et la classe utilisée dans
l'interface.
Pour rappel, prenez le temps de relire la partie du cours de Complément Java traitant des package et
classpath (disponible sur arche), vous allez vite être confrontés à des difficultés liées à ces
notions.
Exercice 1 :
Démarrez cette application à partir du répertoire dans lequel l'archive a été décompressée :
•lancer rmiregistry (attention : le classpath DOIT être vide),
•lancez le serveur (addressBookServer.AddressBookServer),
•lancez le client. Le client reçoit en paramètre le nom de la machine serveur. Essayez avec
votre serveur (localhost) puis avec le même client, accédez au serveur de votre voisin.
Vérifiez que vous arrivez à vous connecter au serveur lancé par votre enseignant.
Écrivez les scripts permettant d’effectuer les bonnes opérations dans l'ordre (un script pour lancer
rmiregistry, un script pour le lancement du client, un pour le lancement du serveur).
Exercice 2 :
Créez un package monClient et écrivez votre propre client. Utilisez l'interface
AddressBook.java qui est fournie. SURTOUT NE LA MODIFIEZ PAS. Dans votre client,
faites quelques “get” pour récupérer des entrées, puis quelques “add” pour en ajouter. Vérifiez
que ces entrées sont bien insérées.
Le serveur est enregistré sous le nom 'AddressBook' dans l'annuaire rmiregistry (faites
particulièrement attention à l'orthographe et aux majuscules).
Faites valider votre client en vous connectant au serveur lancé par votre enseignant.
Exercice 3 :
Écrivez votre propre serveur dans un package monServeur.
Vous allez séparer le serveur en deux parties
•une classe MonAddressBook chargée d'implémenter le service distant et de répondre aux
demandes du client