1 / 32

CORBA: Un Modelo de Objetos Di stribuidos

Universidad Simón Bolívar Departamento de Computación y T.I Sistemas de operación III CI-4822. CORBA: Un Modelo de Objetos Di stribuidos. Prof. Yudith Cardinale Sep – Dic 2001. Introducción.

eman
Download Presentation

CORBA: Un Modelo de Objetos Di stribuidos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Universidad Simón Bolívar Departamento de Computación y T.I Sistemas de operación III CI-4822 CORBA:Un Modelo de ObjetosDistribuidos Prof. Yudith Cardinale Sep – Dic 2001

  2. Introducción • CORBA (Common Object Request Broker Architecture) es un estándard para construir objetos distribuidos. • Propuesto por el Object Management Group (OMG)

  3. Object Management Group (OMG) • Es un consorcio internacional que promueve el desarrollo de software orientado por objetos • El objetivo del OMG es proveer un marco de arquitectura común para permitir la interacción de objetos en plataformas heterogéneas y distribuidas.

  4. Object Management Group (OMG) • Fue fundado en 1989. • Inicialmente estuvo conformado por 8 compañías: 3Com Corpotation, American Airlines, Canon Inc., Data General, Hewlett-Packard, Philips Telecommunications N.V., Sun Microsystems y Unisys Corporation. • Actualmente hay más de 500 miembros

  5. Object Management Group (OMG) • El OMG no realiza trabajos de desarrollo e implementación, más bien se basa en la tecnología existente ofrecida por sus miembros. • Propone especificaciones para el desarrollo de computación distribuida basada en objetos: OMA (Object Management Architecture). • Los miembros pueden proponer especificaciones, luego de un proceso de revisión y votación podrán incorporarse al OMA.

  6. Object Management Architecture (OMA) • Es un modelo conceptual y una arquitectura de referencia sobre la cual se pueden construir aplicaciones. • Define, a un nivel de abstracción alto, varias “facilidades” necesarias para el desarrollo de aplicaciones distribuidas orientadas por objetos. • Consiste de 4 componentes.

  7. Common Facil Object Management Architecture (OMA) APP. Objects Object Request Broquer (ORB) Object Services

  8. Object Management Architecture (OMA) • ORB es el bus de comunicación entre objetos. La tecnología del OMG para su ORB es CORBA. • Object Servicescomprenden un conjunto de interfaces de bajo nivel para la manipulación de objetos: naming, ciclo de vida y transacciones (COSS 1 y 2) • Common Facilities proveen interfaces estandarizadas para aplicaciones comunes (verticales y horizontales) • Application Objects reflejan la necesidad para el desarrollo de aplicaciones independientes.

  9. Enfoque CORBA • Es un enfoque para desarrollar objetos distribuidos sobre múltiples plataformas y lenguajes. • Especifica protocolos básicos (GIOP/IIOP ) usados para tener acceso remoto a los objetos. • CORBA 1.1 (1991) propone implementación específica de ORB • CORBA 2.0 (1994) propone interoperabilidad entre ORBs. • CORBA 3.0 (1997) incrementa interoperabilidad y funcionalidad

  10. INTERFACE REPOSITORY IDL COMPILER IMPLEMENTATION REPOSITORY Enfoque CORBA Componentes en el modelo de referencia In args CLIENT OPERATION() OBJECTS out args + return value DII IDL STUBS DSI ORB INTERFACE IDL SKELETON OBJECT ADAPTER ORB CORE GIOP/IIOP

  11. Enfoque CORBA: IDL • IDL: Interface Definition Language • Es un lenguaje declarativo • Define tipos de objetos especificando sus interfaces estáticas • Provee encapsulamiento en dos niveles: tipos de datos y objetos. • Sintaxis derivada de C++

  12. Enfoque CORBA: IDL // Ejemplo de especificación de IDL: mybank.idl Module BANK { interface BankAccount { enum account_kind {checking,saving}; //types exception account_not_available {string reason}; //exceptions exception incorrect_pin{}; readonly attribute float balance; //atributes attribute account_kind what_kind_of_account; //operations void access (in string account, in string pin) raises (account_not_available, incorrect_pin); void deposit (in float f, out float new_balance) raises (account_not_available); void withdraw (in float f, out float new_balance) raises (account_not_available); } }

  13. Enfoque CORBA Client REQUEST DII IDL Stub ORB Core Object Implementation DSI IDL Sk ORB Interface Object Adapter ORB Core

  14. Enfoque CORBA • IDL Stubs: • Funciones generadas desde la interfaz IDL para “enlazarlas” a los clientes • Provee una interfaz de invocación estática • Dynamic Invocation Interface (DII) • Permite especificar y construir requerimientos en tiempo de corrida. • Operaciones: create_request, invoke, send, get_response

  15. Enfoque CORBA • IDL Skeleton: • Funciones generadas desde la interfaz IDL para “enlazarlas” a las implementaciones de objetos • Dynamic Skeleton Interface (DSI) • Análogo al DII del lado de la implementación de objetos • Puede recibir invocaciones estáticas o dinámicas desde los clientes

  16. Enfoque CORBA • ORB Interface: • Provee funciones para acceder directamente al ORB core desde los clientes y desde las implementaciones de objetos • Su interfaz no depende de la interfaz de los clientes ni de las interfaces de las implementaciones de objetos • Object Adapter: • Provee funciones para instanciar objetos, pasar requerimientos y manipular referencias de objetos • Provee inter-operabilidad

  17. Enfoque CORBA • Repositorio de Interfaces (Interface Repository): • Provee persistencia de objetos • Su información permite que un programa encuentre un objeto cuya interfaz no conoce en tiempo de compilación • Repositorio de Implementaciones (Implementation Repository): • Contiene información que permite al ORB core localizar y activar implementaciones de objetos

  18. Enfoque CORBA HTTP ORB CORBA BUS CORBA BUS ORB ORB ORB ORB ORB ORB Oracle Illustra mSQL NOWs MPP

  19. Implementaciones de ORBs • Residente en el cliente y en la implementación de objeto • Basado en un Servidor • Basado en el Sistema • Basado en Librerías

  20. Modelos de Interacción de CORBA • Síncronas: RPC, protocolo at-most-once, soporta invocaciones estáticas y dinámicas • Asíncronas: semánticas de operaciones one-way y best-effort, soporta invocaciones estáticas y dinámicas • Síncrona diferida: protocolo at-most-once, sólo soporta invocaciones dinámicas

  21. Estructura de un Adaptador de Objetos • Funciones: • Medio de comunicación entre implementaciones de objetos y ORB core • Generación e interpretación de referencias a objetos • Invocación de métodos y seguridad de interacción • Registro, activación y desactivación de objetos • Demultiplexar requerimientos • Pueden ser de propósito específico • Administra objetos compartidos • Provee Persistencia de objetos • Extiende los servicios del ORB core

  22. Estructura de un Adaptador de Objetos Object Implementation Interface A methods Interface B methods Object Adapter Interface Dynamic Skeleton Interface A Skeleton Interface B Skeleton ORB core

  23. Estructura de un Adaptador de Objetos • Tiene tres interfaces diferentes: • Una interfaz privada para el IDL skeleton • Una interfaz privada para el ORB core • Una interfaz pública para las implementaciones de objetos

  24. Estructura de un Adaptador de Objetos • Políticas de Activación de Objetos: • Shared Server: múltiples objetos implementados en el mismo módulo • Unshared Server: un nuevo objeto se inicia cada vez que un requerimiento es ejecutado • Server-per-Method: un nuevo objeto se inicia cada vez que se invoca un método. • Persistent Server: objeto constantemente activo

  25. Estructura de un Adaptador de Objetos • Ejemplos de Adaptadores de Objetos: • Basic Object Adapter (BOA): define un adaptaor de objeto que puede ser usado por muchos ORBs con implementaciones convencionales. Usa políticas shared, unshared y per-method. Poca capacidad de persistencia. • Library Object Adapter: usado por objetos que tienen implementaciones de librerías. Maneja persistencia pero no soporta activación ni autentificación.

  26. Estructura de un Adaptador de Objetos • Ejemplos de Adaptadores de Objetos: • Object-Oriented Database Adapter: usa una conexión a una base de datos orientada por objetos. Provee persistencia dentro de la base de datos. • Portable Object Adapter (POA): usado para que objetos con diferentes ORBs puedan interactuar.

  27. Estructura de un Adaptador de Objetos • Inter-operabilidad: Objects “A” Objects “B” Objects with another ORB POA Special Adap ORB core Gateway

  28. Servicios y Facilidades • Objetos de aplicaciones: resuelven problemas particulares de usuarios particulares • CORBA Facilities: Servicios de nivel intermedio. Verticales y Horizontales • CORBA Services: Servicios básicos para aplicaiones • CORBA core e interoperabilidad

  29. Servicios y Facilidades • CORBA Services: • Ciclo de vida de los objetos • Manejo de nombres • Persistencia • Notificación de eventos • Concurrencia y transacciones • Seguridad • Servicio de tiempo

  30. Servicios y Facilidades • CORBA Facilities: • Horizontales: facilidades comunes • Interfaz con el usuario • Administración de la información • Administración del sistema • Administración de tareas

  31. Servicios y Facilidades • CORBA Facilities: • Verticales: facilidades particulares • Financieras • De telecomunicaciones • Audio y video • Petroquímica

  32. Servicios y Facilidades ORB Services Trader Security ……… Naming Persistence WorkFlow Horizontal Facilities Standard Interfaces i.e. Frameworks System Management HPcc? Vertical Facilities ………….. Oil & Gas Banking DMSO Modeling and simulation Manufacturing Imagery …… ……

More Related