Este sumario compara las características de Java RMKI y Java IDL para ayudarnos ha ahcer más fácil la elección entre los dos. También proporciona enaces a otras fuentes de información sobre CORBA, IDL y el OMG.
Como tiene propósitos similares, RMI e IDL tiene algunas características y capacidades similares -- así como algunas diferencias. Esta sección sumariza muchas de estas similitudes y diferencias para ayudarnos a entender estas tecnologías y hacernos su elección más sencilla.
- 100% puro Java contra Soporte de Aplicaciones Legales
- Java RMI es una solución 100% puro Java para objetos remotos, proporciona todas las ventanas del Java "write once, run anywhere". Los servidores y clientes desarrollados con Java RMI pueden desarrollarse en cualquier lugar de la red sobre cualquier plataforma que soport el entorno de ejecución Java.
En contraste, Java IDL, está basado en un estándard de la industria para invocación remota de objetos escritos en cualquier lenguaje de progrmación soportado. Como resultado, Java IDL proporciona una forma de conectar con aplicaciones "legales" que todavía sirven para necesidades vitales de negocios pero que han sido escritos en lenguajes distintos a Java.
- Protocolos de Comunicación
- Java RMI y Java IDL realmente utilizan diferentes protocolos de comunicación entre objetos de diferentes plataformas. Java IDL usa el estandard de CORBA, Internet Inter-Orb Protocol (IIOP), el protocolo compartido por todos los Object Request Brokers ORB compatibles con CORBA. Junto con, IDL, IIOP permite a los objetos residentes en diversas plataformas y escritos en distintos lenguajes para interactual de formas estándard. Java RMI actualmente usa el Java Remote Messaging Protocol (JRMP)-- un protocolo desarrollado específicamente para las capacidades de objetos remotos de java.
Para el futuro, Sun e IBM han anunciado planes para permitir que RMI use el protocolo IIOP para comunicarse con objetos remotos compatibles CORBA.
- Objetos por Referencia, Objetos por Valor
- En Java IDL, un cliente interactua con un objeto remoto por referencia. Es decir, el cliente nunca obtiene una copia real del objeto del servidor en su propio entorno de ejecución. En su lugar, el cliente usa punteros en el sistema de ejecución local para manipular el objeto que reside en el servidor en una plataforma remota.
En contraste, RMI pemite a un cliente interactuar con un objeto por referencia, o descargarlo y manipularlo en el entorno de ejecución local por valor. Esto es así porque todos los objetos RMI son objetos Java. RMI usa las capacidades de serialización de objetos del lenguaje Java para transportar objetos desde el servidor al cliente. Java IDL, como interactua con objetos escritos en cualquier lenguaje, no puede tomar ventaja de esta característica "write once, run anywhere" del lenguaje de programación Java .
Observa que las futuras versiones de la especificación CORBA incluirán protocolos para pasar objetos por valor.
Glosario Java IDL ofrece definiciones de los nuevos términos que hemos encontrado a través de este tutorial. Puedes leer más información detallada (en Inglés) en la documentación On-Line de Java IDL: http://java.sun.com/products/jdk/idl/index.html .