SlideShare une entreprise Scribd logo
1  sur  10
(Remote Method Invocation)
Invoquer une méthode d’un objet distant
•objetDistant.methode();
Passer un Objet Distant en paramètre à
une méthode locale ou distante
• resultat=objetLocal.methode(objetDistant);
• resultat=objetDistant.methode(autreobjetDistant);
Client Serveur
Objet Distant
Attributs
Méthodes
Skeleton
Port = xxx
Naming Service : IP et Port
Stub
Port = xxx
Nom Objet Distant Ref Objet distant
Objet 1 Ref1 : IP/PORT/@m
Objet 2 Ref2 : IP/PORT/@m
1. Créer L’objet distant
2. Publier la
référence de
l’objet
3. Récupérer
la référence
de l’objet
4. Créer le
stub
5. Connexion
7. Appel
10. Résultat
7. Appel
11. Résultat
8. Appel 9. Résultat
(1) Créer les interfaces des objets distants
(2) Créer les implémentation des objets distants
(3) Créer le serveur RMI - générer le skeleton
(4) Créer le client RMI - générer le stub
(5) Déploiement Lancement
• Lancer l’annuaire RMIREGISTRY
• Lancer le serveur
• Lancer le client
• Doit Hériter de la classe Remote :
extends Remote
• Les méthodes doivent lever l’exception :
RemoteException :
throws RemoteException
• Les Objets utilisés doivent être sérializable.
• Doivent hériter de la classe :
UnicastRemoteObject
extends UnicastRemoteObject
• Doivent implémenter l’interface définit
précédement  Redéfinir tous les méthodes
• Posséder un constructeur sans ou avec
paramètres, permettant de lever l’exception :
RemoteException.
• Démarrer le service de nom (rmiregistry) :
LocateRegistry.createRegistry(1099)
;
• Instancier l’objet distant :
NomClasse noj = new NomClasse();
• Publier le référence de cette objet dans
l’annuaire :
Naming.rebind("rmi://NomServeur:109
9/NOBJ",noj);
• Créer le stub : Lire les référence de l’objet
distant dans l’annuaire :
<NomIntface> NomStub =
(<NomIntface>)
Naming.lookup("rmi://NomServeur:10
99/NOBJ");
• Appeler les méthodes de l’objet distant via le
stub :
NomStub.NomMethode()

Contenu connexe

Tendances

C# et .NET : Enigmes et puzzles
C# et .NET : Enigmes  et puzzlesC# et .NET : Enigmes  et puzzles
C# et .NET : Enigmes et puzzlesMicrosoft
 
Cpp2 : classes et objets
Cpp2 : classes et objetsCpp2 : classes et objets
Cpp2 : classes et objetsAbdoulaye Dieng
 
Formation C# - Cours 2 - Programmation procédurale
Formation C# - Cours 2 - Programmation procéduraleFormation C# - Cours 2 - Programmation procédurale
Formation C# - Cours 2 - Programmation procéduralekemenaran
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonAbdoulaye Dieng
 
Csharp2 : classes et objets
Csharp2 : classes et objetsCsharp2 : classes et objets
Csharp2 : classes et objetsAbdoulaye Dieng
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux javaInes Ouaz
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVABachir Benyammi
 
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fêteC# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fêteFabrice JEAN-FRANCOIS
 
Initiation au code : Ateliers en C# (applications desktop et mobile native)
Initiation au code : Ateliers en C# (applications desktop et mobile native)Initiation au code : Ateliers en C# (applications desktop et mobile native)
Initiation au code : Ateliers en C# (applications desktop et mobile native)Stéphanie Hertrich
 
Les fonctions lambdas en C++11 et C++14
Les fonctions lambdas en C++11 et C++14Les fonctions lambdas en C++11 et C++14
Les fonctions lambdas en C++11 et C++14Aurélien Regat-Barrel
 
Héritage et polymorphisme- Jihen HEDHLI
Héritage et polymorphisme- Jihen HEDHLIHéritage et polymorphisme- Jihen HEDHLI
Héritage et polymorphisme- Jihen HEDHLIJihenHedhli1
 
Une introduction à Javascript et ECMAScript 6
Une introduction à Javascript et ECMAScript 6Une introduction à Javascript et ECMAScript 6
Une introduction à Javascript et ECMAScript 6Jean-Baptiste Vigneron
 

Tendances (20)

Csharp2014
Csharp2014Csharp2014
Csharp2014
 
Langage C#
Langage C#Langage C#
Langage C#
 
C# et .NET : Enigmes et puzzles
C# et .NET : Enigmes  et puzzlesC# et .NET : Enigmes  et puzzles
C# et .NET : Enigmes et puzzles
 
C# langage & syntaxe
C#   langage & syntaxeC#   langage & syntaxe
C# langage & syntaxe
 
Cpp2 : classes et objets
Cpp2 : classes et objetsCpp2 : classes et objets
Cpp2 : classes et objets
 
Formation C# - Cours 2 - Programmation procédurale
Formation C# - Cours 2 - Programmation procéduraleFormation C# - Cours 2 - Programmation procédurale
Formation C# - Cours 2 - Programmation procédurale
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
Csharp2 : classes et objets
Csharp2 : classes et objetsCsharp2 : classes et objets
Csharp2 : classes et objets
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux java
 
Polymorphisme
PolymorphismePolymorphisme
Polymorphisme
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVA
 
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fêteC# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
 
Initiation au code : Ateliers en C# (applications desktop et mobile native)
Initiation au code : Ateliers en C# (applications desktop et mobile native)Initiation au code : Ateliers en C# (applications desktop et mobile native)
Initiation au code : Ateliers en C# (applications desktop et mobile native)
 
Introduction à jQuery
Introduction à jQueryIntroduction à jQuery
Introduction à jQuery
 
Les fonctions lambdas en C++11 et C++14
Les fonctions lambdas en C++11 et C++14Les fonctions lambdas en C++11 et C++14
Les fonctions lambdas en C++11 et C++14
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
02 java-socket
02 java-socket02 java-socket
02 java-socket
 
Héritage et polymorphisme- Jihen HEDHLI
Héritage et polymorphisme- Jihen HEDHLIHéritage et polymorphisme- Jihen HEDHLI
Héritage et polymorphisme- Jihen HEDHLI
 
Une introduction à Javascript et ECMAScript 6
Une introduction à Javascript et ECMAScript 6Une introduction à Javascript et ECMAScript 6
Une introduction à Javascript et ECMAScript 6
 

En vedette

Accès aux bases de données via jdbc
Accès aux bases de données via jdbcAccès aux bases de données via jdbc
Accès aux bases de données via jdbcRachid Lajouad
 
Sécurité des Systèmes Répartis- Partie 1
Sécurité des Systèmes Répartis- Partie 1 Sécurité des Systèmes Répartis- Partie 1
Sécurité des Systèmes Répartis- Partie 1 Lilia Sfaxi
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartisHeithem Abbes
 
Chapitre iii circuits séquentiels
Chapitre iii circuits séquentielsChapitre iii circuits séquentiels
Chapitre iii circuits séquentielsSana Aroussi
 
Présentation logique_sequentielle
 Présentation logique_sequentielle Présentation logique_sequentielle
Présentation logique_sequentielletoumed
 
les metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualitéles metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualitésoregh
 
Conférence evelyne
Conférence evelyneConférence evelyne
Conférence evelyneartherapie
 
Thanksgiving Dinners by Mrs. Suber's Class
Thanksgiving Dinners by Mrs. Suber's ClassThanksgiving Dinners by Mrs. Suber's Class
Thanksgiving Dinners by Mrs. Suber's ClassAmanda Ingalls
 
Rapport du Sénat sur la loi Dalo
Rapport du Sénat sur la loi DaloRapport du Sénat sur la loi Dalo
Rapport du Sénat sur la loi DaloHélène Seloger
 
How society is integrated into Environment solutions ?
How society is integrated into Environment solutions ? How society is integrated into Environment solutions ?
How society is integrated into Environment solutions ? Laura Braud
 
La prière contemplative dans la vie normale d’un chrétien
La prière contemplative dans la vie normale d’un chrétienLa prière contemplative dans la vie normale d’un chrétien
La prière contemplative dans la vie normale d’un chrétienGnazalé Stéphane
 
Présentation Léman Museomix 2015
Présentation Léman Museomix 2015Présentation Léman Museomix 2015
Présentation Léman Museomix 2015Leila BOUANANI
 
Mythesis talk presentation_28_june_2013
Mythesis talk presentation_28_june_2013Mythesis talk presentation_28_june_2013
Mythesis talk presentation_28_june_2013Ahmed Ammar Rebai PhD
 
Déclaration finale de lomé
Déclaration finale de loméDéclaration finale de lomé
Déclaration finale de loméRAC-F
 

En vedette (20)

Chap3 clientsrvr
Chap3 clientsrvrChap3 clientsrvr
Chap3 clientsrvr
 
Accès aux bases de données via jdbc
Accès aux bases de données via jdbcAccès aux bases de données via jdbc
Accès aux bases de données via jdbc
 
Structures donnee
Structures donneeStructures donnee
Structures donnee
 
Structures donneenew
Structures donneenewStructures donneenew
Structures donneenew
 
Qualite1
Qualite1Qualite1
Qualite1
 
Sécurité des Systèmes Répartis- Partie 1
Sécurité des Systèmes Répartis- Partie 1 Sécurité des Systèmes Répartis- Partie 1
Sécurité des Systèmes Répartis- Partie 1
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartis
 
Chapitre iii circuits séquentiels
Chapitre iii circuits séquentielsChapitre iii circuits séquentiels
Chapitre iii circuits séquentiels
 
Présentation logique_sequentielle
 Présentation logique_sequentielle Présentation logique_sequentielle
Présentation logique_sequentielle
 
les metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualitéles metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualité
 
Conférence evelyne
Conférence evelyneConférence evelyne
Conférence evelyne
 
Thanksgiving Dinners by Mrs. Suber's Class
Thanksgiving Dinners by Mrs. Suber's ClassThanksgiving Dinners by Mrs. Suber's Class
Thanksgiving Dinners by Mrs. Suber's Class
 
Rapport du Sénat sur la loi Dalo
Rapport du Sénat sur la loi DaloRapport du Sénat sur la loi Dalo
Rapport du Sénat sur la loi Dalo
 
How society is integrated into Environment solutions ?
How society is integrated into Environment solutions ? How society is integrated into Environment solutions ?
How society is integrated into Environment solutions ?
 
Joue avec m'oie
Joue avec m'oieJoue avec m'oie
Joue avec m'oie
 
Programmation 2014 2015-aga
Programmation 2014 2015-agaProgrammation 2014 2015-aga
Programmation 2014 2015-aga
 
La prière contemplative dans la vie normale d’un chrétien
La prière contemplative dans la vie normale d’un chrétienLa prière contemplative dans la vie normale d’un chrétien
La prière contemplative dans la vie normale d’un chrétien
 
Présentation Léman Museomix 2015
Présentation Léman Museomix 2015Présentation Léman Museomix 2015
Présentation Léman Museomix 2015
 
Mythesis talk presentation_28_june_2013
Mythesis talk presentation_28_june_2013Mythesis talk presentation_28_june_2013
Mythesis talk presentation_28_june_2013
 
Déclaration finale de lomé
Déclaration finale de loméDéclaration finale de lomé
Déclaration finale de lomé
 

Similaire à Chap4 cliserrmi

Similaire à Chap4 cliserrmi (6)

Java RMI
Java RMIJava RMI
Java RMI
 
Programmation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationProgrammation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulation
 
IF-RMI.pdf
IF-RMI.pdfIF-RMI.pdf
IF-RMI.pdf
 
rmi.pdf
rmi.pdfrmi.pdf
rmi.pdf
 
spring.pdf
spring.pdfspring.pdf
spring.pdf
 
applications-reparties
applications-repartiesapplications-reparties
applications-reparties
 

Plus de Rachid Lajouad

Plus de Rachid Lajouad (16)

4 representationprocessindustrielslastversion
4 representationprocessindustrielslastversion4 representationprocessindustrielslastversion
4 representationprocessindustrielslastversion
 
3 identification des systèmes
3 identification des systèmes3 identification des systèmes
3 identification des systèmes
 
2 correction des systèmes asservis
2 correction des systèmes asservis2 correction des systèmes asservis
2 correction des systèmes asservis
 
1 asservissements linéaires continus
1 asservissements linéaires continus1 asservissements linéaires continus
1 asservissements linéaires continus
 
Chap2 clientsrvr
Chap2 clientsrvrChap2 clientsrvr
Chap2 clientsrvr
 
Chap1 clientsrvr
Chap1 clientsrvrChap1 clientsrvr
Chap1 clientsrvr
 
Tests unitaires
Tests unitairesTests unitaires
Tests unitaires
 
La mesure logicielle
La mesure logicielleLa mesure logicielle
La mesure logicielle
 
Tableau de bord
Tableau de bordTableau de bord
Tableau de bord
 
Planifier projet
Planifier projetPlanifier projet
Planifier projet
 
Gestion de projet
Gestion de projetGestion de projet
Gestion de projet
 
Algorithmique v
Algorithmique vAlgorithmique v
Algorithmique v
 
Algorithmique iv
Algorithmique ivAlgorithmique iv
Algorithmique iv
 
Algorithmique iii
Algorithmique iiiAlgorithmique iii
Algorithmique iii
 
Algorithmique ii
Algorithmique iiAlgorithmique ii
Algorithmique ii
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 

Dernier

Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...maach1
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).FatimaEzzahra753100
 
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfalainfahed961
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSKennel
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptbentaha1011
 

Dernier (8)

Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
 
Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
 

Chap4 cliserrmi

  • 2. Invoquer une méthode d’un objet distant •objetDistant.methode(); Passer un Objet Distant en paramètre à une méthode locale ou distante • resultat=objetLocal.methode(objetDistant); • resultat=objetDistant.methode(autreobjetDistant);
  • 3.
  • 4. Client Serveur Objet Distant Attributs Méthodes Skeleton Port = xxx Naming Service : IP et Port Stub Port = xxx Nom Objet Distant Ref Objet distant Objet 1 Ref1 : IP/PORT/@m Objet 2 Ref2 : IP/PORT/@m 1. Créer L’objet distant 2. Publier la référence de l’objet 3. Récupérer la référence de l’objet 4. Créer le stub 5. Connexion 7. Appel 10. Résultat 7. Appel 11. Résultat 8. Appel 9. Résultat
  • 5.
  • 6. (1) Créer les interfaces des objets distants (2) Créer les implémentation des objets distants (3) Créer le serveur RMI - générer le skeleton (4) Créer le client RMI - générer le stub (5) Déploiement Lancement • Lancer l’annuaire RMIREGISTRY • Lancer le serveur • Lancer le client
  • 7. • Doit Hériter de la classe Remote : extends Remote • Les méthodes doivent lever l’exception : RemoteException : throws RemoteException • Les Objets utilisés doivent être sérializable.
  • 8. • Doivent hériter de la classe : UnicastRemoteObject extends UnicastRemoteObject • Doivent implémenter l’interface définit précédement  Redéfinir tous les méthodes • Posséder un constructeur sans ou avec paramètres, permettant de lever l’exception : RemoteException.
  • 9. • Démarrer le service de nom (rmiregistry) : LocateRegistry.createRegistry(1099) ; • Instancier l’objet distant : NomClasse noj = new NomClasse(); • Publier le référence de cette objet dans l’annuaire : Naming.rebind("rmi://NomServeur:109 9/NOBJ",noj);
  • 10. • Créer le stub : Lire les référence de l’objet distant dans l’annuaire : <NomIntface> NomStub = (<NomIntface>) Naming.lookup("rmi://NomServeur:10 99/NOBJ"); • Appeler les méthodes de l’objet distant via le stub : NomStub.NomMethode()