La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Common Object Request Broker Architecture (CORBA)

Presentaciones similares


Presentación del tema: "Common Object Request Broker Architecture (CORBA)"— Transcripción de la presentación:

1 Common Object Request Broker Architecture (CORBA)

2 Introducción Como se inicio CORBA y de donde viene. ¿Qué es CORBA?
¿Cuál es el propósito / objetivos de CORBA? Definición Middleware ¿Cómo responder a los objetivos?

3 Como se inicio CORBA y de donde viene.
En 1989 se forma el Object Management Group (OMG), con la finalidad de buscar soluciones a los problemas que surgen al desarrollar nuevos sistemas o de integrar aplicaciones centralizadas ya existentes en entornos distribuidos. En 1991, el OMG recoge su propuesta en un modelo inicial denominado Object Management Architecture (OMA), en el que destaca el corazón de dicha arquitectura: la especificación de CORBA (Common Object Request Broker Arquitecture). Actualmente dicho grupo acaba de concluir la especificación de CORBA 3.0. A partir de la especificación de CORBA, varios fabricantes han construido ya productos comerciales: ORBIX de IONA o el Visibroker de Borland. También, se han desarrollado numerosos productos de libre distribución: Oxbit, Mico, Tao, etc.

4 Arquitectura de un Sistema CORBA

5 ¿Cuál es el propósito / objetivos de CORBA?
• Permitir el desarrollo portátil de código orientado a objetos, interoperable que es de hardware, sistema operativo, red y lenguaje de programación independiente. El modelo de gestión de objetos distribuidos CORBA se compone de: • El modelo de objetos en donde se describe qué es un objeto CORBA • El modelo de referencia en donde se explica qué arquitectura se propone para permitir que los objetos CORBA puedan relacionarse.

6 ¿Qué soluciona CORBA? 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 Hw y scheduling.

7 Definición Middleware
Conjunto de servicios comunes no relacionado con “la lógica de negocio” que permite que aplicaciones servidoras y clientes interactúen con otras a través de una Red. En esencia el Middleware es el software que reside sobre la red , permitiendo software de aplicación orientados sólo a “lógica de negocio.

8 Importancia del Middleware.

9 Productos de Groupware, como por ejemplo Lotus Notes.
Ejemplos sobre implementaciones de Middleware. Correo Electrónico. Provee servicios no relacionados con el negocio que residen sobre la red permitiendo interconectar usuarios. Productos de Groupware, como por ejemplo Lotus Notes. Web Browser, Web gateways. Sql Gateways. Paquetes de “Electronic Data Interchange” (EDI). Paquetes de Remote procedure Call (RPC). Servidores de Objetos distribuidos, como por ejemplo CORBA.

10 ¿Cómo responder a los objetivos?
Existe una interfaz entre aplicaciones clientes y servidoras. Una 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. 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)

11 Interface Definition Language (IDL)
Independencia de Idioma Define las interfaces de objetos Denota servicios que pueden ser atendidos y ejecutados para cambiar de valor y adquirir un valor. La especificación IDL de OMG provee una forma estándar de definir las Interfaces a los objetos de CORBA. La definición IDL es una especie de contrato entre el desarrollo de un objeto y cliente. IDL es independiente de lenguajes de programación y se mapea a los lenguajes mas típicos para desarrollar, actualmente se encuentra e esta generación de código a C, C++, SmallTalk, Java, Ada, Cobol.

12 Define un recipiente (espacio de nombres)
Interface Definition Language (IDL) module <identifier> { interface <identifier> [:inheritance] <type declarations>; <constant declarations>; <exception declarations>; <attribute declarations>; [<op_type>] <identifier>(<parameters>) [raises exception][context]; } Define un recipiente (espacio de nombres) Define un objeto CORBA Define un método

13 Compilador IDL Definir objetos mediante IDL.
Ejecute el archivo IDL través compilador IDL. Compilador utiliza las asignaciones de idioma de programación para generar stubs y esqueletos específicos del idioma. Definiciones IDL Compilador IDL Stubs skeletons

14 Stubs y skeletons Stubs IDL estáticos o SII (Static Invocation Interface). Las operaciones locales que usan los clientes como sustitutas de las remotas. Generadas por el compilador de IDL. Envían y reciben mensajes (haciendo “marshalling” / “unmarshalling”). En lenguajes OO se genera una clase “proxy” por cada interfaz remoto (patrón de diseño “Proxy”).

15 Stubs y skeletons Skeletons IDL estáticos o SSI (Static Skeleton Interface). Las operaciones en el servidor que invocan las correspondientes implementaciones proporcionadas por el programador . Generadas por el compilador de IDL Reciben y envían mensajes (haciendo “unmarshalling” / “marshalling”). En lenguajes OO se genera una clase “skeleton” por cada interfaz remoto

