TP 4 - gestion de personnes en RMI
Le but de ce TP est de réaliser une application
distribuée de type client/serveur avec comme support de
communication Java RMI.
Le serveur gère une liste de personne. Une personne est définie
par 2 informations : son age et son nom (mêmes informations que
pour le TP2). Le serveur attribue à chaque personne un
identificateur unique.
Un client peut effectuer plusieurs requêtes :
- Proposer l'ajout d'une personne dans la liste gérée par le
serveur. Si la personne existait déjà, le serveur ne fait pas
d'ajout. Le serveur retourne ensuite au client l'identificateur de la
personne (identificateur généré si la personne était
nouvelle).
- Demander l'identificateur d'une personne en envoyant les
informations sur une personne au serveur. Si la personne n'existe pas,
le serveur retourne -1.
- Récupérer les informations concernant une personne à
partir de son identificateur. Si le client n'existe pas, une valeur
particulière est retournée par le serveur.
Pour vous aider dans votre développement, vous pouvez vous appuyer sur les
classes suivantes :
- Personne.java : classe gérant une personne
- DataManager.java : classe implémentant les opérations
décrites ci-dessus, avec notamment les opérations :
public synchronized int addPersonne(Personne p)
:
ajoute une personne dans la liste
public synchronized Personne getPersonne(int id) throws InvalidIdException
:
récupère les informations sur une personne à partir de son identificateur
public synchronized int getId(Personne p)
:
récupére l'identificateur d'une personne à partir de ses informations
Cette classe utilise l'exception InvalidIdException pour gérer le cas d'un identificateur non valide :
InvalidIdException.java