Fiche 4
Remote Method Invocation
Exercice1 :
Nous souhaitons réaliser une application client/serveur à base d’invocation de méthodes
(RMI). Enumérer les étapes nécessaires
Exercice 2 :
Pour un objet Exemple donner ce qui suit :
Nom de l’interface distante (Objet):
Nom d’Implémentation de l’interface distante
Nom du serveur :
Nom du client :
Quel est le rôle de Remote ?:
Exercice3
Nous disposons de deux services implantés sous forme d’objets ObjetString et
ObjetCalcul: Le premier réalise des opérations sur les chaînes de caractère, le second
réalise le calcul numérique. L’objet ObjetString offre une seule méthode NbOccurrences
qui calcule le nombre d’occurrences d’un caractère dans une chaîne de caractères (un
mot) et l’objet ObjetCalcul offre une seule méthode add qui calcule la somme de deux
nombres.
Ci-joint le code de chacune de ces méthodes.
public int NbOccurrences(String c, String mot) {
int longueur=[Link]();
int Nb=0;
for (int i=0; i<longueur; i++)
{
if (([Link](i, i+1)).equals(c))
Nb++;
}
return Nb; }
public int add (int a, int b) {
return a+b; }
a/ On souhaite rendre chacune de ces méthodes accessibles à distance. Donnez la
structure des interfaces qui seront partagées par le serveur et le client sachant que
chaque méthode appartient à un objet distinct.
b/. Compléter le code de ces méthodes afin qu’elles puissent gérer les erreurs dues à
leur appel à distance.
c/ pour qu’un objet soit accessible à distance, la classe correspondante doit hériter de la
classe UnicastRemoteObject. Implémenter l’interface correspondante définie en (a/).
Exercice4 (Optionnel)
Ecrire le code d’un calculateur distribué qui réalise les opérations : addition, soustraction,
multiplication et division.