JAVA RMI

The Java Remote Method Invocation

MENU

RMI v/s CORBA v/s IDL v/s DCOM

A continuacion presentare las ventajas y desventajas de cada uno de los 4 sistemas vistos anteriormente. La idea es que ud se haga una idea general de la utilidad de cada uno de ellos.

RMI
ventajas
  • Es REALMENTE facil de usar si ya se conoce JAVA.
  • Portable a traves de plataformas con soporte JAVA.
  • Bajo costo al convertir sistema existente.
  • Soporta paso de objetos por referencia y/o valor.
desventajas
  • A veces, no es tan intuitivo.
  • No soportado por otros lenguajes
  • Disminuye el rendimiento con el crecimiento del sistema


CORBA
ventajas
  • Provee soporte a traves de varias plataformas.
  • Es escalable en sistemas grandes a enormes.
  • Provee mapeo desde IDL hacia C, C++, ADA, SmallTalk, and Java.
desventajas
  • Los mecanismos de seguridad son divergentes (kerberos, SSL).
  • Hay servicios basicos, pero pocos servicios avanzados.
  • Hay limitadas herramientas de desarrollo.
  • Aun no hay un estandar real para prioridad de los hilos, deadlines y timeouts.


IDL
ventajas
  • Implementable en cualquier plataforma con soporte JAVA.
  • Mantiene heterogeneidad al poder interactuar con otros lenguajes.
desventajas
  • Acotada a plataformas con soporte JAVA
  • No realiza una "recoleccion de basura distribuida".
  • Solo soporta Paso por Referencia. RMI en cambio permite Paso por Valor, debido a que como trabaja solo con objetos JAVA, la serializacion en mucho mas facil y fluida.


DCOM
ventajas
  • Hay muchos libros, herramientas y desarrolladores.
  • Existe una buena integracion con VisualBasic y JAVA.
  • Microsoft depende de su funcionamiento.
desventajas
  • Hay muy poco soporte en plataformas no-windows. Si bien alguos vendedores de Unix consiran incorpocar DCOM en sus proximos release, el sistema no es lo suficientemente estable para ganar la aceptacion en el mundo UNIX.
  • Es dificil mantener una consistencia en el registro.
  • No existe una limpieza "pasifica" por lo que una referencia a un servicio se puede mantener en memoria, pese a que se haya terminado.