Common Object Request Broker Architecture

Slides:



Advertisements
Presentaciones similares
APLICACIONES DISTRIBUIDAS
Advertisements

Tabla de Contenido Concurrencia.
Arquitectura Cliente Servidor
Internet y tecnologías web
Sistema operativo Componentes de un sistema operativo
Common Object Request Broker Architecture (CORBA)
Aplicación informática. formando parte de una red. pone sus recursos a disposición de las demás computadoras(clientes) de la red. Maneja información.
Carlos Rojas Kramer Universidad Cristóbal Colón
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
BASES DE DATOS CLIENTE SERVIDOR Y DISTRIBUIDAS
Práctica II: Java RMI.
Lenguajes Servicios Web
Servicios Web.
SISTEMAS EN TIEMPO REAL Y DISTRIBUIDOS CAPITULO 1
"java del lado del servidor" Servlet y JSP Java Server Pages.
Tipos de Servicios Web.
Tecnología de objetos distribuidos y arquitectura de componentes.
Investigación Servidor de Aplicaciones WebSphere
Entornos orientados a objetos
RMI Remote Method Invocation
Java 2 Platform Enterprise Edition
Ingeniería del Software
INSTALACIÓN Y MANTENIMIENTO DE SISTEMAS OPERATIVOS
PROTOCOLOS Un protocolo es un conjunto de reglas que hacen que la comunicación en una red sea más eficiente.
Universidad Nacional de San Antonio Abad del Cusco
PROGRAMACION DISTRIBUIDA
BASES DE DATOS ORIENTADAS A OBJETO
Universidad Simón Bolívar Departamento de Computación y T.I Sistemas de operación III CI-4822 Modelo de Objetos Distribuidos CORBA: Un caso de Estudio.
Es una arquitectura de procesamientos cooperativo donde uno de los componentes pide servicios a otro. Es un procesamiento de datos de índole colaborativo.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Ingeniería del software II
Sistemas Operativos Centralizados y Distribuidos Carlos David Zepeda.
Tecnologías para el desarrollo de aplicaciones Web
Ejemplo CORBA: Java IDL
Modelado Arquitectónico
CORBA IDL Ramón Mª Gómez Labrador Deptº Lenguajes y Sistemas Informáticos Universidad de Sevilla.
Arquitectura de una aplicación
Programación Orientada a Aspectos (POA)
JAVA RMI The Java Remote Method Invocation ELO330 – Programación de Sistemas Cesar Vásquez I
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
CORBA: Un Modelo de Objetos Distribuidos
RMI Remote Method Invocation 2da. Clase del 19 de Junio
OBJETOS DISTRIBUIDOS E INVOCACIÓN REMOTA ING. MARISCAL.
ESB Víctor Cabrera Cañizares.
Teoría de Sistemas Operativos
1 Nivel aplicación Interacción Cliente Servidor Agustín J. González ELO309.
Haga clic para modificar el estilo de subtítulo del patrón 28/04/09 Por ARLEDY SARRIA MOLINA NAZLY DIAZ ARIZA JHOANNA MARQUELLA DESARROLLO DE SOFTWARE.
Integración CORBA/OODB - Discusión Una Nueva Arquitectura para la Integración de CORBA y OODB Helios Alonso - Luis Pandolfi - Pablo Rodríguez Bocca Universidad.
Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales “WEB SERVICES” Integrantes: Ene Adriana Guevara Vanina Martínez Cintia.
The nesC Language: A Holistic Approach to Networked Embedded Systems Tomado de paper de: D. Gay, P. Levis, R. Behren, M. Welsh, E. Brewer, D. Culler.
RPC Llamada Remota de Procedimientos Francisco José Cáceres Salazar Ingeniería Ejecucion Informatica Redes I.
1 Capítulo 21: Interacción Cliente Servidor ICD 327: Redes de Computadores Agustín J. González.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Teoría de Sistemas Operativos Sistemas Archivos de Red
Distributed Component Object Model
Punto 3 – Servicios de Terminal Remoto Juan Luis Cano.
Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)
Tecnologías Cliente / Servidor
MAESTRIA EN CIENCIAS DE LA COMPUTACION Comparación de implementación de sistemas distribuidos usando COM y CORBA Jesús Gil Muñoz Julio 2001.
Elementos y tipos de sistemas operativos
Invocación Dinámica en CORBA
Patrón de diseño BROKER
Conociendo el modelo Cliente-Servidor
Conociendo el modelo Cliente-Servidor. Introducción En el mundo de TCP/IP las comunicaciones entre computadoras se rigen básicamente por lo que se llama.
GRUPO N°1 – SISTEMAS OPERATIVOS DISTRIBUIDOS LLAMADA A PROCEDIMIENTO REMOTO.
Servicios Web-SOA Aula: Fomento 05/06/2006 a 08/05/2006.
Corba.
MODELO CLIENTE -SERVIDOR
Transcripción de la presentación:

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

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

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

IDLs

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.

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

Arquitectura CORBA

Componentes de la arquitectura CORBA

Componentes de la arquitectura CORBA

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.

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.

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.

Componentes de la arquitectura CORBA

Componentes de la arquitectura CORBA

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

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.

Interoperabilidad en CORBA: GIOP/IIOP

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

Introdución a CORBA

¿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

¿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

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

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

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

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

¿Cómo funciona el Object Adapter?

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

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

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

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