Java Rmi

11
Java RMI Fausto Loja

Transcript of Java Rmi

Page 1: Java Rmi

Java RMI

Fausto Loja

Page 2: Java Rmi

¿Qué es RMI?

• Es una extensión de RPC para java

• Permite invocar métodos remotos

Page 3: Java Rmi

Arquitectura RMI

Virtual

Page 4: Java Rmi

Componentes Sustitutos

• Empaqueta el identificador del objeto remoto

• Empaqueta el identificador del método

• Codifica y empaqueta los parámetros (marshalling)

• Envía el paquete al skeleton del servidor

Page 5: Java Rmi

Esqueleto

• Desempaqueta y descodifica los parámetros

• (unmarshalling)

• Llama al método del objeto, que devolverá un valor o una excepción

• Codifica y empaqueta el valor de retorno (marshalling)

• Envía el paquete al stub del cliente

Page 6: Java Rmi

Ejemplo

1. Definir las interfaces de las clases remota

2. Crear las clases de implementación pertenecientes a las clases remotas

3. Crear los componentes sustitutos y esqueleto con el comando rmic

4. Crear una aplicación de servidor

5. Definir permisos java.police

6. Crear Cliente

Page 7: Java Rmi

Interface

Page 8: Java Rmi

Interface

Page 9: Java Rmi

Implementación de las clases

• Implementar la clase heredando de UnicastRemoteObject

Page 10: Java Rmi

Stubs

• Rmic – d . Clase1 clase2 clasen

• Genera los archivos .class

Page 11: Java Rmi

Seguridad

grant codeBase "file:/E:/credit/build/classes/credit" {

permission java.security.AllPermission;

};