1.5.
1: RMI (Remote
Method Invocation)
Participantes: Manuel Jeffrey Olazo Córdova 18100047
Moisés Gaona Oropeza 18100007
Rodrigo Márquez Romero 18100006
Introducción
Es un modelo de objetos distribuidos
para desarrollar aplicaciones complejas
y robustas.
Pertenece a JAVA.
Significa invocación de métodos
remotos.
Comunica aplicaciones distribuidas
escritas en Java.
Principales OBJETO REMOTO:
Objeto cuyos métodos pueden ser
conceptos invocados (vía una interfaz
sobre remota) desde otra máquina
virtual
INTERFAZde Java.
REMOTA:
invocación Interfaz Java que extiende
remota de [Link]. Todos sus
métodos deben indicar que pueden
objetos lanzar la excepción
RemoteException.
CLASE SKELETON:
STUB REMOTO: La clase skeleton es similar a la clase stub, pero
Objeto que implementa las en el lado del servidor, de forma que trata
mismas interfaces remotas que el directamente con la implementación del método
objeto remoto al que hace remoto que está siendo utilizado.
referencia..
Partes del RMI
Servidor
Se encarga
Registro de
Objetos
de crear los Registra las
objetos
Cliente
referencias a Accede e
remotos y los objetos invoca a los
registrarlos remotos métodos que
mediante un se ejecutarán
nombre. en el
servidor.
Sintaxis y semántica de RMI
RMI reduce la complejidad de la programación distribuida, convirtiendo las
tareas de localizar el servidor, realizar la conexión a la red, transferencia de
datos, sincronización y propagación de errores en una simple llamada a un
método y manejador de excepciones en el cliente.
Sintaxis y semántica de RMI
La sintaxis de una llamada RMI a un objeto remoto es la siguiente:
try
{ result= [Link](args)
}
catch (RemoteException ex)
{
//manejo de excepciones remotas
}
Sintaxis y semántica de RMI
Las diferencias semánticas de una llamada remota respecto a una local son
las siguientes:
• Un cliente siempre hace referencia a un objeto remoto a través de una de
las interfaces Remote que éste implementa.
• Un método remoto siempre debe declararse indicando que puede lanzar
una RemoteException.
• Los clientes de objetos remotos deben capturar y tratar las excepciones
remotas.
Sintaxis y semántica de RMI
• Un objeto pasado como parámetro a un objeto remoto o devuelto
desde un método remoto lo hace valor en vez de por referencia, excepto
si dicho objeto es remoto.
• Los métodos equals(), hashCode(), y toString(), son sobreescritos por
[Link]. Así, el método equals() comprueba si dos
referencias a objetos son iguales, no si los contenidos son iguales. El
método hashCode() devuelve la misma clave para cualquier referencia al
mismo objeto remoto.
Bases del RMI
• El modelo orientado a objetos de Java.
• El soporte a la programación por sockets en redes TCP/IP.
• El mecanismo de serialización de objetos.
Este último mecanismo, permite trasformar los objetos a paquetes de
bytes para poder enviar los parámetros de una invocación de métodos
desde el objeto cliente al objeto remoto donde reside el método
invocado.