CORBA (Common Object Request Broker Architecture) es una solución para la computación de objetos distribuidos que añade interoperabilidad a Java. Permite invocar métodos de objetos remotos sin importar el lenguaje en el que estén escritos el llamador y el llamado, ni las plataformas (sistema operativo y hardware) y redes de comunicación intermedias.
CORBA es una especificación, no un software o aplicación.
2. ¿Cuáles son los elementos de la arquitectura CORBA?
Los elementos de la arquitectura CORBA son el ORB, stub y skeletons en cliente y servidor respectivamente, el repositorio de interfaces, y las interfaces de invocación y skeleton dinámicas.
3. Mencione los servicios que incluye CORBA.
CORBA incluye un buen número de servicios:
Nombres.
Trading.
Seguridad.
Transacciones.
Persistencia.
Notificaciones.
Etcétera.
4. ¿Qué es la OMG?
La OMG (Object Management Group) es la encargada de la normalización de la arquitectura CORBA.
5. ¿Cuándo y por quiénes fue fundada la OMG?
OMG fue fundada en 1989 por American Airlines, Canon, Data General, HP, Philips Telecomunicaciones, Sun, 3Com y Unisys.
6. ¿Cuáles son los principales componentes de la arquitectura del modelo de referencia OMG?
Los principales componentes son cuatro:
Servicios de objeto.
Instalaciones comunes.
Interfaces de dominio.
Interfaces de aplicación.
ORB (Object Request Broker).
7. ¿Cuáles son los componentes de CORBA ORB?
Los componentes de CORBA ORB son los siguientes:
Objeto.
Servidor.
Cliente.
Object Request Broker (ORB).
ORB Interface.
CORBA IDL stubs y skeletons.
Invocación dinámica Interface (DII).
Interfaz de Skeleton Dinámico (DSI).
Adaptador Object.
8. ¿Qué es IDL?
IDL es el lenguaje que permite especificar interfaces, y el elemento central para soportar la interoperabilidad. CORBA utiliza un lenguaje de definición de interfaz (IDL) para especificar las interfaces de los objetos que se presentan al mundo exterior. CORBA especifica entonces un mapeo de IDL a un lenguaje de implementación específico, como C++ o Java.
9. ¿Qué se necesita para implementar una interfaz IDL?
Para implementar una interfaz IDL es necesario:
Definir una clase Java que se pueda acceder a través de la interfaz IDL.
Crear objetos de esa clase dentro de un servidor de aplicaciones Java Orbix.
10. ¿Qué es Servant?
Es una entidad del lenguaje de programación que implementa uno o más objetos CORBA. En lenguajes orientados a objetos, un servant es una instancia de una clase que implementa las operaciones del interfaz remoto.
11. ¿Cuáles son las ventajas de CORBA?
Ventajas (con respecto a otras tecnologías similares):
Software COTS (Commercial Off The Shelf).
Estandarizado, múltiples implementaciones (no se depende de un fabricante).
Las especificaciones se adoptan por consenso.
Buena infraestructura para construir aplicaciones distribuidas.
Permite integrar aplicaciones heterogéneas.
12. ¿Cuáles son las desventajas de CORBA?
Desventajas:
No es la tecnología más sencilla de utilizar.
Las especificaciones tardan en desarrollarse y, en consecuencia, las implementaciones tardan en salir al mercado.
13. ¿Qué es lo que soluciona CORBA?
CORBA soluciona lo siguiente:
Aplicaciones. Procesos clientes y servidores que representan la lógica del negocio como objetos que pueden residir en distintas máquinas.
Middleware. Soporte que permite la comunicación entre aplicaciones.
Servicios de Red. Transporta la información entre computadores.
Servicios Locales. Ejemplo, bases de datos y administradores de transacciones.
Sistema Operativo. Provee servicios básicos de hardware y scheduling.
14. ¿Cómo funciona CORBA?
Los conceptos claves de CORBA son:
Esencialmente especifica los servicios de middleware que serán usados por las aplicaciones (objetos).
Existe una interfaz entre aplicaciones clientes y servidoras. Un lenguaje de definición de interfaz (IDL) ha sido definido específicamente para CORBA.
Cualquier objeto puede ser un cliente, un servidor o ambos. Para efectos de descripción, CORBA usa el modelo Cliente/Servidor.
Soporta “static binding” y “dynamic binding”.
No conoce los detalles de las implementaciones fundamentales de los objetos. Un “object adapter” mapea modelos genéricos a implementaciones, siendo la principal manera en que las implementaciones de los objetos acceden los servicios provistos por el ORB (Object Request Broker).
15. Mencione las características de CORBA.
CORBA tiene las siguientes características:
Independencia del Lenguaje.
Independencia del Sistema Operativo.
Libertad de Tecnologías.
Tipado fuerte de datos.
Alta capacidad de ajuste.
Libertad de detalles del traspaso de datos.
Compresión.
16. ¿Cómo ha evolucionado CORBA?
CORBA es una especificación. Como cualquier especificación, hubo áreas dejadas a la interpretación de los implementadores.
A través de Internet Inter-ORB Protocol (IIOP), la OMG espera que los ORB de diferentes vendedores puedan comunicarse fácilmente entre sí.
Recientemente, las especificaciones “Portable Object Adapter” (POA) permiten a clientes escritos para acceder a un ORB en particular, acceder fácilmente a otros productos de diferentes vendedores.
Se ha adaptado a los tiempos y a la competencia.
17. ¿Qué proyecciones tiene CORBA?
RMI y CORBA son dos estándares de objetos distribuidos soportados por OMG.
Microsoft COM/DCOM.
Las especificaciones “CORBA Java-to-IDL” y “object-by-value” son un gran paso hacia la unificación en el campo de los objetos distribuidos entre CORBA y RMI. Significa que no se debe elegir entre Java RMI y Java IDL. EJB es un buen ejemplo de esta nueva unificación en acción.