Aplicación RMI

Post on 12-Jun-2015

717 views 7 download

Transcript of Aplicación RMI

Aplicación Utilizando Rmi

Lucy PillalazaUniversidad Israel - Décimo Nivel

EJEMPLO

El proceso servidor provoca un eco de la entrada de teclado enviada por el proceso cliente.

Por sencillez, ejecutaremos tanto el servidor como el cliente en la máquina local.

El sistema operativo es Windows El jdk utilizado es 1.5.0

Código Fuente

Creamos en C: una carpeta para ubicar el código fuente del servidor, rmi

Para no mezclar el código del cliente, dentro de rmi, creamos una carpeta cliente.

Utilizaremos dos ventanas de línea de comandos: una para las acciones sobre el código de servidor y otra para las operaciones del cliente.

Clases del servidor

Las ubicamos en la carpeta c:rmi4 Son: EcoRMI.java (interfaz remota),

EcoRMISirviente.java (implementación de la interfaz remota) y EcoRMIServidor.java (la aplicación remota)

EcoRMI.java

public interface EcoRMI extends java.rmi.Remote

{ public String eco(String mensaje) throws java.rmi.RemoteException;

}

EcoRMISirviente.java (1/2)

import java.rmi.*;

import java.rmi.server.UnicastRemoteObject; public class EcoRMISirviente extends UnicastRemoteObject implements EcoRMI { public EcoRMISirviente(String nombre) throws RemoteException { super(); try { Naming.rebind(nombre, this); } catch (Exception e) { System.out.println(quot;Excepcion: quot; + e.getMessage()); e.printStackTrace(); } }

EcoRMISirviente.java (2/2)

// Implementación del método remoto public String eco(String mensaje) throws RemoteException { System.out.println(quot;Recibido: quot; + mensaje); return mensaje; }

}

EcoRMIServidor.javaimport java.rmi.*; import java.rmi.server.*; public class EcoRMIServidor { public static void main(String args[]) { // Crea e instala el gestor de seguridad System.setSecurityManager(new

RMISecurityManager()); try {

EcoRMISirviente miEco = new EcoRMISirviente(quot;//:4000/mi-EcoRMIquot;);

System.out.println(quot;Servidor de EcoRMI listo.quot;); } catch (Exception e) { System.out.println(quot;Excepcion: quot; + e.getMessage()); e.printStackTrace(); }

} }

java.policy

En c:rmi4 (servidor) necesitamos un archivo de política de seguridad java.policy. Lo más simple es habilitar todos los permisos. También lo necesita el cliente; no obstante, basta con darle la ruta en el momento de ejecutarlo posteriormente. grant {

permission java.security.AllPermission; };

Compilar en el servidor

Desde la línea de comandos, compilamos todas las clases en c:rmi4 (servidor):

>cd c:rmi4 c:rmi4>javac *.java

Generar stub

En la misma línea de comandos, generamos el archivo de stub:

c:rmi4>rmic EcoRMISirviente Se genera un archivo llamado

EcoRMISirviente_stub.class. Es importante, acordarse de copiarlo en la carpeta cliente.

También debemos copiar en la carpeta cliente los archivos EcoRMI.java y EcoRMI.class

FIN