0% ont trouvé ce document utile (0 vote)
3 vues26 pages

07 Rmi

Le document présente le concept de Middleware et se concentre sur le Remote Method Invocation (RMI), une technologie permettant d'accéder à des objets distants dans une application Java. Il décrit le fonctionnement des RMI, les étapes d'implémentation, ainsi que des exemples d'utilisation, y compris des versions récentes de Java. L'accent est mis sur la définition des interfaces, la génération des stubs et skeletons, et la publication des objets dans un serveur de noms.

Transféré par

Ahlem Yezli
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)
3 vues26 pages

07 Rmi

Le document présente le concept de Middleware et se concentre sur le Remote Method Invocation (RMI), une technologie permettant d'accéder à des objets distants dans une application Java. Il décrit le fonctionnement des RMI, les étapes d'implémentation, ainsi que des exemples d'utilisation, y compris des versions récentes de Java. L'accent est mis sur la définition des interfaces, la génération des stubs et skeletons, et la publication des objets dans un serveur de noms.

Transféré par

Ahlem Yezli
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

Introduction

Dénition de Middleware (rappel).


RMI : Remote Method Invocation

République Algérienne Démocratique et Populaire

Université 20 Août 1955 Skikda

Faculté de Sciences

Département d'Informatique

MASTER 2 ISD
CONCEPTION DES SYSTÈMES COOPÉRATIFS

RMI: REMOTE METHOD INVOCATION

Dr. BOULAICHE Mehdi, Maitre de conférences.

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction
Dénition de Middleware (rappel).
RMI : Remote Method Invocation

Plan de Présentation 2

1 Introduction

2 Dénition de Middleware (rappel).


Dénitions

3 RMI : Remote Method Invocation


Généralités
Fonctionnement
RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction
Dénition de Middleware (rappel).
RMI : Remote Method Invocation

Introduction 3

Une application à objets répartis utilise des objets qui résident sur
des machines distinctes d'un réseau, ces objets sont sollicités par
des appels de méthodes distantes. Etant donné le point de vue du
programme appelant de telles méthodes, les objets auxquels elles
s'appliquent sont appelés objets distants.

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction
Dénition de Middleware (rappel). Dénitions
RMI : Remote Method Invocation

Middleware 4
Dénition
Une architecture middleware (intergiciel) est une couche de logiciel
(réparti) au-dessus du système d'exploitation mais au-dessous de
l'application destinée à masquer l'hétérogénéité des machines et des
systèmes, la répartition des traitements et données, et fournir une
interface aux applications (modèle de programmation + API).

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

Généralités 5

1 Les RMI permettent de créer un objet et de le rendre accessible


aux autres machines, pour lesquelles il devient un objet distant.
2 Sur l'une de ces machines clientes, une application Java peut
alors récupérer localement une représentation de l'objet
distant, appelé stub.
3 Elle utilise alors ce stub comme elle utiliserait l'objet distant
s'il était local sur la machine client.

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

Fonctionnement 6

1 L'implantation des RMI est basée sur les notions de stub


(souche) et de skeleton (squelette).
2 Du côté client, le stub simule l'objet distant.
3 Du côté serveur, Le skeleton simule un appel local et engendre
l'exécution de la méthode sur l'objet.

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

Fonctionnement 7

Un intergiciel qui réalise ces fonctions est un courtier d'objets


répartis (en anglais Object Request Broker, ou ORB).

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

Implémentation 8

L'implémentation avec les RMI d'une application comprenant un


objet distant se décompose en six étapes :
1 Dénition d'une interface pour l'objet distant
2 Implantation de cette interface.
3 Génération des classes stub et skeleton de l'objet distant.
4 Exposition de l'objet distant dans un serveur d'objets.
5 Publication de l'existence de cet objet exposé dans un serveur
de noms.
6 Appel à distance des méthodes de l'objet.

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

Implémentation 9

