Atelier1 RMI 2023
Atelier1 RMI 2023
Atelier1 RMI 2023
Serveur
1. Créer l’objet distant
od: BanqueImpl
Client
4. Créer le stub Conversion(double mt):double
6.conversion(5) 11.res=50 8.conversion(5) 9.res=50
: STUB 5. Connexion : SKELETON
7. conversion(5) Port=x
10.res=50
2. Publier
3. Récupérer
la référence de la référence de
l’objet distant Naming Service : IP et Port connus l’objet distant
package rmi;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.List;
import metier.Compte;
public interface IBanqueRemote extends Remote {
public double conversion(double mt) throws RemoteException;
public Compte consulterCompter(int code) throws RemoteException;
public List<Compte> listComptes() throws RemoteException;
}
package metier;
import java.io.Serializable;
import java.util.Date;
public class Compte implements Serializable{
private int code;
private double solde;
private Date dateCreation;
public Compte() {
super();
}
public Compte(int code, double solde, Date dateCreation) {
super();
this.code = code;
this.solde = solde;
this.dateCreation = dateCreation;
}
// Getters et Setters
package rmi;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.jws.soap.SOAPBinding;
import metier.Compte;
public class BanqueRmiService extends UnicastRemoteObject implements IBanqueRemote {
public BanqueRmiService() throws RemoteException {
super();
}
@Override
public double conversion(double mt) throws RemoteException {
System.out.println("Conversion du montant "+mt);
return mt*3.32;
}
@Override
public List<Compte> listComptes() throws RemoteException {
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import rmi.BanqueRmiService;
public class ServeurRMI {
public static void main(String[] args) {
try {
//1. Demarrage par programmation de l'annuaire
LocateRegistry.createRegistry(1099);
//2. Creation de l'objet
BanqueRmiService od = new BanqueRmiService();
//4. Affichage de l'objet distant
System.out.println(od.toString());
//2. Publication la Ref de l'objet dans l'annuaire
Naming.rebind("rmi://localhost:1099/BK", od);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Dans l’IDE
Exécuter le serveur
Exécuter le client