1. CORBA 1
¿Qué es CORBA?
CORBA (Common Object Request Broker
Architecture), es una arquitectura estándar
para sistemas de objetos distribuidos.
Permite una distribución, colección
heterogenea de objetos para interoperar.
2. CORBA 2
¿Qué es CORBA?
El OMG
Arquitectura CORBA
El ORB
CORBA como un estándar para objetos
distribuidos
Servicios de CORBA
Productos de CORBA
3. CORBA 3
El OMG
El Object Management Group (OMG) es
responsable de la definición de CORBA.
El OMG comprende sobre 700 compañías y
organizaciones, incluyendo casi todos los
vendedores y desarrolladores de tecnología de
objetos ditsribuidos, incluyendo platformas, base
de datos, y vendedores de aplicaciones así como
una herramienta de software y desarrolladores
empresariales.
4. CORBA 4
Arquitectura de CORBA
CORBA define una arquitectura para objetos distribuidos.
El paradigma básico de CORBA es de una solicitud para
servicios de objetos distribuidos.
Todo lo demás definido por el OMG es en términos de
este paradigma básico.
Los servicios que un objeto provee son dados por su
interface. Las interfaces son definidas en el Lenguaje de
Definición de Interface (IDL) del OMG.
Los objetos distribuidos son identificados por referencias
a objetos, las cuales son definidas por las interfaces IDL.
5. CORBA 5
Arquitectura de CORBA
Un cliente tiene una referencia a un objeto a un objeto distribuido. La
referencia al objeto es dada por una interface.
En la figura la referencia al objeto está dada por la interface Rabbit.
El ORB (Object Request Broker), envía la solicitud al objeto y regresa
cualquiera de los resultados al cliente.
En la figura, un salto en la solicitud regresa una referencia a un objeto
definifa por la interface AnotherObject.
6. CORBA 6
El ORB
El ORB es el servicio distribuido que implementa la solicitud al
objeto remoto.
Localiza el objeto remoto en la red, comunica la solicitud del
objeto, espera los resultados y cuando están disponibles los
envía de regreso al cliente.
El ORB implementa transparencia el la localización.
Exactamente el mismo mecanismo de solicitudes es usado por
el cliente y el objeto de CORBA sin tener en cuenta de donde el
objeto está encontrado.
Puede estar en el mismo proceso con el cliente, en el piso de
abajo o del otro lado del planeta. El cliente no puede ver la
diferencia.
7. CORBA 7
El ORB
El ORB implementa independencia del lenguaje de
programación para la solicitud.
El cliente que esté haciendo la solicitud puede estar
escrito en un lenguaje de programación diferente de
la implementación de la implementación del objeto
de CORBA.
El ORB hace la traducción necesaria entre los
lenguajes de programación.
Las limitaciones del lenguaje son definidas por todos
los lenguajes de programación populares.
8. CORBA 8
CORBA como un estándar
para objetos distribuidos
Una de las metas de la especificación CORBA es que la
implementación de clientes y objetos sea portable.
La especificación de CORBA define una API (application
programmer's interface) para los clientes de un objeto
distribuido así como un API para la implementación de un
objeto CORBA.
Esto significa que el código escrito para un vendedor del
producto CORBA podría, con un mínimo de esfuerzo, ser
reescrito para funcionar con un producto de otro vendedor.
Tal como, la realidad de los productos CORBA en el mercado
actual es que los clientes CORBA son portables pero las
implementaciones de objetos necesitan algo de trabajo para
portarlas de un producto CORBA a otro..
9. CORBA 9
CORBA como un estándar
para objetos distribuidos
CORBA 2.0 añade interoperabilidad como una meta
en la especificación.
En particular, CORBA 2.0 define un protocolo de red,
llamado IIOP (Internet Inter-ORB Protocol), que
permite a los clientes usar un producto CORBA de
cualquier vendedor para comunicarse con objetos
usando un producto CORBA de cualquier otro
vendedor.
IIOP funciona a través de Internet, o más
precisamente, a través de cualquier implementación.
10. CORBA 10
CORBA como un estándar
para objetos distribuidos
Interoperabilidad es más importante en un sistema distribuido
que la portabilidad.
IIOP es usado en otros sistemas que no intentan proveer la API
de CORBA.
En particular, IIOP es usado como el protocolo de transporte
para una versión de JavaTM RMI (llamada "RMI sobre IIOP").
Varios servidores de aplicación disponibles en el mercado usan
IIOP pero no exponen completamente el API de CORBA.
Ya que todos usan IIOP, los programas escritos a ese API
diferente pueden interoperar entre ellos y con programas
escritos para el API de CORBA.
11. CORBA 11
Servicios de CORBA
Otra parte importante del estándar CORBA es la definición de un
conjunto de servicios distribuidos que soportan la integración e
interoperación de objetos distribuidos.
Como está representado en la gráfica de abajo, los servicios,
conocidos como servicios de CORBA (COS), están definidos en la
parte de arriba del ORB.
Esto es, están definidos como objetos estándar de CORBA con
interfaces IDL, algunas veces referidas como a ellas como ”Servicios
de Objectos."
12. CORBA 12
Servicios de CORBA
Servicio Descripción
Object life cycle Define como los objetos de CORBA son creados, removidos, movidos y
copiados
Naming Define como los objetos de CORBA pueden tener nombres simbólicos
amigables.
Events La comunicación entre objetos distribuidos
Relationships Provee relaciones arbitrarias n-areas entre tipos entre objetos CORBA
Externalization Coordina la transformación de objetos CORBA hacia y desde medios
externos
Transactions Coordina accesos atómicos objetos CORBA
Concurrency
Control
Provee un servicio de bloqueo para objetos de CORBA objects en orden
de asegurar acceso concurrente
Property Soporta la asociación de pares nombre-valor con objetos CORBA
Trader Soporta el encuentro de objetos CORBA basado en propiedades
describiendo el servicio ofrecido por el objeto
Query Soporta colas en objectos
13. CORBA 13
Productos de CORBA
CORBA es una especificación; es una
guia para implementar productos.
Varios vendedores proveen productos
CORBA para varios lenguajes de
programación.
14. CORBA 14
Productos de CORBA
Los productos CORBA que soportan el lenguaje de
programación Java incluyen:
ORB Descripción
El Java 2 ORB El Java 2 ORB viene con el Java 2 SDK de Sun.
VisiBroker para
Java
Un ORB popular de Java de “Inprise Corporation”. VisiBroker viene también
interconstruido en otros productos. Por ejemplo, es el ORB que está
interconstruido con el Netscape Communicator browser.
OrbixWeb Un popular Java ORB de Iona Technologies
WebSphere Una aplicación server popular con un ORB de IBM.
Netscape
Communicator
Los navegadores Netscape tienen una versión de VisiBroker interconstruida en
ellas mismas. Los Applets pueden emitir solicitudes en objetos CORBA sin tener
que bajar clases ORB en el navegador. Ya están ahí.
Varios sharewares
gratuito ORBs
Las implementaciones CORBA para varios lenguajes están disponibles para
bajarlas del web de varias fuentes