RMI(Remote metod invocation)
Desarrollo de Aplicaciones en Red
Facultad de Estadística e Informática
1
Introducción
El Computo Distribuido, envuelve el diseño e implementación de un
conjunto de elementos de SW que cooperan entre si y que están
localizados a lo largo de una red.
Ventajas del cómputo distribuido:
Rendimiento.
Escalabilidad.
Compartir recursos.
Tolerancia a fallos.
2
Introducción
¿A que problemas nos enfrentamos al desarrollar una
aplicación distribuida?
Sobrecarga de la red.
Sincronización.
Fallos parciales.
3
Juan Carlos Pérez Arriaga
Introducción
Hemos visto que RPC, da solución al problema de llamada
remota de funciones.
¿Que desventajas tiene RPC?
Complejo de desarrollar.
No es unatecnología OO.
Actualmente, existen tecnologías OO que nos permiten
tener un ambiente distribuido
4
RMI objetivos.
Podemos mencionar algunos objetivos de RMI como:
Soporte a la misma forma de realizar llamadas a los
procedimientos remotos.
Integrar un ambiente distribuido totalmente en java.
Escribir aplicaciones distribuidas tan fácil como sea posible.
Proveer de unambiente seguro en la invocación de métodos.
5
RMI Características
Conocida también como Remote Method Invocation.
Desarrollada por SUN.
Es parte del core de la api de java.
Las interfaces en RMI, son interfaces definidas total y
absolutamente en java.
Utiliza serialización de objetos.
RMI, asume que todo el sistema es homogéneo JVM.
6
RMI Características.
RMI permite a las aplicaciones, obtener referencias a objetos
remotos e invocar sus métodos de la misma forma que una
llamada local.
Los objetos remotos pueden ser invocados en la misma
máquina o en una máquina remota.
7
RMI, esquema de una app.
8
Stubs y Skeletons en RMI
RMI, utiliza stubs y skeletons para proveer conexión entre el
cliente y el servidor.
Un Stub,es un proxy para el objeto remoto, el cual es el
responsable de:
Iniciar una llamada al objeto remoto.
Ordenar los argumentos en flujo.
Informar a la capa de referencia remota que la llamada debe ser
hecha.
Retornar el valor o excepción de un flujo.
Informar a la capa de referencia remota, que la llamada fue
hecha.
9
Stubs y Skeletons RMI.
Un Skeleton, es un objetodel servidor que realiza llamadas hacia las
implementaciones de los métodos remotos y es responsable de:
Decodificar los datos recibidos.
Hacer la llamada a la implementación del objeto remoto.
Retornar el valor o excepción en caso de que ocurran.
10
RMI: Capa de referencia remota
Es la responsable de llevar a cabo la especificación de un
protocolo de referenciaindependiente a el stub y el skeleton.
Esta capa tiene 2 componentes cooperativos:
El lado del cliente: contiene información especifica al servidor y
vías para realizar el transporte de la información.
El lado del servidor: contiene la implementación de los métodos
remotos.
11
RMI: La capa de transporte
Por lo general, en RMI la capa de transporte es la encargada
de:
Establecer las conexiones al espacio de direcciones.
Administrar esas conexiones.
Monitorear las conexiones actuales.
Escuchar las llamadas.
Mantener la tabla de objetos remotos que residen en el espacio de
direcciones
12
RMI Registry
En RMI, un método puede obtener una refefencia a un objeto
remoto para:
Localizar un objeto remoto en un servicio de directorio llamadoRMI registry.
Para recibir las referencias de un objeto remoto como el
argumento de un método o para regresar algún valor.
13
Desarrollando una aplicación RMI.
Un objeto debe implementar interfaces para poder establecer
una comunicación remota, mismas que deben contar con las
siguientes características:
Una interfaz remota extiende la interface java.rmi.Remote
Cada...
Regístrate para leer el documento completo.