16 Object Request Broker (ORB)
Permite realizar invocaciones de métodos de objetos remotos en un entorno heterogéneo. El documento estándar se llama CORBA (Common Object Request Broker Architecture). En la práctica, el nombre CORBA realmente se aplica para referirse al conjunto de especificaciones. Las especificaciones de interfaces remotos se hacen en IDL (Interface Definition Language). Se han estandarizado los mappings de IDL a los lenguajes más comunes (C, C++, Java, COBOL, Smalltalk, Ada, etc.)

17 Servicios Interfaces de servicios útiles para aplicaciones de cualquier dominio. Nombres Trading Seguridad Transacciones Persistencia Eventos Notificaciones Etc…

18 Componentes de un ORB

19 Compilador IDL (IDL Compiler)
Compila definición IDL en stubs y skeletons. Utiliza OMG asignaciones idioma especificados para traducir IDL en una aplicación específica del lenguaje.

20 Depósito de Implementación (Implementation Repository)
Contiene información que permite al ORB para localizar y activar implementaciones de objetos. Proporciona información sobre las clases admite el servidor, los objetos que se crean instancias y sus documentos de identidad

21 ORB Core Proporciona mecanismo para comunicar de forma transparente las solicitudes de cliente para apuntar implementaciones de objetos Hace solicitudes de los clientes, parecen ser llamadas a procedimientos locales. GIOP - General de Protocolo Inter - ORB. IIOP - Internet Protocolo Inter - ORB. ORB Core GIOP/IOOP

22 Objetos de cliente (servidor)
ORB Interface Cliente Objetos de cliente (servidor) Proporciona funciones auxiliares. Conversión de referencias de objetos a cadenas. Creación de listas de argumentos para las solicitudes realizadas a través de DII. ORB Interface

23 IDL Stub Interfaz de Invocación estática (SII).
Client Interfaz de Invocación estática (SII). Los datos de aplicación Alguaciles en una representación común a nivel de paquetes. Orden de bytes de red (little - endian o big - endian). Tamaño de los tipos de datos IDL Stub

24 Interfaz de Invocación Dinámica
Emitir peticiones dinámicamente a los objetos sin necesidad de stubs IDL se vinculen en: Los clientes descubren las interfaces en tiempo de ejecución y aprenden cómo llamar a Pasos: Obtener nombre de la interfaz Obtener la descripción del método(desde el repositorio de interfaz) Crear lista de argumentos Crear solicitud Invoque petición Cliente DII

25 Interfaz de Skeleton Dinámico
Análogo del lado del servidor para DII. Permite un ORB para entregar las solicitudes a una implementación de objeto que no tiene conocimiento en tiempo de compilación del tipo de objeto que está llevando a cabo Objet (servidor) DSI

26 Adaptador de objetos Aceptar las solicitudes de servicio en nombre de los objetos del servidor. De múltiples peticiones al servidor correcto. Despachos el upcall operación correspondiente en el servidor. Registra las clases que apoya y sus instancias en tiempo de ejecución con el repositorio de la aplicación. Adaptador Portable Objeto (POA). Políticas comportamiento del objeto de control (es decir, LifespanPolicy) Instancia del patrón de diseño del adaptador

27 Referencia de Objetos Cliente Objetos(servidor) OBJ REF • Interoperable Object Reference (IOR) • Identifica de forma exclusiva cada objeto • Contenidos • Nombre Tipo (ID repositorio) • Protocolo y Detalles Servicios • Clave de objeto (nombre del adaptador objeto, nombre de objeto)

28 Implementación Depositor
Escenario Interface Depositor IDL Ccompilador Implementación Depositor Client Objetos (servidor) OBJ REF IDL Stub DII ORB Interface Adaptador de Objetos IDL Skeleton DSI ORB Core GIOP/IOOP

29 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

30 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

31 Seguridad Los Servicios de CORBA proveen servicios a nivel de aplicaciones fundamentales para las aplicaciones orientada a objetos y componentes en entornos Distribuidos. La OMG a definido alrededor de 15 servicios de objetos. Los cuales son: Nombres Trader Notificación Eventos Transacciones Seguridad Ciclo de vida propiedades Persistencia Consulta Relaciones Concurrencia Externaliza ion Licenciamiento Tiempo Colección

32 Seguridad De estos la seguridad controla la identificación de los elementos del sistema, permite verificar que un cliente esta autorizado a acceder los servicios de una implementación remota. Adicionalmente permite la comunicación segura de comunicación inseguras, ofreciendo confidencialidad e integridad de la información transmitida.

33 Conclusión • Objeto, arquitectura de componentes distribuidos ejemplos del mundo real de los patrones de diseño - TAO - freeware ORB • Adaptador de fábrica, Reactor, Estrategia • Transportes enchufable

34 Bibliografía www.omg.org www.cs.wustl.edu/~schmidt/corba.html
Communications of the ACM, October 1998 Jeri Edwards, Dan Harkey, and Robert Orfali. Instant CORBA. New York: Wiley Computer Publishing, 1997.


Descargar ppt "Common Object Request Broker Architecture (CORBA)"

Presentaciones similares


Anuncios Google