Corba

14
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.

Transcript of Corba

Page 1: Corba

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.

Page 2: Corba

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

Page 3: Corba

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.

Page 4: Corba

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.

Page 5: Corba

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.

Page 6: Corba

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.

Page 7: Corba

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.

Page 8: Corba

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..

Page 9: Corba

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.

Page 10: Corba

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.

Page 11: Corba

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."

Page 12: Corba

CORBA 12

Servicios de CORBAServic io Descripción

Object life cycle Define como los objetos de CORBA son creados, removidos, movidos ycopiados

Naming Define como los objetos de CORBA pueden tener nombres simbólicosamigables.

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 mediosexternos

Transactions Coordina accesos atómicos objetos CORBA

ConcurrencyControl

Provee un servicio de bloqueo para objetos de CORBA objects en ordende asegurar acceso concurrente

Property Soporta la asociación de pares nombre-valor con objetos CORBA

Trader Soporta el encuentro de objetos CORBA basado en propiedadesdescribiendo el servicio ofrecido por el objeto

Query Soporta colas en objectos

Page 13: Corba

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.

Page 14: Corba

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 paraJava

Un ORB popular de Java de “Inprise Corporation”. VisiBroker viene tambiéninterconstruido 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.

NetscapeCommunicator

Los navegadores Netscape tienen una versión de VisiBroker interconstruida enellas mismas. Los Applets pueden emitir solicitudes en objetos CORBA sin tenerque bajar clases ORB en el navegador. Ya están ahí.

Varios sharewaresgratuito ORBs

Las implementaciones CORBA para varios lenguajes están disponibles parabajarlas del web de varias fuentes