Lab RMI (Java)
Java RMI (Remote Method Invocation)
Alberto Lafuente
Mikel Larrea
Dpto. ATC, UPV/EHU
Contenido
Interfaz
Implementación
Servidor
Cliente
Puesta en marcha de laaplicación:
–
–
–
–
–
2
Compilador de Java
Compilador de RMI
Iniciar el servidor de nombres de RMI
Iniciar el servidor
Iniciar el cliente
Interfaz
Definición de los objetos que seránaccedidos
remotamente:
–
métodos, con sus parámetros
No se da la implementación de los métodos
Necesario extender el interfaz java.rmi.Remote
En todos los métodos remotos debe indicarse laposibilidad de lanzar la excepción
java.rmi.RemoteException
3
Interfaz (Hello.java)
package hello;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.Date;
publicinterface Hello extends Remote {
String sayHello() throws RemoteException;
Date getDate() throws RemoteException;
}
4
Implementación
Es una clase Java normal
Extiende la clasejava.rmi.server.UnicastRemoteObject, e implementa
el interfaz definido en el paso anterior
–
Implementa todos los métodos remotos del interfaz
En el método constructor de esta clase únicamente
sellama al constructor de la clase
UnicastRemoteObject: super()
5
Implementación (HelloImpl.java)
package hello;
import
import
import
import
import
java.rmi.Naming;java.rmi.RemoteException;
java.rmi.RMISecurityManager;
java.rmi.server.UnicastRemoteObject;
java.util.Date;
public class HelloImpl extends UnicastRemoteObject
implements Hello {
6
public HelloImpl() throwsRemoteException {
super();
}
public String sayHello() {
return "Kaixo Mikel!";
}
public Date getDate() {
return new Date();
}
// ...
Servidor
Inicia un gestor de seguridad
Crea elobjeto que será accesible remotamente
–
Se trata de una instancia de la clase implementación
Registra el objeto remoto (con un nombre dado) en
el servidor de nombres de RMI, mediante el método...
Regístrate para leer el documento completo.