Remote Method Invocation
Enviado por imarban • 13 de Mayo de 2014 • 496 Palabras (2 Páginas) • 394 Visitas
INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE CÓMPUTO
Calculadora básica con RMI
Alumno:
Gómez Marbán Israel
José Asunción Enriquez Zárate
Desarrollo de Sistemas Distribuidos
Grupo: 4CV1
Introducción
El mecanismo RMI (Remote Method Invocation) permite que una aplicación o applet se comunique
con objetos que residen en programas que se ejecutan en máquinas remotas. En esencia, en lugar
de crear un objeto, el programador liga el objeto remoto con un representante local, conocido como
stub. Los mensajes dirigidos al objeto remoto se envían al stub local, como si fuera el objeto real. El
stub acepta los mensajes que se le envíen, y a su vez, los envía al objeto remoto, el cual invoca sus
métodos apropiados. El resultado de la invoación de los métodos en el objeto remoto se envía de
regreso al stub local, que los remite al emisor original de la llamada. Aparte de ligar el stub con el
objeto remoto, el código escrito por el programador para comunicar con el objeto remoto es igual
al código que se utilizaría si el objeto se encontrara en una aplicación o applet local.
Desarrollo
Elaborar un ejemplo de RMI por medio de una calculadora básica en la cual se ejecuten 8
operaciones que se hallen en el registro de RMI
Se realizaron las clases:
Cliente.java
Es la encargada de solicitar el servicio registrado en el Rmi Registry
package com.escom.distribuidos.rmi.cliente;
import
import
import
import
import
java.net.MalformedURLException;
java.rmi.Naming;
java.rmi.NotBoundException;
java.rmi.RemoteException;
com.escom.distribuidos.rmi.operaciones.OperacionesInterface;
/**
*
* @author imarban
*/
public class Cliente {
public static void main(String[] args) {
OperacionesInterface operaciones;
try {
operaciones = (OperacionesInterface) Naming.lookup("rmi://local-
host/Operaciones");
System.out.println(operaciones.division(80, 5));
} catch (NotBoundException | MalformedURLException | RemoteException e)
{
}
}
}
OperacionesInterface.java
Es la interface creada para la firma de los métodos proporcionados por el servicio a registrar
package com.escom.distribuidos.rmi.operaciones;
import java.rmi.Remote;
/**
*
* @author imarban
*/
public interface OperacionesInterface extends Remote {
public float suma (float a, float b) throws java.rmi.RemoteException;
public float resta (float a, float b) throws java.rmi.RemoteException;
public float multiplicación (float a, float b) throws java.rmi.RemoteExcep-
tion;
public float division (float a, float b) throws java.rmi.RemoteException;
public double raiz (double a) throws java.rmi.RemoteException;
public double potencia (double base, double numero) throws java.rmi.Re-
moteException;
public int fibonacci (int
...