Java LanguageRemote Method Invocation (RMI)


Osservazioni

RMI richiede 3 componenti: client, server e un'interfaccia remota condivisa. L'interfaccia remota condivisa definisce il contratto client-server specificando i metodi che un server deve implementare. L'interfaccia deve essere visibile al server in modo che possa implementare i metodi; l'interfaccia deve essere visibile al client in modo che conosca i metodi ("servizi") forniti dal server.
Qualsiasi oggetto che implementa un'interfaccia remota è destinato a svolgere il ruolo di server. Come tale, una relazione client-server in cui il server può anche invocare metodi nel client è in realtà una relazione server-server. Questo è chiamato callback poiché il server può richiamare il "client". Con questo in mente, è accettabile utilizzare il client di designazione per i server che funzionano come tali.

L'interfaccia remota condivisa è un'interfaccia che estende Remote . Un oggetto che funziona come server subisce quanto segue:

  1. Implementa l'interfaccia remota condivisa, esplicitamente o implicitamente, estendendo UnicastRemoteObject che implementa Remote .
  2. Esportato, implicitamente se estende UnicastRemoteObject o esplicitamente passando a UnicastRemoteObject#exportObject .
  3. Associato in un registro, direttamente tramite il Registry o indirettamente tramite Naming . Questo è necessario solo per stabilire una comunicazione iniziale poiché ulteriori stub possono essere passati direttamente tramite RMI.

Nell'impostazione del progetto, i progetti client e server non sono completamente correlati, ma ognuno specifica un progetto condiviso nel suo percorso di generazione. Il progetto condiviso contiene le interfacce remote.

Remote Method Invocation (RMI) Esempi correlati