La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Java Remote Method Invocation (RMI)

Présentations similaires


Présentation au sujet: "Java Remote Method Invocation (RMI)"— Transcription de la présentation:

1 Java Remote Method Invocation (RMI)
Par Achraf Gazdar

2 Plan Introduction Exemple d’un client-serveur d’Echo
Étapes de création de l’application : Serveur Client Compilation Exécution sur une même machine Exécution sur des machines différentes

3 Introduction Java RMI permet de créer des applications réseau où :
Le client et le serveur sont en Java Le client peut utiliser des objets situés sur le serveur comme s’ils étaient locaux La couche réseau devient transparente aux applications client/serveurs Application RMI : développement coté serveur + développement coté client

4 Exemple : Application « Echo »
msg1 Client Serveur [msg1]

5 Étape 1 : Application serveur (l’interface de l’objet serveur)
Un objet distant doit implémenter l’interface Remote de java.rmi Les méthodes distantes sont celles qui appartiennent à une interface dérivée de la classe Remote

6 Étape 2 : Application serveur (Écriture de l’objet serveur) I
Implémentation de l’interface distante précédente par une classe Cette classe doit dériver de UnicastRemoteObject qui permet l’invocation de méthodes distantes

7 Étape 2 : Application serveur (Écriture de l’objet serveur) II
Publication du service offert par le serveur dans le service annuaire Cet annuaire sera utiliser par les clients pour chercher les services du serveurs Publication à travers la méthode rebind de la classe Naming : Naming.rebind(String nom, Remote obj) nom : nom du service obj : objet serveur

8 Étape 2 : Application serveur (Écriture de l’objet serveur) III

9 Étape 3 : Application serveur (Compilation de la partie serveur)
Compilation du fichier interEcho.java de l’interface interEcho Compilation du fichier srvEcho.java de la classe srvEcho Obtention des .class : interEcho.class et srvEcho.class

10 Étape 4 : écriture du client I
On écrit un client à qui on passe en paramètre l’URL du serveur d’écho et qui : lit une ligne tapée au clavier l’envoie au serveur d’écho affiche la réponse que celui-ci envoie reboucle en 1 et s’arrête lorsque la ligne tapée est « fin »

11 Étape 4 : écriture du client II
Localisation du service par serveur=(interEcho) Naming.lookup(urlService); urlService : rmi://machine:port/nom_service

12 Étape 5 : Génération des .class nécessaires
Compilation du client et obtention du cltEcho.class Pour dialoguer avec le serveur le client a besoin d’une image du service serveur localement c’est le fichier de Stub Obtenu par : Exécution de la commande rmic srvEcho sur le serveur Obtention de deux fichiers : srvEcho_stub.class et srvEcho_Skel.class Copie de srvEcho_stub.class et de interEcho.class avec le client

13 Étape 5 : Génération des .class nécessaires (Résumé)
Côté serveur : interEcho.class srvEcho.class srvEcho_stub.class Côté client : cltEcho.class

14 Étape 6 : exécution de l’application sur une même machine
Préparatif : lancement du service d’annuaire start c:\borland\jbuilder\jdk15\bin\rmiregistry Lancement du serveur (à partir du répertoire du serveur) start c:\borland\jbuilder\jdk15\bin\java srvEcho Lancement du client : c:\borland\jbuilder\jdk15\bin\java cltEcho rmi://localhost/srvEcho

15 Exécution sur deux machines différentes
Client Linux : copier dans le même répertoire les .class suivants : cltEcho.class interEcho.class srvEcho_stub.class Serveur : dans le même répertoire il faut prévoir les .class suivants : srvEcho.class srvEcho_Skel.class


Télécharger ppt "Java Remote Method Invocation (RMI)"

Présentations similaires


Annonces Google