Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Invocación
1) Encapsulado de los parámetros.
2) Invocación del método (del cliente con el servidor). El invocador se queda
esperando una respuesta.
3) Al terminar la ejecución, el servidor serializa el valor de retorno y lo envía al
cliente.
4) El código cliente recibe la respuesta y continúa como si la invocación hubiera
sido local.
Arquitectura
Puede verse como un modelo de cuatro capas.
Primera Capa: es la de aplicación y corresponde con la implementación real de las
aplicaciones cliente y servidor.
Segunda Capa: es la que interactúa directamente con la capa de aplicación. Se
encuentran las llamadas a objetos remotos y acciones junto con sus parámetros y
retornos de objetos.
Tercera Capa: es la de referencia remota, y es responsable del manejo de la parte
semántica de las invocaciones remotas. Es responsable de la replicación de
objetos.
Cuarta Capa: es la de transporte; es la responsable de realizar las conexiones
necesarias y manejo del transporte de los datos de una máquina a otra.
Es una interfaz de programación de aplicaciones provistas por los creadores del
lenguaje java, y que da a los programadores los medios para desarrollar
aplicaciones Java.
LA API de Java provee un conjunto de clases utilitarias para efectuar toda clase de
tareas dentro de un programa.
Codigo java para rmi
import java.rmi.*;
import java.rmi.server.*;
package callback;
import java.rmi.*;
public interface ejecutor
extends Remote{
public String ejecutar(Tarea t) throws RemoteException;
}
El código de la interfaz Tarea es el siguiente:
package callback;
import java.io.Serializable;
public interface Tarea extends Serializable{
public String recado();
}
La interfaz ejecutor contiene un único método ejecutar, que recibe como
argumento un objeto de la clase Tarea, que es la interfaz definida por el cliente.
De esta forma el cliente implementa la tarea (de cálculo, por ejemplo) que desea
realice el servidor. Para ello define el método recado.
package callback;
import java.rmi.*;
package callback;
public class tarea_Imp implements Tarea{
public String recado() {
return "Hello World";
}
}
El código para la implementación del cliente es el siguiente:
package callback;
import java.rmi.*;
http://profesores.elo.utfsm.cl/~agv/elo330/2s09/lectures/RMI/RMI.html
http://poncevero.blogspot.com/2014/11/rmi-remote-method-invocation.html