La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Common Object Request Broker Architecture

Presentaciones similares


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

1 Common Object Request Broker Architecture
CORBA

2 Computación de objetos distribuidos y CORBA
CORBA es una solución para la distribución de objetos OMG ha definido CORBA: Un modelo de objetos Cómo interaccionan los objetos Una arquitectura del sistema que soporta la interacción de objetos Un lenguaje para definir las interacciones entre objetos Servicios básicos para aplicaciones distribuidas

3 CORBA: un bus software Todos los componentes en CORBA son objetos
Cada objeto tiene una interfaz y una identidad única Cada objeto se puede implementar con un lenguaje de programación distinto, y ejecutarse sobre cualquier plataforma HW y sistema operativo CORBA define el bus software que permite la interacción de esa diversidad de objetos

4 IDL: Interface Definition Lang.
IDL separa la interfaz de la implementación Lenguaje de especificación de interfaces públicas, con herencia múltiple y fuertemente tipado Independiente de cualquier lenguaje de programación OMG define correspondencias con muchos lenguajes No es un lenguaje de programación Permite la interoperabilidad Soporta el mecanismo de invocación dinámica

5 IDLs

6 Conceptos y terminología
CORBA. Common Object Request Broker Adapter – Ofrece interfaces de programación independientes de la plataforma y modelos para aplicaciones portables basadas en objetos distribuidos. ORB (Object Request Broker). Permite la comunicación transparente entre clientes de objetos. Objeto CORBA: entidad virtual que puede ser localizada por un ORB y que puede aceptar peticiones de clientes. – Es virtual, se concreta en un determinado lenguaje de programación.

7 Conceptos y terminología
Objeto destino. Objeto CORBA al que se le hace una petición. Cliente. Entidad que hace una petición sobre un objeto CORBA. – Puede existir en un espacio de direcciones distinto Servidor. Aplicación en la que residen uno o más objetos CORBA. Petición. Invocación de una operación de un objeto CORBA realizada por un cliente. Referencia a objeto. Manejador que se usa para identificar, localizar y dar la dirección de un objeto CORBA. Sirviente. Entidad de un lenguaje de programación que implementa uno o más objetos CORBA. Los sirvientes encarnan objetos CORBA

8 Arquitectura CORBA

9 Componentes de la arquitectura CORBA

10 Componentes de la arquitectura CORBA

11 Flujo general de peticiones
El cliente realiza una petición usando stubs estáticos (previamente compilados) o la Interfaz de invocación dinámica (DII) y la dirige a su ORB. El ORB cliente transmite las peticiones al ORB enlazado con el servidor. El ORB del servidor redirige la petición al adaptador de objetos que ha creado el objeto destino. El adaptador de objetos dirige la petición al servidor que implementa el objeto destino. Puede utilizar esqueletos estáticos o la interfaz de esqueleto dinámico. El servidor devuelve su respuesta.

12 Invocación de peticiones
Para que un cliente envíe un mensaje a un objeto necesita tener una referencia de dicho objeto. Las operaciones se realizan a través de la referencia al objeto. Cuando un cliente llama a una operación, el ORB: Localiza al objeto destino. Activa a la aplicación servidor, si no está activa. Transmite los argumentos. Activa un sirviente para el objeto si es necesario. Espera hasta que se complete la operación. Devuelve cualquier parámetro out e inout al cliente. Devuelve una excepción cuando falla la llamada.

13 Estilos de peticiones Petición síncrona. El cliente se bloquea esperando la respuesta. Idénticas a las llamadas a procedimientos remotos. Petición de sentido único (oneway). El cliente no espera respuesta. También existen peticiones asíncronas.

14 Componentes de la arquitectura CORBA

15 Componentes de la arquitectura CORBA

16 Funciones del ORB Entrega las peticiones a los objetos destino (locales o remotos) y devuelve las respuestas a los clientes que hicieron las peticiones El ORB se basa en la referencia al objeto destino Transparencias soportadas: Localización de objetos Implementación de objeto Estado de ejecución del objeto Mecanismos de comunicación con el objeto Entiende IDL y mantiene un Repositorio de Interfaces También mantiene un Repositorio de Implementaciones Puede federar esta información a través de varios sistemas: UNA WEB DE ORBs INTERCONECTADOS

