180 likes | 535 Views
¿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. ¿Qué es CORBA?. El OMG Arquitectura CORBA El ORB
E N D
¿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. CORBA
¿Qué es CORBA? • El OMG • Arquitectura CORBA • El ORB • CORBA como un estándar para objetos distribuidos • Servicios de CORBA • Productos de CORBA CORBA
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. CORBA
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. CORBA
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. CORBA
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. CORBA
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. CORBA
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.. CORBA
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. CORBA
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. CORBA
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." CORBA
Servicios de CORBA CORBA
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. CORBA
Productos de CORBA • Los productos CORBA que soportan el lenguaje de programación Java incluyen: CORBA