0% ont trouvé ce document utile (0 vote)
17 vues6 pages

TP - AR - Java RMI

Le document présente Java RMI, un mécanisme pour l'invocation de méthodes sur des objets distants, facilitant le développement d'applications réparties. Il décrit une application de service de calcul réparti avec des méthodes d'addition et de soustraction, en fournissant des exemples de code pour l'interface, l'implémentation du serveur et du client. Le document aborde également les configurations possibles pour exécuter l'application sur une ou deux machines, en soulignant l'importance de la connectivité réseau.

Transféré par

karamokoamy879
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
17 vues6 pages

TP - AR - Java RMI

Le document présente Java RMI, un mécanisme pour l'invocation de méthodes sur des objets distants, facilitant le développement d'applications réparties. Il décrit une application de service de calcul réparti avec des méthodes d'addition et de soustraction, en fournissant des exemples de code pour l'interface, l'implémentation du serveur et du client. Le document aborde également les configurations possibles pour exécuter l'application sur une ou deux machines, en soulignant l'importance de la connectivité réseau.

Transféré par

karamokoamy879
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 PDF, TXT ou lisez en ligne sur Scribd

TP Applications Reparties : Java RMI

Java RMI (Remote Method Invocation) est un mécanisme fourni par Java pour
permettre l'invocation de méthodes sur des objets distants, facilitant ainsi le
développement d'applications réparties en Java.
Voici un exemple d'application répartie utilisant Java RMI :
Cette application met en œuvre un service de calcul réparti où les méthodes
d'addition et de soustraction sont définies dans une interface CalculService. Le
serveur implémente cette interface et rend le service disponible à l'aide de Java
RMI. Le client utilise Java RMI pour rechercher et invoquer les méthodes du
service distant.

Application de Service de Calcul Réparti avec Java RMI

1. Définition de l'interface du service :

import [Link];
import [Link];

public interface CalculService extends Remote {


int addition(int a, int b) throws RemoteException;
int soustraction(int a, int b) throws RemoteException;
}
2. Implémentation du service :

import [Link];
import [Link];
public class CalculServiceImpl extends UnicastRemoteObject implements
CalculService {
protected CalculServiceImpl() throws RemoteException {
super();
}

public int addition(int a, int b) throws RemoteException {


return a + b;
}

public int soustraction(int a, int b) throws RemoteException {


return a - b;
}
}
3. Création du serveur :
import [Link];
import [Link];

public class Serveur {


public static void main(String[] args) {
try {
CalculService calculService = new CalculServiceImpl();
Registry registry = [Link](1099);
[Link]("CalculService", calculService);
[Link]("Serveur prêt.");
} catch (Exception e) {
[Link]("Erreur sur le serveur : " + [Link]());
[Link]();
}
}
}
4. Création du client :

import [Link];
import [Link];

public class Client {


public static void main(String[] args) {
try {
Registry registry = [Link]("localhost", 1099);
CalculService calculService = (CalculService)
[Link]("CalculService");
[Link]("Addition : " + [Link](5, 3));
[Link]("Soustraction : " + [Link](5, 3));
} catch (Exception e) {
[Link]("Erreur sur le client : " + [Link]());
[Link]();
}
}
}
5. Compilation et exécution :
# Compilation
javac *.java

# Lancement du serveur
java Serveur

# Lancement du client (dans un autre terminal)


java Client

Implémentation de l’Application de Service de Calcul Réparti


L'implémentation d'une application de service de calcul réparti avec Java RMI peut
se faire sur une seule machine ou sur deux machines différentes, en fonction de vos
besoins et de votre configuration système.

1- Sur une seule machine :

 Implémentation :

 Serveur RMI et Client RMI :


Vous pouvez implémenter à la fois le serveur RMI et le client RMI sur la même
machine.
Compilez et exécutez le serveur RMI et le client RMI sur la même machine.
 Configuration :
 Registre RMI :
Démarrez le registre RMI sur le même ordinateur en utilisant la commande
rmiregistry.
Assurez-vous que le port utilisé par le registre RMI (par défaut 1099) est disponible.
 Connexion :
Le client se connectera au registre RMI sur localhost (ou l'adresse IP de la machine)
pour récupérer l'objet distant.
2- Sur deux machines différentes :

 Implémentation :
 Serveur RMI :
Implémentez le serveur RMI sur une machine.
Compilez et exécutez le serveur RMI sur cette machine.

 Client RMI :
Implémentez le client RMI sur une autre machine.
Compilez et exécutez le client RMI sur cette autre machine.
 Configuration :
 Registre RMI :
Démarrez le registre RMI sur la machine hébergeant le serveur RMI en utilisant la
commande rmiregistry.
Assurez-vous que le port utilisé par le registre RMI (par défaut 1099) est accessible
depuis l'extérieur.
 Connexion :
Le client se connectera au registre RMI sur l'adresse IP de la machine hébergeant le
serveur RMI.
Remarques :
Assurez-vous que les pare-feux des deux machines autorisent la communication sur
les ports nécessaires pour RMI.
Configurez les adresses IP et les ports en conséquence dans le code du client et du
serveur.
Sur deux machines différentes, assurez-vous que les deux machines sont connectées
au même réseau local ou qu'elles sont accessibles via Internet si elles sont sur des
réseaux différents.
Quelle que soit la configuration choisie, assurez-vous que les machines peuvent se
voir et communiquer entre elles via le réseau pour que la communication RMI
fonctionne correctement.

Vous aimerez peut-être aussi