2. • 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.
3. • 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
4. • 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.
6. 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
7. 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.