Què és la invocació de mètodes remots a Java?



Aquest article sobre RMI a Java us explicarà com implementar la interfície d’invocació de mètodes remots a través del client i el servidor juntament amb un exemple pràctic.

Invocació de mètodes remots és una manera que fa servir un programador i el seu entorn de desenvolupament de forma remota. Es tracta de com funciona objectes en diferents ordinadors interactuen en una xarxa distribuïda. En aquest article sobre Invocació de mètodes remots a Java, us explicaré com crear una aplicació RMI a través del client i el servidor.

A continuació, es tracten els temes següents en aquest article:





Comencem!

Què és RMI a Java?

El RMI (Invocació de mètodes remots) és una API que proporciona un mecanisme per crear una aplicació distribuïda a . El RMI permet a un objecte invocar mètodes en un objecte que s’executa en un altre . La invocació de mètodes remots proporciona comunicació remota entre les aplicacions mitjançant dos objectes taló i esquelet .



Comprensió de Stub i Skeleton

L'objecte stub de la màquina client crea un bloc d'informació i envia aquesta informació al servidor. El bloc consta de:

  • Identificador de l'objecte remot que s'ha d'utilitzar
  • Nom del mètode que cal invocar
  • Paràmetres de la JVM remota

Stub and Skeleton - RMI a Java - EdurekaObjecte Esquelet

L'objecte esquelet transmet la sol·licitud de l'objecte stub a l'objecte remot. Realitza les tasques següents:



per a què s’utilitza nagios
  • Anomena el mètode desitjat a l’objecte real present al servidor.

  • Reenvia els paràmetres rebuts de l'objecte stub al mètode.

Amb això, deixeu-vos avançar i vegeu com crear una aplicació RMI

Passos per crear una aplicació RMI

A continuació, us ajudarà a crear una aplicació RMI:

  1. Definició d'un comandament a distància interfície
  2. Implementació de la interfície remota
  3. Creació de Stub i Skeleton objectes de la classe d'implementació mitjançant RMIC (complidor RMI)
  4. Inicieu el registre RMI
  5. Creeu i executeu el programa d'aplicació del servidor
  6. Creeu i executeu el programa d'aplicació client

Ara, anem a conèixer els detalls d’aquests passos.

seqüència de Fibonacci en c ++

Pas 1: definir una interfície remota

El primer que hem de fer és crear un fitxer interfície . Això proporcionarà una descripció dels mètodes que poden invocar els clients remots. Aquesta interfície hauria d’ampliar la interfície remota i el mètode prototip dins de la interfície hauria de llançar l’excepció remota.

// La creació d'una interfície de cerca importa java.rmi. * La interfície pública Cerca s'estén remot {// La declaració del mètode prototip de consulta pública de cadena (cerca de cadenes) genera Excepció remota}

Pas 2: Implementació de la interfície remota

El següent pas és implementar la interfície remota. Per tal d'implementar la interfície remota, la classe s'hauria d'estendre a UnicastRemoteObject classe del paquet java.rmi . A més, un valor per defecte constructor s'ha de crear per llançar el fitxer java.rmi.RemoteException del seu constructor pare.

// Programa Java per implementar la interfície de cerca importa java.rmi. * Importa java.rmi.server. * SearchQuery de classe pública amplia UnicastRemoteObject implementa Cerca {// El constructor predeterminat per llançar RemoteException des del seu constructor pare SearchQuery () llança RemoteException {super ( )} // La implementació de la consulta de cadena pública de la interfície de consulta (cerca de cadenes) llança RemoteException {Resultat de cadena if (search.equals ('Reflection in Java')) result = 'true' else result = 'false' return result}}

Pas 3: Creació d'objectes Stub i Skeleton a partir de la classe d'implementació mitjançant rmic

L'eina RMIC s'utilitza per invocar el compilador RMI que crea els objectes Stub i Skeleton. El seu prototip és el nom de la classe RMIC.

PAS 4: Inicieu el RMIregistry
Heu d'iniciar el servei de registre emetent l'ordre a l'indicador d'ordres per iniciar RMIregistry

PAS 5: Creeu i executeu el programa d'aplicació del servidor
El següent pas és crear el programa d'aplicació del servidor i executar-lo en un indicador d'ordres separat.

  • El programa servidor utilitza el fitxer createRegister mètode de la classe LocateRegistry per crear rmiregistry dins del servidor JVM amb el número de port passat com a argument.

  • El mètode de rebind de la classe Naming s’utilitza per enllaçar l’objecte remot al nou nom.

// programa per a la importació d'aplicacions de servidor java.rmi. * import java.rmi.registry. * public class SearchServer {public static void main (String args []) {try {// Crea un objecte de la classe d'implementació de la interfície Cerca obj = new SearchQuery () // rmiregistry dins del servidor JVM amb // número de port 1900 LocateRegistry.createRegistry (1900) & ltp style = 'text-align: justify' & gt // Vincula l'objecte remot amb el nom // edureka Naming.rebind ( 'rmi: // localhost: 1900' + '/ edureka', obj)} catch (Excepció ae) {System.out.println (ae)}}}

Pas 6: Creeu i executeu el programa de sol·licitud de client
L'últim pas és crear el programa d'aplicació de client i executar-lo en un símbol del sistema. El mètode de cerca de la classe Naming s’utilitza per obtenir la referència de l’objecte Stub

El programa client i servidor anterior s’executa a la mateixa màquina i per això s’utilitza localhost. Per accedir a l'objecte remot des d'una altra màquina, s'ha de substituir localhost per l'adreça IP on hi ha l'objecte remot.

com configurar java classpath

Per tant, això ens porta al final del RMI a article. Espero que us hagi resultat informatiu i us hagi ajudat a entendre els fonaments.

Consulteu el per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. Som aquí per ajudar-vos en cada pas del vostre viatge, per convertir-vos en una pregunta a part d’aquestes entrevistes java, oferim un pla d’estudis dissenyat per a estudiants i professionals que vulguin ser Java Desenvolupador. El curs està dissenyat per donar-vos un avantatge en la programació de Java i formar-vos tant per a conceptes bàsics com avançats de Java juntament amb diversos marcs Java com Hibernate i Spring.

Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d’aquest article “RMI a Java” i ens posarem en contacte amb vostè el més aviat possible.