La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

CORBA: Un Modelo de Objetos Distribuidos

Presentaciones similares


Presentación del tema: "CORBA: Un Modelo de Objetos Distribuidos"— Transcripción de la presentación:

1 CORBA: Un Modelo de Objetos Distribuidos
Universidad Simón Bolívar Departamento de Computación y T.I Sistemas de operación III CI-4822 CORBA: Un Modelo de Objetos Distribuidos 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 Object Management Architecture (OMA)
APP. Objects Common Facil 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 Services comprenden 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 Componentes en el modelo de referencia
Enfoque CORBA Componentes en el modelo de referencia INTERFACE REPOSITORY IDL COMPILER IMPLEMENTATION 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) }

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

14 Enfoque CORBA IDL Stubs: Dynamic Invocation Interface (DII)
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: Dynamic Skeleton Interface (DSI)
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: Object Adapter:
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 NOWs Oracle ORB CORBA BUS CORBA BUS ORB ORB ORB ORB ORB
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 …… ……


Descargar ppt "CORBA: Un Modelo de Objetos Distribuidos"

Presentaciones similares


Anuncios Google