ŀ
Série n° 2 (Java RMI)
Rappel du cours :
Développer une application avec RMI
1. Définir une interface distante (AppInterface.java).
2. Créer une classe implémentant cette interface (AppImpl.java).
3. Compiler cette classe (javac AppImpl.java).
4. Créer une application serveur (AppServer.java).
5. Compiler l’application serveur.
6. Créer les classes stub et skeleton à l’aide de rmic:
AppImpl_Stub.java et AppImpl_Skel.java
7. Démarrage du serveur de noms (registre) avec rmiregistry.
8. Lancer le serveur AppServer pour la création d’objets et leur enregistrement dans
rmiregistry.
9. Créer une classe cliente qui appelle des méthodes distantes de l’objet distant
(AppClient.java).
10. Compiler cette classe et la lancer.
Exercice 1
On se propose d’implémenter une première application « Hello World ! » en Java RMI.
L’interface HelloInterface comporte une méthode say() qui retourne un message.
1. Ecrire l’interface HelloInterface.java
2. Ecrire l’implémentation HelloImp.java de l’interface HelloInterface
3. Ecrire le serveur d’objets HelloServer.java.
4. Ecrire l’application du client Client.java.
Exercice 2
On se propose d’implémenter une application, en Java RMI, permettant d’inverser d’une
chaîne de caractères.
L’interface ReverseInterface comporte une méthode reverseString() qui inverse une
chaîne de caractères fournie par l’appelant.
1. Ecrire l’interface ReverseInterface.java
2. Ecrire l’implémentation Reverse.java de l’interface ReverseInterface
3. Ecrire le serveur d’objets ReverseServer.java.
4. Ecrire l’application du client ReverseClient.java.
Exercice 3
On cherche à développer une application, en Java RMI, permettant de gérer un compte
bancaire. Un client peut débiter ou créditer son compte d'un montant donné. Il peut aussi
consulter le solde du compte.
L’interface Compte comporte 3 méthodes : debiter( ) qui retire un montant donné du
compte, crediter( ) qui alimente le compte d’un montant donné et lireSolde( ) qui
retourne le solde du compte.
1. Ecrire l’interface Compte.java
2. Ecrire l’implémentation CompteImpl.java de l’interface Compte
3. Ecrire le serveur d’objets CompteServeur.java.
4. Ecrire l’application du client CompteClient.java.
Exercice 4
On cherche à réaliser un compteur accessible à distance en Java RMI. Il s'agit d'une
variable entière modifiable et consultable, pour laquelle le nombre de fois qu'elle a été
référencée est de plus consultable.
1. L’interface Compteur comporte 3 méthodes : incr( ) qui incrémente un entier,
getValue( ) qui renvoie la valeur de l’entier en argument et getAccess( ) qui retourne
le nombre de fois dont le compteur a été consulté. Ecrire cette interface.
2. Ecrire l’implémentation de l’objet distant CompteurImpl.java
3. Ecrire le serveur d’objets CompteurServeur.java
4. Ecrire l’application du client CompteurClient.java
5. Donner toutes les commandes nécessaires pour compiler et lancer l’application.