Comunicación entre capas. DCOM, Java RMI y CORBA

El principal problema que plantea el desarrollo de aplicaciones distribuidas es la comunicación entre los diferentes componentes que la forman. Se asume que hay una conexión física y un nivel de transporte, sobre el cual será preciso usar protocolos de nivel superior para establecer una conversación bidireccional.

Un sistema disponible en cualquier red actual consiste en transferir mensajes entre aplicaciones, por ejemplo usando APIs como los sockets que están disponibles en sistemas UNIX y Windows, tuberías o mailslots. En cualquier caso se trata de un sistema de muy bajo nivel que fuerza al programador a ocuparse de tareas como la composición, transmisión e interpretación de los mensajes, cuando realmente su trabajo debería centrarse en la finalidad concreta de la aplicación y no en detalles de este tipo.

La segunda opción consiste en usar algún mecanismo de RPC, de tal forma que el cliente pueda realizar llamadas a funciones que, aunque se ejecutan remotamente, aparecen como locales.
Prácticamente todos los sistemas disponen actualmente de mecanismos RPC, aunque no siemprecompatibles entre sí. El estándar actual es DCE RPC.

Por último encontramos el eslabón más evolucionado, los modelos de objetos distribuidos. Los tres exponentes más conocidos y usados son DCOM, Java RMI y CORBA. Usando cualquiera de estos modelos el desarrollador no tiene porque preocuparse de gestionar mensajes usandos APIs de bajo nivel ni usar llamadas a funciones remotas independientes, los elementos usados son objetos. El nivel de abstracción es mucho mayor y el desarrollo de este tipo de aplicaciones se simplifica considerablemente.