Rmi (Remote Method Invocation)

Páginas: 8 (1767 palabras) Publicado: 16 de abril de 2012
Remote Method Invocation (RMI)

Metas




La meta principal de los diseñadores de RMI fue la de permitir a los programadores el desarrollo de programas distribuidos en JAVA, usando la misma sintáxis y semántica de los programas no distribuidos. La arquitectura de RMI define la forma como deben interactuar los objetos, cómo y cuándo ocurren las excepciones, cómo se administra la memoriay cómo pasan y retornan los parámetros a/desde los métodos remotos.

Que deseamos hacer con objetos remotos
Cliente
Result = Obj.method1(val1)

Servidor
Def Obj { int method1(int v) {} string method2(string v) {} int method3(int v) {} int method4(int v) {} }

La Arquitectura de JAVA RMI
Interfaces:  La definición de un comportamiento y su implementación son conceptos separados. EnRMI, el código que define el comportamiento y el código que lo implementa están y se ejecutan en diferentes JVMs  La definición de un servicio remoto se hace usando una interfaz de JAVA . La implementación se codifica en una clase.

Programa Cliente Interfaz

Programa Servidor Implementación

Sistema RMI



RMI soporta 2 clases que implementan la misma interfaz. La primera implementa elservicio y se ejecuta en el servidor. La segunda actúa como un proxy para el servicio remoto y se ejecuta en el cliente.
Service

Client Service Proxy

RMI ¨Magic¨

Server Service Implementation

Niveles Arquitecturales de RMI
Client Program Server Program

RMI System

Stubs Remote Reference Layer Transport Layer

Stubs



Nivel del Stub y el Skeleton: están justo pordebajo de la vista del desarrollador. Intercepta las llamadas que hace el cliente y las redirecciona a un servicio RMI remoto.

Niveles Arquitecturales de RMI




Nivel de referencia remota (Remote Reference Layer). Esta al tanto de cómo interpretar y administrar las referencias que realizan los clientes a objetos remotos. El Nivel de Transporte: se basa en conexiones TCP/IP entre máquinas enuna red. Ofrece conectividad básica, así como algunas estrategias para atravesar cortafuegos.

Nivel de los Stubs y Skeletons


En este nivel RMI usa el patrón de diseño de Proxy (Proxy design pattern). En este patrón un objeto en un contexto es representado por otro (el proxy) en un contexto diferente. El proxy sabe cómo dirigir (to forward) las invocaciones a métodos entre los distintosobjetos participantes. Interface
+request()

Real Subject +request() Real Subject

Proxy +request()

Nivel de los Stubs y Skeletons




Un skeleton es una clase auxiliar generada por RMI. Un skeleton ´´entiende´´ cómo comunicarse con el stub a través del enlace RMI. El skeleton mantiene una conversación con el stub; lee los parámetros de la llamada, efectúa la invocación alservicio remoto (to the remote service implementation object), acepta el valor de retorno y lo retorna al stub. En la implementación de RMI de Java 2 SDK la clase skeleton está obsoleta debido al protocolo new wire.

Nivel de Referencia Remota




Los niveles de referencia remota definen y soportan la semántica de la invocación de una conexión RMI. Este nivel ofrece un objeto RemoteRef querepresenta el enlace al objeto que alberga la implementación del servicio remoto. Los stubs usan el método invoke() para dirigir (to forward) la llamada. El objeto RemoteRef entiende la semántica de invocación para servicios remotos.

Nivel de Transporte


El nivel de transporte realiza la conexión entre JVMs. Todas las conexiones son stream-based y usan TCP



Aún si dos JVMs se estánejecutando en la misma computadora, ellas se conectan a través del protocolo TCP/IP.

Nivel de Transporte


Sun e IBM trabajaron en la siguiente versión de RMI: RMI-IIOP.




Estará disponible con Java 2 SDK Versión 1.3. No usa JRMP, sino IIOP (the Object Management Group (OMG) Internet InterORB Protocol) para comunicar clientes y servidores.

Nombrar objetos remotos
 

Cómo...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • RMI(Remote metod invocation)
  • Rmi
  • Méthode
  • method
  • Remota
  • Rmi Replicacion
  • Ejercicio RMI
  • Java rmi

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS