SlideShare une entreprise Scribd logo
(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);
Chap4 cliserrmi
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

Recommandé pour vous

C# langage & syntaxe
C#   langage & syntaxeC#   langage & syntaxe
C# langage & syntaxe

Visual Studio; .NET; C#; Syntaxe; Langage

visual studio; .net; c#; syntaxe; langage
Cpp2 : classes et objets
Cpp2 : classes et objetsCpp2 : classes et objets
Cpp2 : classes et objets

c++ : classes et objets

c++classeobjet
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

Deuxième partie de la formation C# du Club Microsoft Isep. Types de données, structures conditionnelles, structure de contrôle, utilisation de la console.

Chap4 cliserrmi
(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.

Recommandé pour vous

Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python

Objectif général : Développer en orienté objet avec Python Objectifs opérationnels : - Organiser le code grâce aux classes - Sécuriser une classe avec l’encapsulation - Réutiliser et factoriser du code avec l’héritage - Invoquer des méthodes de même nom, quel que soit le type d'objet sur lequel elles opèrent, sans avoir à effectuer au préalable une vérification de type grâce au polymorphisme

pythonclasseclass
Csharp2 : classes et objets
Csharp2 : classes et objetsCsharp2 : classes et objets
Csharp2 : classes et objets

Csharp2 : classes et objets

c sharpc#objet
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python

Objectif général : Acquérir les connaissances nécessaires à la programmation avec le langage Python Objectifs opérationnels : - Mémoriser des données primitives - Traiter des données - Communiquer avec l’extérieur - Contrôler le flux d’exécution des instructions - Mémoriser des données composites - Découper et réutiliser du code

pythontupleliste
• 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

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
Microsoft
 
C# langage & syntaxe
C#   langage & syntaxeC#   langage & syntaxe
C# langage & syntaxe
Mahfoud EL HOUDAIGUI
 
Cpp2 : classes et objets
Cpp2 : classes et objetsCpp2 : classes et objets
Cpp2 : classes et objets
Abdoulaye 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édurale
kemenaran
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
Abdoulaye Dieng
 
Csharp2 : classes et objets
Csharp2 : classes et objetsCsharp2 : classes et objets
Csharp2 : classes et objets
Abdoulaye Dieng
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
Abdoulaye Dieng
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux java
Ines Ouaz
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVA
Bachir 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ête
Fabrice 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
 
Introduction à jQuery
Introduction à jQueryIntroduction à jQuery
Introduction à jQuery
Abdoulaye Dieng
 
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
Aurélien Regat-Barrel
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
Abdoulaye Dieng
 
Héritage et polymorphisme- Jihen HEDHLI
Héritage et polymorphisme- Jihen HEDHLIHéritage et polymorphisme- Jihen HEDHLI
Héritage et polymorphisme- Jihen HEDHLI
JihenHedhli1
 
Une introduction à Javascript et ECMAScript 6
Une introduction à Javascript et ECMAScript 6Une introduction à Javascript et ECMAScript 6
Une introduction à Javascript et ECMAScript 6
Jean-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

Chap3 clientsrvr
Chap3 clientsrvrChap3 clientsrvr
Chap3 clientsrvr
Rachid Lajouad
 
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
Rachid Lajouad
 
Structures donnee
Structures donneeStructures donnee
Structures donnee
Rachid Lajouad
 
Structures donneenew
Structures donneenewStructures donneenew
Structures donneenew
Rachid Lajouad
 
Qualite1
Qualite1Qualite1
Qualite1
Rachid 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épartis
Heithem Abbes
 
Chapitre iii circuits séquentiels
Chapitre iii circuits séquentielsChapitre iii circuits séquentiels
Chapitre iii circuits séquentiels
Sana Aroussi
 
Présentation logique_sequentielle
 Présentation logique_sequentielle Présentation logique_sequentielle
Présentation logique_sequentielle
toumed
 
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 evelyne
artherapie
 
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
Amanda 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 Dalo
Hé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étien
Gnazalé Stéphane
 
Présentation Léman Museomix 2015
Présentation Léman Museomix 2015Présentation Léman Museomix 2015
Présentation Léman Museomix 2015
Leila BOUANANI
 
Mythesis talk presentation_28_june_2013
Mythesis talk presentation_28_june_2013Mythesis talk presentation_28_june_2013
Mythesis talk presentation_28_june_2013
Ahmed 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

Java RMI
Java RMIJava RMI
Java RMI
Heithem Abbes
 
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
ECAM Brussels Engineering School
 
spring.pdf
spring.pdfspring.pdf
spring.pdf
BouaggadAmine
 
applications-reparties
applications-repartiesapplications-reparties
applications-reparties
mourad50
 

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

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

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);
  • 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
  • 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()