aplicación rmi

12
Aplicación Utilizando Rmi Lucy Pillalaza Universidad Israel - Décimo Nivel

Upload: lpillalaza8

Post on 12-Jun-2015

720 views

Category:

Education


7 download

TRANSCRIPT

Page 1: Aplicación RMI

Aplicación Utilizando Rmi

Lucy PillalazaUniversidad Israel - Décimo Nivel

Page 2: Aplicación RMI

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

Page 3: Aplicación RMI

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.

Page 4: Aplicación RMI

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)

Page 5: Aplicación RMI

EcoRMI.java

public interface EcoRMI extends java.rmi.Remote

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

}

Page 6: Aplicación RMI

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(); } }

Page 7: Aplicación RMI

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; }

}

Page 8: Aplicación RMI

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(); }

} }

Page 9: Aplicación RMI

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; };

Page 10: Aplicación RMI

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

Page 11: Aplicación RMI

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

Page 12: Aplicación RMI

FIN