Aplicación RMI
Upcoming SlideShare
Loading in...5
×
 

Aplicación RMI

on

  • 878 views

 

Statistics

Views

Total Views
878
Views on SlideShare
878
Embed Views
0

Actions

Likes
1
Downloads
30
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Aplicación RMI Aplicación RMI Presentation Transcript

  • Aplicación Utilizando Rmi
    Lucy Pillalaza
    Universidad 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
    publicinterface EcoRMIextendsjava.rmi.Remote
    { publicString eco(String mensaje)
    throwsjava.rmi.RemoteException;
    }
  • EcoRMISirviente.java (1/2)
    importjava.rmi.*;
    importjava.rmi.server.UnicastRemoteObject;
    publicclassEcoRMISirvienteextendsUnicastRemoteObject
    implementsEcoRMI
    {
    publicEcoRMISirviente(String nombre) throwsRemoteException
    {
    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 publicString eco(String mensaje) throwsRemoteException
    {
    System.out.println(quot;Recibido: quot; + mensaje);
    returnmensaje;
    }
    }
  • EcoRMIServidor.java
    import java.rmi.*;
    importjava.rmi.server.*;
    publicclassEcoRMIServidor
    {
    publicstaticvoidmain(Stringargs[])
    {
    // Crea e instala el gestor de seguridad System.setSecurityManager(new RMISecurityManager());
    try
    {
    EcoRMISirvientemiEco = new
    EcoRMISirviente(quot;//:4000/mi-EcoRMIquot;); System.out.println(quot;Servidorde EcoRMIlisto.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{
    permissionjava.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>rmicEcoRMISirviente
    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