La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Common Object Request Broker Architecture CORBA Computación de objetos distribuidos y CORBA CORBA es una solución para la distribución de objetos OMG.

Presentaciones similares


Presentación del tema: "Common Object Request Broker Architecture CORBA Computación de objetos distribuidos y CORBA CORBA es una solución para la distribución de objetos OMG."— Transcripción de la presentación:

1

2 Common Object Request Broker Architecture CORBA

3 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

4 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

5 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

6 IDLs

7 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.

8 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

9 Arquitectura CORBA

10 Componentes de la arquitectura CORBA

11

12 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.

13 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.

14 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.

15 Componentes de la arquitectura CORBA

16

17 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

18 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.

19 Interoperabilidad en CORBA: GIOP/IIOP

20 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

21 Introdución a CORBA

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

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

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

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

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

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

28 ¿Cómo funciona el Object Adapter?

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

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

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

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


Descargar ppt "Common Object Request Broker Architecture CORBA Computación de objetos distribuidos y CORBA CORBA es una solución para la distribución de objetos OMG."

Presentaciones similares


Anuncios Google