Descripción: es la clasificacion del maciso rocos rmi
panduan MI 2017Full description
Java Remote Method Invocation.
Articulo Comparacion SOCKET vs RMI
Descripción completa
Descripción: Diagnóstico de pillkomarca
Arqui Ar quitec tectur turaa RMI RMI Instituto Politécnico Nacional Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Culhuacán Ingeniería de Softwa Software re A L VA V I C E N T E I VA N D E A N DA A R G Ü E L L E S O. A D R I A N F IGUEROA P A L M A D A AN NIEL R E V E L O M E D I N A E . J OSIMAR
¿Qué es la arquitectura Remote Method Invocation (RMI)? Es una forma de que un programador, utilizando el lenguaje de programación y entorno de desarrollo Java, puede escribir la programación orientada a objetos en la que los objetos en diferentes ordenadores pueden interactuar en una red distribuida. RMI es la versión 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.
Se implementa en tres capas: 1) Un programa de código auxiliar ( stub ) en el lado del cliente de la relación 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 función de los parámetros 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 múltiples programas remotos como en una multidifusión. 3) Una capa de transporte ( transport ) de conexión, que establece y gestiona la solicitud.
Una petición única viaja hacia abajo a través de las capas en un equipo y a través de las capas en el otro extremo.
Sun llama a su ‘objeto parámetro-mecanismo de elusión’ una serialización de objetos. Una solicitud de RMI es una solicitud para invocar el método de un objeto remoto. La solicitud tiene la misma sintaxis que una solicitud para invocar un método de objeto en el mismo equipo (local). En general, el RMI está diseñado para preservar el modelo de objetos y sus ventajas a través de una red.
V ENTAJAS DE RMI Permite
distribuir una aplicación de forma muy transparente, es decir, sin que el programador tenga que modificar apenas el código. Las invocaciones remotas son más eficientes que las peticiones vía http que se usan con los CGIs o los Servlets. Permite el desarrollo rápido y fácil de objetos distribuidos. Es una plataforma amigable para empezar en el área de aplicaciones distribuidas. La habilidad de descargar los bytecodes (o simplemente, código) de una clase de un objeto si la clase no está definida en la máquina virtual del servidor.
DESVENTAJAS DE RMI El
paso de parámetros por valor implica tiempo para hacer la serialización, enviar los objetos serializados a través de la red y luego volver a recomponer los objetos en el destino. No permite la fácil integración con sistemas heredados Tiene algunas limitaciones debido a su estrecha integración con Java; la principal de ellas es que esta tecnología no permite la interacción con aplicaciones escritas en otro lenguaje.
Ejemplo:
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 métodos que serán accesibles remotamente Cada uno de estos métodos debe manejar la excepción java.rmi.RemoteException RMI utiliza el mecanismo de serialización de objetos para transportar objetos entre máquinas virtuales
•
•
•
•
•
El código 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; }
El código de la interfaz Tarea es el siguiente: package callback; import java.io.Serializable; public interface Tarea extends Serializable{ public String recado(); }