RMI
-
Upload
saul-flores -
Category
Technology
-
view
49 -
download
0
Transcript of RMI
es un paquete de
JAVA que permite
manejar objetos
• Antes de la era de la programación orientada a objetos, se creó
RPC (Remote Procedure Call) para invocar procedimientos
cuya implementación se encuentra en máquinas remotas.
• La primera alternativa que surgió al empleo de los sockets.
RPC se encarga de empaquetar los argumentos y enviarlos al
proceso que contiene el código que implementa a la rutina
remota.
• Los sistemas codifican los parámetros de la invocación, así como
los valores de vuelta en una representación externa de los datos.
• Se requiere ya no invocar procedimientos remotos, sino a métodos
de objetos remotos.
Con la llegada de la Programación Orientada a Objetos se crean
esquemas análogos usando objetos. Es así como surge RMI
• RMI es una tecnología desarrollada por Sun para permitir la colaboración de objetos que están localizados remotamente. Esta tecnología se enmarca en la idea de permitir colaboración entre Objetos Remotos. La idea no es que los objetos se comuniquen a través de la programación del usuario de protocolos estándares de red como TCP/IP. La idea es tener un objeto cliente, donde podamos efectuar un requerimiento de datos. Ante una solicitud, el cliente prepara el requerimiento y lo envía a un objeto ubicado en un servidor. El objeto remoto prepara la información requerida (accediendo a bases de datos u otros objetos). Finalmente el objeto remoto envía la respuesta al cliente. En lo posible esta interacción debería ser lo más semejante posible a requerimientos hechos localmente.
CLIENTE SERVIDOR
VENTAJAS Y DESVENTAJAS
Las principales ventajas de Java RMI son:
• Proporciona el paso de objetos por referencia
Recolección de basura distribuida (Distributed Garbage
Collector)
• Proporciona el paso de tipos arbitrarios Incluye
mecanismos de seguridad a través del “security manager”
• Pueden ejecutarse sobre cualquier máquina virtual Java
Las principales desventajas de RMI son:
• 1. Java RMI depende totalmente del núcleo de Serialización de Objetos de Java, por lo cual no es compatible la comunicación con otras tecnologías
• 2. Las aplicaciones dependen de la máquina virtual Java para ser ejecutadas.