Knoppia

Wiki de Informática y otras historias

Herramientas de usuario

Herramientas del sitio


dad:rmi

¡Esta es una revisión vieja del documento!


RMI: Remote Method Invocation

  • Implementación de java del Remote Procedure Call
  • Invocación aun método que puede estar en otra máquina
  • Los datos se pasan como argumentos del método.7

Definicion de objetos Locales: definidos por una clase Remotos: Comportamiento definido por una interface que extiende java.rmi.remote

Implementación de ojetos Locales: implementados por su clase Remotos: comportamiento ejecutado por una clase que implementa la interfaz

Creación de objetos Locales: Instancias se crean con new Remotos: instancias creadas en el servidor con un new, el cliente no puede crear objetos

Acceso a objetos: Locales: a través de referencia local Remoto:

Referencias: Locales: una referencia a un objeto apinta directamente al objeto en memoria

Arquitectura

Tenemos dos conceptos principales: Definición de comportamiento e implementación de comportamiento

dad:diagram1.png

Tres capas

  • Stub: captura las invocaciones del cliente y las redirige al objeto completo
  • capa Referencias Remotas: Sabe como gestionar las referencias de los clientes a objetos remotos
  • Capa de transporte: Permite la conectividad entre objetos basada en TCP/IP.

dad:diagramadecapas.png

Servicio de Nombres

  • JNDI (Java Naming Directory Interface)
    • Busca los objetos de java remotos por su nombre
    • No se limita solo a RMI
  • RMIRegistry
    • El servidor registra un objeto y lo hace accesible a los clientes
    • Corre en máquinas donde estén los servidores
    • Puerto por defecto: 1099

Como Buscar

  • El cliente debe buscar el servicio:
    • java.rmi.Naming.lookup(RMIUrl)
  • Una URL en versión RMI sería:
rmi://<host_name>[:puerto del servicio de directorio]/<nombre del servicio>

Distribución de clases

  • Servidor:
    • Interface
    • Implementación de la Interface
    • Stubs
  • Cliente:
    • Interface
    • Stubs
dad/rmi.1701087110.txt.gz · Última modificación: 2023/11/27 12:11 por thejuanvisu