RMI (Java Remote Method Invocation)
RMI (Java Remote Method Invocation)
RMI
RMI se caracteriza por la facilidad de su uso en la
programacin por estar especficamente diseado
para Java; proporciona paso de objetos por
referencia (no permitido por SOAP),
recoleccin de basura distribuida (Garbage
Collector distribuido) y paso de tipos arbitrarios
(funcionalidad no provista por CORBA).
RMI
A travs de RMI, un programa Java puede exportar un
objeto, con lo que dicho objeto estar accesible a travs
de la red y el programa permanece a la espera de
peticiones en un puerto TCP. A partir de ese momento, un
cliente puede conectarse e invocar los mtodos
proporcionados por el objeto.
Invocacin RMI
La invocacin se compone de los siguientes pasos:
Encapsulado de los parmetros (utilizando la funcionalidad
de serializacin de Java).
Invocacin del mtodo (del cliente sobre el servidor). El
invocador se queda esperando una respuesta.
Al terminar la ejecucin, el servidor serializa el valor de
retorno (si lo hay) y lo enva al cliente.
El cdigo cliente recibe la respuesta y contina como si la
invocacin hubiera sido local.
Ejemplo
public interface MiInterfazRemota extends java.rmi.Remote
{
public void miMetodo1() throws java.rmi.RemoteException;
public int miMetodo2() throws java.rmi.RemoteException;
}
set CLASSPATH=%CLASSPATH%;.\objRemotos.jar;.
javac MiClaseRemota.java
rmic -d . MiClaseRemota
En el caso de Windows, se debe ejecutar:
start rmiregistry 1234
Y en el caso de Linux:
rmiregistry &
Resultado