13
RMI RMI (Remote Method (Remote Method Invocation) Invocation)

RMI

Embed Size (px)

DESCRIPTION

Rocio Balbin LazoRMI(Remote Method Invocation)IntroducciónJAVA RMI(Remote Method Invocation) es un RMI( Invocation) mecanismo ofrecido por Java para invocar un método de manera remota. Forma parte del remota. entorno estándar de ejecución de Java y provee de un mecanismo simple para la comunicación de servidores en aplicaciones distribuidas basadas exclusivamente en Java. Java.La invocación se compone de los siguientes pasos: pasos: Invocación del método (del cliente sobre el servidor). servidor). El

Citation preview

Page 1: RMI

RMIRMI

(Remote Method (Remote Method Invocation)Invocation)

Page 2: RMI

IntroducciónIntroducción

JAVA RMIJAVA RMI((Remote Method Remote Method InvocationInvocation) es un mecanismo ofrecido ) es un mecanismo ofrecido por Java para invocar un método de por Java para invocar un método de manera remota. Forma parte del manera remota. Forma parte del entorno estándar de ejecución de Java entorno estándar de ejecución de Java y provee de un mecanismo simple para y provee de un mecanismo simple para la comunicación de servidores en la comunicación de servidores en aplicaciones distribuidas basadas aplicaciones distribuidas basadas exclusivamente en Java. exclusivamente en Java.

Page 3: RMI

La invocación se compone de los siguientes La invocación se compone de los siguientes pasos:pasos:

Invocación del método (del cliente sobre el Invocación del método (del cliente sobre el servidor). El invocador se queda esperando servidor). El invocador se queda esperando una respuesta.una respuesta.

Al terminar la ejecución, el servidor serializa Al terminar la ejecución, el servidor serializa el valor de retorno (si lo hay) y lo envía al el valor de retorno (si lo hay) y lo envía al cliente.cliente.

El código cliente recibe la respuesta y El código cliente recibe la respuesta y continúa como si la invocación hubiera sido continúa como si la invocación hubiera sido local.local.

Page 4: RMI

EjemploEjemplo

El funcionamiento de este ejemplo es el El funcionamiento de este ejemplo es el siguiente: El cliente envia mensajes al siguiente: El cliente envia mensajes al servidor y este ultimo los devuelve como si servidor y este ultimo los devuelve como si fuera un ECO.fuera un ECO.

Para esto definimos los siguientes archivos Para esto definimos los siguientes archivos java para el Servidor en java para el Servidor en “c:\rmi4”“c:\rmi4”

EcoRMI.java(Interfaz Remota)EcoRMI.java(Interfaz Remota) EcoRMISirviente.java(Implementacion de la EcoRMISirviente.java(Implementacion de la

interfaz remota)interfaz remota) EcoRMIServidor.java(La aplicacion Remota)EcoRMIServidor.java(La aplicacion Remota) Java.policy (archivo de politica de seguridad)Java.policy (archivo de politica de seguridad)

Page 5: RMI
Page 6: RMI
Page 7: RMI

Usamos el javac para compilar los Usamos el javac para compilar los *.java y generar los .class luego *.java y generar los .class luego generamos el archivo de STUBgeneramos el archivo de STUB

Page 8: RMI

En la ruta En la ruta C:\rmi4\cliente C:\rmi4\cliente crear el sgte archivo java.crear el sgte archivo java.

Page 9: RMI

Ahora compilamos el archivo Ahora compilamos el archivo EcoRMICliente.java en una nueva EcoRMICliente.java en una nueva linea de comandoslinea de comandos

Page 10: RMI

En la linea de comandos del En la linea de comandos del servidor, se lanza el registro con el servidor, se lanza el registro con el siguiente comando:siguiente comando:

C:\rmi4>start miregistry 4000;C:\rmi4>start miregistry 4000;

Page 11: RMI

En la linea de comandos del En la linea de comandos del Cliente ejecutamos:Cliente ejecutamos:

Page 12: RMI

RESULTADOSRESULTADOS

Page 13: RMI

CONCLUSIONESCONCLUSIONES Java RMI es un mecanismo que facilita el desarrollo y Java RMI es un mecanismo que facilita el desarrollo y

uso de objetos distribuidos mediante métodos uso de objetos distribuidos mediante métodos sencillos para cualquier programador acostumbrado a sencillos para cualquier programador acostumbrado a usar Java. Se refleja lo necesario para la creación de usar Java. Se refleja lo necesario para la creación de cualquier otro desarrollo más complejo. Por ejemplo, cualquier otro desarrollo más complejo. Por ejemplo, el servidor podría usar JDBC(el servidor podría usar JDBC(Java Database Java Database ConnectivityConnectivity) para acceder a una base de datos y ) para acceder a una base de datos y JNI(JNI(Java Native InterfaceJava Native Interface) para comunicarse con ) para comunicarse con partes de la aplicación desarrolladas en otros partes de la aplicación desarrolladas en otros lenguajes, mientras que el cliente podría obtener sus lenguajes, mientras que el cliente podría obtener sus reglas de funcionamiento en forma de objetos reglas de funcionamiento en forma de objetos descargables del servidor. En cualquier caso los pasos descargables del servidor. En cualquier caso los pasos a seguir serían iguales y usando los mismos recursos.a seguir serían iguales y usando los mismos recursos.