17 Adaptadores de Objeto Un adaptador de objeto es un objeto que adapta la interfaz de un objeto a una interfaz esperada por un usuario. – Crean referencias de objetos – Aseguran que cada objeto destino esté encarnado en un sirviente – Reciben las peticiones emitidas por el ORB del servidor y las redirigen a los sirvientes que encarnan a los objetos destino.

18 Interoperabilidad en CORBA: GIOP/IIOP

19 Resumen CORBA es una solución a la computación de objetos distribuidos. Los elementos básicos de la arquitectura CORBA son el ORB, stub y skeletons en cliente y servidor respectivamente, el repositorio de interfaces, y las interfaces de invocación y skeleton dinámicas IDL es el lenguaje que permite especificar interfaces, y el elemento central para soportar la interoperabilidad

20 Introdución a CORBA

21 ¿Cómo funciona el Cliente / Servidor CORBA?
module test { interface Hello { string getTime(); }; getTime() Client Hello Object The current time is Mon Jun 10 15:41:14 EST 2002

22 ¿Cómo funciona el Cliente / Servidor CORBA?
module test { interface Hello { string getTime(); }; getTime() Client Hello Object The current time is Mon Jun 10 15:41:14 EST 2002

23 CORBA Cliente Servidor
module test { interface Hello { string getTime(); }; Client Hello Object ORB CORE ORB CORE GIOP/IIOP

24 CORBA Cliente Servidor
module week1 { interface Hello { string getTime(); }; The current time is Mon Jun 10 15:41:14 EST 2002 getTime() Client Hello Object ORB CORE ORB CORE GIOP/IIOP

25 CORBA Cliente Servidor
module test { interface Hello { string getTime(); }; Client getTime() Hello Object getTime() getTime() Object Ref The current time is Mon Jun 10 15:41:14 EST 2002 IDL Skeleton Construct Request Object Stub Find the Object ORB Interface Object Adaptor Marshall/ Unmarshall Marshall/ Unmarshall GIOP/IIOP ORB CORE OS Kernel OS Kernel Connection Management OS I/O Sub System OS I/O Sub System Network Adaptor Network Adaptor

26 CORBA Cliente Servidor
module test { interface Hello { string getTime(); }; Client getTime() Hello Object Object Ref The current time is Mon Jun 10 15:41:14 EST 2002 Week1 project completed successfully IDL Skeleton Stub ORB Interface Object Adaptor GIOP/IIOP ORB CORE OS Kernel OS Kernel Connection Management OS I/O Sub System OS I/O Sub System Network Adaptor Network Adaptor

27 ¿Cómo funciona el Object Adapter?

28 Hello CORBA Cliente Servidor
getTime() Hello Servant Object Ref The current time is Mon Jun 10 15:41:14 EST 2002 IDL Skeleton Object Adaptor Stub ORB Interface GIOP/IIOP ORB CORE OS Kernel OS Kernel Connection Management OS I/O Sub System OS I/O Sub System Network Adaptor Network Adaptor

29 Invocando getTime() Client Hello Servant Stub getTime() Object Ref
IDL Skeleton Construct Request Object Object Adaptor Object Adaptor Stub Find the Object ORB Interface Marshall/ Unmarshall Marshall/ Unmarshall GIOP/IIOP ORB CORE OS Kernel OS Kernel Connection Management OS I/O Sub System OS I/O Sub System Network Adaptor Network Adaptor

30 Comportamiento del Object Adapter, luego de recibir la petición
Incoming requests Servant Hello Servant ORB POA Manager POA Servant Servant

31 Ejecutar la llamada getTime() y retornar el resultado
Client getTime() Hello Servant getTime() getTime() Object Ref The current time is Mon Jun 10 15:41:14 EST 2002 IDL Skeleton Construct Request Object Object Adaptor Stub Find the Object ORB Interface Marshall/ Unmarshall Marshall/ Unmarshall GIOP/IIOP ORB CORE OS Kernel OS Kernel Connection Management OS I/O Sub System OS I/O Sub System Network Adaptor Network Adaptor


Descargar ppt "Common Object Request Broker Architecture"

Presentaciones similares


Anuncios Google