Architectures réparties Java - RMI
Java - RMI
Remote Method
Invocation
Java - RMI
Remote Method
Invocation
Yann Viémont
Université de Versailles St-Quentin
Architectures réparties Java - RMI
Plan
1. Introduction
2. Rappels sur les RPC
3. Le modèle objet de Java-RMI
4. Architecture générale
Architectures réparties Java - RMI
1. Introduction
=Disponible à partir de la version 1.1 du JDK de Sun (1995)
=Concurrent de CORBA et DCOM (.NET) pour offrir un
système dobjets distribués
=Conçu pour un environnement homogène de machines
virtuelles Java
ßMultiplateforme / Monolangage
=curité et disponibilité (RMI Security Manager)
=Compatible avec le modèle objet de Java
ßPolymorphisme, instanceof, GC distribué,
=Intégration des standards Internet
Architectures réparties Java - RMI
Fonctionnalité
=Obtention de références sur les objets serveurs
=Invocation de méthode à distance
=Invocation sans compilation
=Importation / exportation / transmission dynamique d’objets
ßPar référence ou par copie
=Intégration au modèle objet de Java
=Préservation de lintégrité des références
=Importation / exportation / transmission dynamique de
comportement (code)
=Cycle de vie des objets distants
ßActivation / Passivation / Persistance
Architectures réparties Java - RMI
Objectifs
Le mécanisme doit permettre les opérations de base
suivantes :
=Obtenir une référence sur un objet distant
=Invoquer à distance une méthode sur cet objet
=Utiliser un objet d’un site distant comme un objet
local (importation d’une copie de lobjet)
=Importer dynamiquement une classe (type +
thodes) avec les objets correspondants
=Exporter dynamiquement une classe (type +
thodes) avec les objets correspondants
Architectures réparties Java - RMI
Obtenir une référence
RMI comprend un serveur de nom (registry) basé sur les URL :
=Les méthodes de la classe Naming accèdent au registry
Du coté serveur, l’application invoque la méthode :
=Naming. bind (URL, objet)
Du coté client, lapplication invoque la méthode :
=référence = Naming.lookup (URL)
L’objet reste sur le serveur
=Une instance de la souche (stub) est importée sur le
client
=La rérence client désigne cette souche qui référence
l’objet distant
Architectures réparties Java - RMI
Utiliser un objet distant
On peut utiliser localement un objet distant :
=De façon transparente
=Aussi simplement qu’un objet local
=résultat = objetLocal.méthode (objetDistant)
Architectures réparties Java - RMI
Invoquer une méthode distante
Une méthode distante s’invoque de façon transparente :
=résultat = objetDistant.méthode (param1, …,
paramN)
Les paramètres dentrée peuvent être :
=Des objets locaux transmis par copie et sérialisation
=Des objets distants (du serveur ou d’un site tiers)
dont la rérence (objet + stub) est retransmise
Au retour :
=Les objets locaux modifiés sont recopiés
=Des rérences à de nouveaux objets distants
peuvent être obtenues
Architectures réparties Java - RMI
Beaucoup plus qu’un simple RPC pour Java
Architectures réparties Java - RMI
2. Rappels sur les RPC
Invocation du service
(Processus veilleur)
Machine B
Serveur
Machine A
Client
Exécution
du
service
(Processus serveur)
renvoit des valeurs de retour
Réseau
Requête
Réponse
Processus
uitilisateur
1 / 31 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !