Vous êtes sur la page 1sur 2

INSAT 2009-2010

TP 2
Développement d’une application répartie Communicant
par RMI

I. Sujet

L’objectif de ce TP est d’écrire une application répartie permettant de gérer des comptes
bancaires. La technologie à utiliser est Java RMI.

Un serveur gérera tous les comptes bancaires et permettra à des clients de se connecter et
d’effectuer les opérations suivantes :

• Créer un compte en banque.


• Consulter la position d’un compte
• Ajouter une somme sur un compte
• Retirer une somme d’un compte.

Voici la déclaration des méthodes distantes :

void creer_compte(String id, double somme_initiale);


void ajouter(String id, double somme);
void retirer(String id, double somme);
Position position(String id);

Où id est une chaîne permettant d’identifier un compte et Position est une classe stockant le
solde du compte et la date (de type java.util.Date) de dernière opération :

// A compléter
public class Position
{
private double solde;
private Date derniereOperation;
public Position(double solde)
{
this.solde = solde;
this.derniereOperation = new Date();
}

}
1

GL2 | TP Applications Réparties


INSAT 2009-2010

II. Travail Demander

1. Ecrire une interface Banque qui déclare les méthodes distantes.

2. Ecrire la classe Compte qui permet de consulter la position d’un compte, d’ajouter et
de retirer une somme à un compte.

3. Ecrire une classe BanqueImpl qui gère la partie serveur de notre application
répartie. Les comptes seront stockés dans une Hashtable qui permettra de retrouver
un compte à partir de son identification.

4. Ecrire une classe BanqueClient qui gère la partie client de notre application répartie.
L’application présentera un petit menu (sous forme textuelle) permettant d’accéder
aux diverses méthodes.

5. Compiler toutes les classes, générer les stubs (rmic BanqueImpl …),

6. Lancer le serveur :

7. Lancer plusieurs clients et tester l’application répartie.

8. On veut maintenant que le serveur, prévienne le client quand le solde de son compte
devient négatif ou inférieur à une valeur choisie par le client. Quel mécanisme, vu en
cours, peut être utilisé ? Modifiez l’interface et les classes pour gérer cette situation
(partie optionnelle).

GL2 | TP Applications Réparties

Vous aimerez peut-être aussi