CORBA: Un Modelo de Objetos Distribuidos

Slides:



Advertisements
Presentaciones similares
Programación Orientada a Objeto 1
Advertisements

APLICACIONES DISTRIBUIDAS
Programación orientada a objetos en Visual Basic .NET
Arquitecturas de administración de redes y sus submodelos
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
J2EE – Java 2 Enterprise Edition
Common Object Request Broker Architecture (CORBA)
Carlos Rojas Kramer Universidad Cristóbal Colón
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Práctica II: Java RMI.
Common Object Request Broker Architecture
Lenguajes Servicios Web
Servicios Web.
Desarrollo de un laboratorio para la enseñanza, diseño y desarrollo de servicios móviles abiertos Autor: D. Mario de Molina Gómez Tutor: D. Francisco Javier.
Arquitectura Orientada a Servicios (SOA)
SISTEMAS EN TIEMPO REAL Y DISTRIBUIDOS CAPITULO 1
Introducción a la Orientación a Objetos
Tecnología de objetos distribuidos y arquitectura de componentes.
Teórico: Introducción
Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.
Investigación Servidor de Aplicaciones WebSphere
Desarrollo de un laboratorio para la enseñanza, diseño y desarrollo de servicios móviles abiertos Autor: D. Mario de Molina Gómez Tutor: D. Francisco Javier.
Entornos orientados a objetos
RMI Remote Method Invocation
Java 2 Platform Enterprise Edition
RMI (Remote Method Invocation)
Encapsulamiento y Abstracción
Universidad Nacional de San Antonio Abad del Cusco
Desarrollo de Software Basado en Componentes
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.
CGI.   Cuando el World Wide Web inició su funcionamiento como lo conocemos, empezando a tomar popularidad aproximadamente en 1993, solo se podía apreciar.
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
Tecnologías para el desarrollo de aplicaciones Web
Ejemplo CORBA: Java IDL
Computación Ubicua Una nueva técnica de computación distribuida Prof. Yudith Cardinale Sep - Dic 2006 Universidad Simón Bolívar Departamento de Computación.
Invocación de Métodos Remotos RMI: Remote Method Invocation
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
J2EE – Java 2 Enterprise Edition
Un sistema de gestión de bases de datos: Es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Por tanto, el SGBD.
"Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Prof. Leonid Tineo Departamento de Computación Universidad.
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 Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de.
Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.
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.
Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de.
EI, Profesor Ramón Castro Liceaga Agosto de 2005 UNIVERSIDAD LATINA (UNILA) PROGRAMACION ORIENTADA A OBJETOS EN JAVA (Optativa) PROGRAMACION CLIENTE /
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
MASIF Andrés Marín López Gestión de la Información Multimedia en Internet.
LOGO e-Learning Desktop Integración de RIA’s a objetos de Aprendizaje Alvaro Rodríguez, Darvin Orozco, Rocael Hernández Universidad Galileo {alvrodriguez,
Construcción de Sistemas Colaborativos (Arquitectura y construcción)
1. Introducción a los Sistemas de Internet Gestión de Sistemas en Internet Universidad Antonio de Nebrija 2003/04 Justo N. Hidalgo Sanz.
DIAGRAMA DE SECUENCIA Y ACTIVIDADES.
Distributed Component Object Model
Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.
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.
Invocación Dinámica en CORBA
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLEMENTACIÓN DE COMPONENTES.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Patrón de diseño BROKER
1 Tema 2: Sistemas Distribuidos con CORBA Programación Concurrente y Distribuida Prácticas.
Transcripción de la presentación:

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

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

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.

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

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.

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.

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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.

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

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

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

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

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

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