CORBA

Common Object Request Broker Architecture (CORBA) es una especificación de código abierto, independiente del proveedor para la informática distribuida. Está editada por el grupo de gestión de objetos (OMG).

La mayoría de aplicaciones necesitan diferentes objetos de diversas plataformas y sistemas operativos para comunicarse entre sí a través de redes. CORBA permite que los objetos interactúen de esta manera, utilizando el protocolo Inter-ORB de Internet (IIOP). Para ayudar a que los objetos entiendan las operaciones disponibles y que la sintaxis necesaria las invoque, se utiliza un lenguaje IDL (Interface Definition Language). El lenguaje IDL es independiente del lenguaje de programación con el fin de aumentar la interoperatividad entre los objetos.

Cuando un desarrollador de aplicaciones define un objeto, también define otros aspectos. Estos aspectos pueden incluir la posición del objeto en una jerarquía global, atributos de objetos y posibles operaciones. A continuación, todos los aspectos se describen en el IDL. Después, la descripción se convierte en una implementación utilizando un compilador IDL. Por ejemplo, IDLJ es un compilador IDL para el lenguaje Java™ y convierte una descripción IDL en un código fuente Java. La ventaja que tiene es que la implementación de objeto se encapsula mediante la definición de IDL. Cualquier otro objeto que desee interactuar puede hacerlo utilizando los mecanismos definidos con el IDL compartido.

Los desarrolladores habilitan esta interoperatividad definiendo la jerarquía, los atributos y las operaciones de objetos utilizando IDL. A continuación, utilizan un compilador IDL (por ejemplo, IDLJ para Java) para correlacionar la definición con una implementación en un lenguaje de programación. La implementación de un objeto está encapsulada. Los clientes del objeto sólo pueden ver su interfaz IDL externa. OMG ha generado especificaciones para correlaciones de IDL con muchos lenguajes de programación comunes, incluidos C, C++ y Java

Una parte esencial de la especificación CORBA es el intermediario de solicitudes de objetos (ORB). ORB direcciona solicitudes de un objeto cliente a un objeto remoto. A continuación, devuelve las respuestas a los destinos necesarios. Java contiene una implementación del ORB que se comunica utilizando IIOP.