Institut Supérieur d'Informatique et de AU :2023/2024
Multimédia de Gabès
Enseignante: E. Ben Abdallah
Filière : FIGL1, FISE1
Matière: Systèmes et applications réparties
TP3 : java RMI
Exercice 1 :
Nous disposons d’un service qui représente un contrôleur de température TemperatureSensor
qui offre les opérations de gestion de la température d’un système industriel. Les méthodes
offertes par ce service sont les suivantes:
void augmenterTemp (double tempVal) { }
void diminuerTemp (double tempVal) { }
double lire_temp () { }
1. Quelles sont les étapes nécessaires pour le développement d’une application distribuée
avec RMI ?
2. On souhaite rendre chacune de ces méthodes accessibles à distance de manière à ce
qu’elles définissent l’interface TemperatureSensorInterface entre le client et le serveur.
Ecrire cette interface
3. Déduire la classe TemperatureSensor qui matérialise le service qui offre les opérations
augmenterTemp(), diminuerTemp() et lire_temp().
4. Développer le programme du serveur Serveur.java sachant que le service de noms doit
être activé sur le port numéro 1099.
5. Compléter le programme du client Client.java qui doit être lancé à partir d’une autre
machine
Exercice 2 : Gestion à distance de bibliothèque de livres
Utiliser l’exercice 2 TP1 pour céer une application répartie de gestion de bibliothèque de
livre.
1. Application Serveur
Cette application permet de créer une bibliothèque de livres.
Chaque livre a les attributs suivants : titre, auteur, année de publication et nombre
d'exemplaires disponibles.
Utilisez les collections pour stocker les livres, les exceptions pour gérer les opérations de
manière appropriée, les flux d'entrée/sortie pour sauvegarder et charger la bibliothèque depuis
un fichier, et les interfaces pour définir des fonctionnalités communes.
Tâches à réaliser :
1. Créez une interface Empruntable avec une méthode emprunter qui réduit le
nombre d'exemplaires disponibles d'un livre et une méthode retourner qui augmente
le nombre d'exemplaires disponibles. Les deux méthodes prennent en paramètre le
nom du livre et une méthode Affichagerlivresdisponibles.
2. Créez une classe Livre Ajoutez les attributs nécessaires (titre, auteur, année de
publication, nombre d'exemplaires disponibles) et les méthodes d'accès appropriées.
3. Créez une classe Bibliotheque qui implémente l'interface Empruntable et qui utilise
une collection pour stocker les livres. Ajoutez des méthodes pour :
• Ajouter un livre à la bibliothèque par son titre, auteur, année de publication et
nombre d'exemplaires disponibles
• Emprunter un livre (utilisez l'interface Empruntable).
• Retourner un livre (utilisez l'interface Empruntable).
• Afficher la liste des livres disponibles (utilisez l'interface Empruntable)
4. Créer une classe GestionBibliothèque (Serveur RMI) contenant la méthode main qui
permet de :
• Créer une bibliothèque
• Ajouter les livres suivants :
• Le Seigneur des Anneaux;J.R.R. Tolkien;1954;5
• Harry Potter à l'école des sorciers;J.K. Rowling;1997;8
• 1984;George Orwell;1949;3
• Le Petit Prince;Antoine de Saint-Exupéry;1943;6
• To Kill a Mockingbird;Harper Lee;1960;4
• Publier la référence de l’objet bibliothèque dans le registre RMI
2. Application Client
Effectuer les taches nécessaires pour pouvoir Emprunter et retourner des livres et afficher les
livre disponibles à chaque fois