web-dev-qa-db-fra.com

qu'est-ce que le registre RMI

Qu'est-ce que le registre RMI? Qu'est ce que ça fait?

46
saplingPro

Essentiellement, le registre RMI est un endroit où le serveur peut enregistrer les services qu'il propose et où les clients peuvent interroger ces services. Voir Introduction à Java RMI . Extrait:

La figure 1 montre les connexions établies par le client lors de l'utilisation de RMI. Tout d'abord, le client doit contacter un registre RMI et demander le nom du service. Le développeur B ne connaîtra pas l'emplacement exact du service RMI, mais il en sait suffisamment pour contacter le registre du développeur A. Cela le dirigera vers le service qu'il souhaite appeler.

27
WhiteFang34

RMI Registry agit comme courtier entre les serveurs RMI et les clients. Le serveur "enregistre" ses services dans le registre - donc un registre RMI peut agir comme un "répertoire" pour de nombreux serveurs/services. Le client n'a pas besoin de connaître l'emplacement des serveurs individuels et effectue une recherche dans le registre RMI pour le service dont il a besoin. Le registre, étant un répertoire de dénomination, renvoie le descripteur approprié au client pour invoquer des méthodes.

Google autour, il y a beaucoup d'informations sur RMI disponibles.

8
lobster1234

Le registre RMI (Remote Method Invocation) de Java est essentiellement un service d'annuaire.

Un registre d'objets distant est un service de nommage bootstrap utilisé par les serveurs RMI sur le même hôte pour lier des objets distants à des noms. Les clients sur les hôtes locaux et distants peuvent ensuite rechercher des objets distants et créer des invocations de méthode. ( Documentation )

Vous pouvez utiliser RMI ou JNDI pour lier et rechercher votre objet à distance avec le registre rmi.

C'est un cas d'utilisation bien connu du modèle de conception de proxy. Les serveurs RMI enregistrent des objets (essentiellement des stubs) dans le registre RMI. Les clients distants recherchent ces talons et invoquent des méthodes dessus. Derrière la scène, la méthode à invoquer, ses arguments sont sérialisés et envoyés au serveur RMI réel qui a l'implémentation. Le serveur RMI (code squelette) désérialise la demande invoque la méthode réelle, collecte les résultats, les désérialise et les renvoie au client (stub). Stub désérialise les résultats et les renvoie au code qui a invoqué cette méthode.

2
Aniket Thakur

Le serveur associe d'abord un nom à un objet distant dans le registre RMI. Lorsqu'un client souhaite accéder à un objet distant, il recherche l'objet, par son nom, dans le registre. Ensuite, le client peut appeler des méthodes sur l'objet distant sur le serveur.

http://www8.cs.umu.se/education/examina/Rapporter/471App.pdf

1
Divya