0% ont trouvé ce document utile (0 vote)
6 vues3 pages

TP RPC RMI Detaille

Ce document décrit un TP sur l'implémentation d'un mini middleware RMI en Java, visant à comprendre les appels de méthodes distantes via RPC/RMI. Il présente les composants du système, la structure des messages échangés, et détaille les étapes de réalisation d'appels distants simples, d'invocations génériques avec réflexion, ainsi que la création d'un registre de services. Le TP est divisé en trois parties, chacune avec des objectifs spécifiques et un barème de points.

Transféré par

Youssra EL Bouzaidi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues3 pages

TP RPC RMI Detaille

Ce document décrit un TP sur l'implémentation d'un mini middleware RMI en Java, visant à comprendre les appels de méthodes distantes via RPC/RMI. Il présente les composants du système, la structure des messages échangés, et détaille les étapes de réalisation d'appels distants simples, d'invocations génériques avec réflexion, ainsi que la création d'un registre de services. Le TP est divisé en trois parties, chacune avec des objectifs spécifiques et un barème de points.

Transféré par

Youssra EL Bouzaidi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

TP – RPC et RMI : Implémentation d’un Mini Middleware RMI

Objectif du TP : comprendre le principe des appels de méthodes distantes (RPC/RMI) en


implémentant une version simplifiée d’un système RMI en Java.

1. Rappels théoriques
Les RPC (Remote Procedure Call) permettent à un programme d’appeler une fonction située
sur une autre machine comme si elle était locale. RMI (Remote Method Invocation)
généralise ce principe aux objets.

2. Architecture du système
Le système comporte les composants suivants :

- Client : invoque une méthode distante

- Proxy (Stub) : transforme l’appel en requête réseau

- Serveur : exécute la méthode demandée

- Registry : associe un nom à un objet distant

3. Structure des messages


Les échanges entre client et serveur utilisent deux objets sérialisables :

Request :
- serviceName
- methodName
- paramTypes
- args

Response :
- ok
- result
- error

4. Partie 1 – Version simple : appel distant (8 pts)


Objectif : réaliser un appel distant simple avec une seule méthode.

Étape 1 : créer l’interface distante suivante :

public interface RemoteService {


String getMessage() throws Exception;
}
Étape 2 : implémenter la classe serveur RemoteServiceImpl qui retourne un message.

Étape 3 : implémenter un serveur TCP qui :

- attend une requête

- exécute la méthode demandée

- renvoie le résultat au client

Étape 4 : implémenter un proxy côté client permettant d’appeler la méthode distante.

5. Partie 2 – Invocation générique avec Reflection (8 pts)


Objectif : permettre l’appel de plusieurs méthodes distantes.

Nouvelle interface :

public interface RemoteService {


int add(int a, int b) throws Exception;
int multiply(int a, int b) throws Exception;
String getServerName() throws Exception;
}

Étapes :

1. Modifier Request pour transporter le nom de la méthode et les arguments.

2. Utiliser Java Reflection côté serveur pour invoquer dynamiquement la méthode.

3. Gérer les erreurs si la méthode n’existe pas.

6. Partie 3 – Implémentation d’un registre (4 pts)


Le registre permet d’associer un nom de service à un objet distant. Le client peut ensuite
retrouver ce service grâce à son nom.

Fonctions du registre :

- bind(String serviceName, String host, int port)

- lookup(String serviceName)

7. Programme de test
Le programme client doit :

1. rechercher le service dans le registre

2. appeler les méthodes distantes

3. afficher les résultats obtenus


Barème
Partie 1 : 8 points
Partie 2 : 8 points
Partie 3 : 4 points

Vous aimerez peut-être aussi