Etape 1
Dénition d'une interface pour l'objet distant
Dans cette étape, il s'agit de dénir une interface pour l'objet
distant représentant l'ensemble des méthodes, via lesquelles un
objet distant pourra être manipulé. Cette interface devra être
connue des deux côtés (client et serveur).
Pour que l'objet soit accessible à distance, cette interface doit
hériter de l'interface [Link]

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

Implémentation 10

Etape 2
Imlémentation de cette interface.
L'implémentation de l'interface est la classe de l'objet à installer et
à exposer sur la machine serveur pour accepter les appels de
méthodes distantes provenant de la machine cliente.

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

Implémentation 11

Etape 3
Génération des classes stub et skeleton de l'objet distant.
En utilisant la commande rmic, les deux classes stub et skeleton
peuvent être générées à partir de la classe implémentant l'interface.
L'exécution de cette commande génère deux chiers,
NomeClasseS [Link]

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

Implémentation 12

Etape 4
Exposition de l'objet distant dans un serveur d'objets
Plusieurs solutions permettent d'exposer un objet mais la plus
simple consiste à appeler la méthode statique exportObject() de la
classe UnicastRemoteObject. Cette méthode accepte en paramètre
un objet implantant l'interface Remote.
Pour faire connaître le nouvel objet exposé, ce dernier peut alors
être publié dans un serveur de noms. Pour cela, la méthode statique
rebind() de la classe Naming est utilisée. Elle prend en paramètre
un nom et la référence de l'objet exposé à lui associer.

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

Implémentation 13

Etape 5
Publication de l'existence de cet objet exposé dans un serveur de
noms.
La commande rmiregistry lance un serveur de noms destiné aux
RMI ; celui-ci doit être démarré sur la même machine que le
programme eectuant l'exposition.
Par défaut, ce serveur est attaché au port TCP 1099. Il est possible
de l'attacher à un autre port en passant la valeur du port en
argument à la commande rmiregistry :
Exemple : rmiregistry 10000

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

Implémentation 14

Etape 6
Appel à distance des méthodes de l'objet.
Pour utiliser l'objet distant, l'application cliente commence par
récupérer un objet (stub), correspondant à l'objet distant, via le
serveur de noms qui se trouve sur la machine serveur. Pour cela, la
méthode statique lookup() de la classe Naming est utilisée. Cette
méthode retourne un objet de la classe Remote.

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

RMI : Exemple 15

Dans cette exemple, on va implanter une classe java qui fait appel
à une méthode distante résidant dans une machine serveur ayant
l'adresse IP [Link]. Cette méthode accepte en paramètres
deux entiers et retourne la somme de ces deux entiers. Le serveur
de noms écoute sur le port numéro 10000. L'objet de la méthode
distante sera exposé sous le nom Addition .

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

RMI : Exemple 16

Etape 1
Dénition d'une interface pour l'objet distant

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

RMI : Exemple 17

Etape 2
Imlémentation de cette interface.

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

RMI : Exemple 18

Etape 3
Génération des classes stub et skeleton de l'objet distant.

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

RMI : Exemple 19

Etape 4
Exposition de l'objet distant dans un serveur d'objets

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

RMI : Exemple 20

Etape 5
Publication de l'existence de cet objet exposé dans un serveur de
noms.
>rmiregistry 10000

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

RMI : Exemple 21

Etape 6
Appel à distance des méthodes de l'objet.

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

RMI : Exemple 22

Remarque
les classes dans chaque site sont

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

RMI : Exemple avec nouvelles versions de Java 23

Etape 1
Dénition d'une interface pour l'objet distant

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

RMI : Exemple avec nouvelles versions de Java 24


Etape 2
Imlémentation de cette interface.

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

RMI : Exemple avec nouvelles versions de Java 25


Etape 3
Exposition de l'objet distant dans un serveur d'objets

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation


Introduction Généralités
Dénition de Middleware (rappel). Fonctionnement
RMI : Remote Method Invocation RMI : Exemple
RMI : Exemple avec nouvelles versions de Java

RMI : Exemple avec nouvelles versions de Java 26

Etape 4
Appel à distance des méthodes de l'objet.

Dr. BOULAICHE Mehdi RMI: Remote Method Invocation

Vous aimerez peut-être aussi