Aplicaciones prácticas de RMI
Crear un servidor RMI
Un servidor RMI consiste en definir un objeto remoto que va a ser utilizado por los clientes. Para crear un objeto remoto, se define una interfaz, y el objeto remoto será una clase que implemente dicha interfaz. Veamos como crear un servidor de ejemplo mediante 3 pasos.
Cuando se crea un interfaz remoto:
- El interfaz debe ser público.
-
- Debe extender (heredar de) el interfaz java.rmi.Remote, para indicar que puede llamarse desde cualquier máquina virtual Java.
- Cada método remoto debe lanzar la excepción java.rmi.RemoteException en su claúsula throws, además de las excepciones que pueda manejar
public interface MiInterfazRemoto extends java.rmi.Remote
{
public void miMetodo1() throws java.rmi.RemoteException;
public int miMetodo2() throws java.rmi.RemoteException;
}
{
public void miMetodo1() throws java.rmi.RemoteException;
public int miMetodo2() throws java.rmi.RemoteException;
}
Implementar el interfaz remoto
public class MiClaseRemota
extends java.rmi.server.UnicastRemoteObject implements MiInterfazRemoto { public MiClaseRemota() throws java.rmi.RemoteException { // Código del constructor } public void miMetodo1() throws java.rmi.RemoteException { // Aquí ponemos el código que queramos System.out.println(“Estoy en miMetodo1()”); } public int miMetodo2() throws java.rmi.RemoteException { return 5; // Aquí ponemos el código que queramos } public void otroMetodo() { // Si definimos otro método, éste no podría llamarse // remotamente al no ser del interfaz remoto } public static void main(String[] args) { try { MiInterfazRemoto mir = new MiClaseRemota(); java.rmi.Naming.rebind(“//” + java.net.InetAddress.getLocalHost().getHostAddress() + ”:” + args[0] + “/PruebaRMI”, mir); } catch (Exception e) { } } }
La clase MiClaseRemota implementa el interfaz MiInterfazRemoto que hemos definido previamente. Además, hereda de UnicastRemoteObject, que es una clase de Java que podemos utilizar como superclase para implementar objetos remotos.
Ejecutar el servidor:
Crear un cliente RMI
Vamos ahora a definir un cliente que accederá a el/los objeto/s remoto/s que creemos. Para ello seguimos los siguientes pasos:
|
No hay comentarios.:
Publicar un comentario