Programación distribuida con rmi

Páginas: 6 (1350 palabras) Publicado: 30 de marzo de 2012
PROGRAMACIÓN DISTRIBUIDA CON RMI
RMI (Remote Method Invocation) es un mecanismo que permite realizar llamadas a métodos de objetos remotos situados en distintas (o la misma) máquinas virtuales de Java, compartiendo así recursos y carga de procesamiento a través de varios sistemas.
La arquitectura RMI puede verse como un modelo de cuatro capas:

La primera capa es la de aplicación y secorresponde con la implementación real de las aplicaciones cliente y servidor. Aquí tienen lugar las llamadas a alto nivel para acceder y exportar objetos remotos. Cualquier aplicación que quiera que sus métodos estén disponibles para su acceso por clientes remotos debe declarar dichos métodos en una interfaz que extienda java.rmi.Remote. Dicha interfaz se usa básicamente para "marcar" un objeto comoremotamente accesible. Una vez que los métodos han sido implementados, el objeto debe ser exportado. Esto puede hacerse de forma implícita si el objeto extiende la clase UnicastRemoteObject (paquete java.rmi.server), o puede hacerse de forma explícita con una llamada al método exportObject() del mismo paquete.
La capa 2 es la capa proxy, o capa stub-skeleton. Esta capa es la que interactúadirectamente con la capa de aplicación. Todas las llamadas a objetos remotos y acciones junto con sus parámetros y retorno de objetos tienen lugar en esta capa.
La capa 3 es la de referencia remota, y es responsable del manejo de la parte semántica de las invocaciones remotas. También es responsable de la gestión de la replicación de objetos y realización de tareas específicas de la implementación conlos objetos remotos, como el establecimiento de las persistencias semánticas y estrategias adecuadas para la recuperación de conexiones perdidas. En esta capa se espera una conexión de tipo stream (stream-oriented connection) desde la capa de transporte.
La capa 4 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.El protocolo de transporte subyacente para RMI es JRMP (Java Remote Method Protocol), que solamente es "comprendido" por programas Java.
Toda aplicación RMI normalmente se descompone en 2 partes:
* Un servidor, que crea algunos objetos remotos, crea referencias para hacerlos accesibles, y espera a que el cliente los invoque.
* Un cliente, que obtiene una referencia a objetos remotos enel servidor, y los invoca.
Crear un servidor RMI
Un servidor RMI consiste en definir un objeto remoto que va a ser utilizado por los clientes. Para crear un objeto remoto, se define una interfaz, y el objeto remoto será una clase que implemente dicha interfaz. Veamos como crear un servidor de ejemplo mediante 3 pasos:
1. Definir el interfaz remoto
Cuando se crea un interfaz remoto:
*El interfaz debe ser público.
* Debe extender (heredar de) el interfaz java.rmi.Remote, para indicar que puede llamarse desde cualquier máquina virtual Java.
* Cada método remoto debe lanzar la excepción java.rmi.RemoteException en su claúsula throws, además de las excepciones que pueda manejar.
Veamos un ejemplo de interfaz remoto:
public interface MiInterfazRemoto extendsjava.rmi.Remote
{
  public void miMetodo1() throws java.rmi.RemoteException;
  public int miMetodo2() throws java.rmi.RemoteException;
} |
2. Implementar el interfaz remoto
public class MiClaseRemota
extends java.rmi.server.UnicastRemoteObject
implements MiInterfazRemoto
{
  public MiClaseRemota() throws java.rmi.RemoteException
  {
    // Código del constructor
  }

  public voidmiMetodo1() throws java.rmi.RemoteException
  {
    // Aquí ponemos el código que queramos
    System.out.println("Estoy en miMetodo1()");
  }

  public int miMetodo2() throws java.rmi.RemoteException
  {
    return 5; // Aquí ponemos el código que queramos
  }

  public void otroMetodo()
  {
    // Si definimos otro método, éste no podría llamarse
    // remotamente al no ser del...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programacion Distribuida
  • programación distribuida
  • Programacion paralela y distribuida
  • Aplicaciones distribuidas rmi
  • Programacion De Base De Datos Distribuidas
  • PROYECTO INFORMATICO PROGRAMACION DISTRIBUIDA
  • Rmi Replicacion
  • Ejercicio RMI

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS