Aplicación RMI
-
Upload
lpillalaza8 -
Category
Education
-
view
717 -
download
7
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