Sei sulla pagina 1di 12

Arquitectura RMI

ALVA VI CENTE IVAN


DE ANDA ARGELLES O. ADRI AN
FI GUEROA PALMA DANI EL
REVELO MEDI NA E. JOSIMAR
Instituto Politcnico Nacional
Escuela Superior de Ingeniera Mecnica y Elctrica
Unidad Culhuacn
Ingeniera de Software
Qu es la arquitectura Remote Method
Invocation (RMI)?
Es una forma de que un programador, utilizando el lenguaje de
programacin y entorno de desarrollo Java, puede escribir la
programacin orientada a objetos en la que los objetos en
diferentes ordenadores pueden interactuar en una red
distribuida.
RMI es la versin Java de lo que generalmente se conoce
como una llamada a procedimiento remoto (RPC), pero con la
capacidad de pasar uno o varios objetos, junto con la solicitud.
2
Se implementa en tres capas:
1) Un programa de cdigo auxiliar (stub) en el lado del cliente de la relacin
cliente/servidor, y un esqueleto (skeleton) correspondiente del lado del servidor.
El stub aparece al programa de llamada a ser el programa que se llama para un
servicio.
2) Una capa de referencia remota (remote reference layer) que puede comportarse
de manera diferente en funcin de los parmetros que se pasan por el programa
de llamada. Por ejemplo, esta capa puede determinar si la solicitud es para llamar
a un solo servicio a distancia o mltiples programas remotos como en una
multidifusin.
3) Una capa de transporte (transport) de conexin, que establece y gestiona la
solicitud.
3
Una peticin nica viaja hacia abajo a travs de las capas en un equipo y a
travs de las capas en el otro extremo.
4
Sun llama a su objeto parmetro-mecanismo de elusin
una serializacin de objetos. Una solicitud de RMI es una
solicitud para invocar el mtodo de un objeto remoto. La
solicitud tiene la misma sintaxis que una solicitud para
invocar un mtodo de objeto en el mismo equipo (local).
En general, el RMI est diseado para preservar el
modelo de objetos y sus ventajas a travs de una red.
5
VENTAJAS DE RMI
Permite distribuir una aplicacin de forma muy transparente, es decir, sin
que el programador tenga que modificar apenas el cdigo.
Las invocaciones remotas son ms eficientes que las peticiones va http que
se usan con los CGIs o los Servlets.
Permite el desarrollo rpido y fcil de objetos distribuidos.
Es una plataforma amigable para empezar en el rea de aplicaciones
distribuidas.
La habilidad de descargar los bytecodes (o simplemente, cdigo) de una
clase de un objeto si la clase no est definida en la mquina virtual del
servidor.
6
DESVENTAJAS DE RMI
El paso de parmetros por valor implica tiempo para hacer la
serializacin, enviar los objetos serializados a travs de la red y
luego volver a recomponer los objetos en el destino.
No permite la fcil integracin con sistemas heredados
Tiene algunas limitaciones debido a su estrecha integracin
con Java; la principal de ellas es que esta tecnologa no permite
la interaccin con aplicaciones escritas en otro lenguaje.
7
Ejemplo:
8
9
En primer lugar se escribe la interfaz remota del
servidor
Toda interfaz remota debe declararse como public y
debe extender la interfaz java.rmi.Remote
Debe definir los mtodos que sern accesibles
remotamente
Cada uno de estos mtodos debe manejar la
excepcin java.rmi.RemoteException
RMI utiliza el mecanismo de serializacin de objetos
para transportar objetos entre mquinas virtuales
El cdigo de la interfaz remota ejecutor es el
siguiente:
:package callback;
import java.rmi.*;
public interface ejecutor extends Remote{
public String ejecutar(Tarea t) ;
throws RemoteException;
}
10
El cdigo de la interfaz Tarea es el siguiente:
package callback;
import java.io.Serializable;
public interface Tarea extends Serializable{
public String recado();
}
11
Referencias
http://searchsoa.techtarget.com/definition/Remote-Method-Invocation
http://www.eg.bucknell.edu/~cs379/DistributedSystems/rmi_tut.html
http://www.javacoffeebreak.com/articles/javarmi/javarmi.html
12

Potrebbero piacerti anche