0% encontró este documento útil (0 votos)
8 vistas30 páginas

Introducción A Corba

El documento presenta una introducción a OMG (Object Management Group) y su producto CORBA (Common Object Request Broker Architecture), diseñado para facilitar la interoperabilidad entre aplicaciones distribuidas en entornos heterogéneos. Se describen las propiedades y elementos arquitectónicos de CORBA, incluyendo el Object Request Broker (ORB), que actúa como intermediario en la comunicación entre objetos distribuidos. Además, se abordan aspectos técnicos como la invocación de métodos y la transparencia en la comunicación entre diferentes sistemas operativos y lenguajes de programación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
8 vistas30 páginas

Introducción A Corba

El documento presenta una introducción a OMG (Object Management Group) y su producto CORBA (Common Object Request Broker Architecture), diseñado para facilitar la interoperabilidad entre aplicaciones distribuidas en entornos heterogéneos. Se describen las propiedades y elementos arquitectónicos de CORBA, incluyendo el Object Request Broker (ORB), que actúa como intermediario en la comunicación entre objetos distribuidos. Además, se abordan aspectos técnicos como la invocación de métodos y la transparencia en la comunicación entre diferentes sistemas operativos y lenguajes de programación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD DEL CAUCA – FIET

Universidad del Cauca DEPARTAMENTO DE SISTEMAS

SISTEMAS DISTRIBUIDOS

PROGRAMA
DE INGENIERIA DE SISTEMAS
ING. DANIEL EDUARDO PAZ PERAFÁN
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

OMG
Historia.

 OMG (Object Management Group)


• Consorcio creado en 1989, primer “producto”: CORBA
• inicialmente 8 empresas (Sun, HP, 3Com,...)
- Hoy: más de 800 socios
- Proveedores de SW y equipos, operadores de telecomunicaciones, empresas,
universidades,...

OMG Proporcionar interoperabilidad entre aplicaciones


en un entorno distribuido y heterogéneo.
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

OMG

BPMN
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

CORBA
Common Object Request Broker Architecture
Concepto ¿Qué es?

 Arquitectura diseñada para alcanzar la máxima interoperabilidad.

 Conjunto de protocolos que permiten que los programas de aplicación interoperen, con
independencia de sus lenguajes de programación, plataformas hardware y software, redes
sobre las cuales se comunican y sistemas operativos donde se ejecutan.

• Distintos sistemas operativos (Unix, Windows, MacOS, OS/2)


• Distintos protocolos de comunicación (TCP/IP, IPX, …)
• Distintos lenguajes de programación (Java, C, C++, …)
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

CORBA
¿Para qué sirve?
Permite la invocación de métodos de un objeto distribuido por objetos que residen en diferentes
máquinas en entornos heterogéneos

 Los objetos pueden estar desarrollados en diferentes lenguajes.


 Los equipos pueden tener diferente:
• Hardware
• Sistema operativo
 Los equipos pueden estar conectados entre sí usando distintos protocolos de comunicación

Su objetivo es facilitar el desarrollo de aplicaciones distribuidas


UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

CORBA
Propiedades deseadas
Transparencia de distribución
• Ni cliente ni servidor necesitan saber si la aplicación está distribuida o centralizado
Transparencia de localización (caso distribuido)
• El cliente no necesita saber donde se encuentra el objeto de implementación
• El servicio que presta el objeto de implementación no necesita saber donde se ejecuta
el cliente
Integración de software existente
• Amortizar inversión previa sistemas heredados (legacy systems)

Transparencia de mecanismos de comunicación


• Se ocupa de abstraer los protocolos de red utilizados en la comunicación.
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

CORBA
Propiedades deseadas
Activación de objetos
• Objetos remotos no tienen que estar en memoria permanentemente

• Se hace de manera invisible para el cliente

Comunicación flexible
Múltiples modos de comunicación
Síncrona: tipo invocación de métodos / RPC
Asíncrona: sin respuesta

Múltiples modelos de comunicación


Invocación estática
Invocación dinámica
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

ELEMENTOS DE LA ARQUITECTURA OMA


ORB
Object Request Broker
Intermediario de petición de Objetos
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

ELEMENTOS DE OMA
ORB
Proporciona transparencia de implementación
• El cliente no conoce el lenguaje de implementación de los objetos corba
Proporciona transparencia de distribución
• Comportamiento igual en centralizado o distribuido
Proporciona transparencia de estado de ejecución
• Se ocupa de la activación y desactivación de objetos
Proporciona servicios para construir peticiones dinámicamente
• Construye en tiempo de ejecución el stub y skeleton.
Proporciona transparencia de mecanismos de comunicación
• Se ocupa de abstraer los protocolos de red utilizados en la comunicación.
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

ELEMENTOS DE LA ARQUITECTURA OMA


ORB
Object Request Broker
Intermediario de petición de Objetos
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

ARQUITECTURA BASE DE CORBA


Servant

POA
Object Request Broker
Intermediario de petición
de Objetos

Servant: Entidad desarrollada en un lenguaje que implementa las operaciones definidas en la interface.
Stub: Crea y emite los pedidos en nombre del cliente al ORB
Skeleton: entrega el pedido a la implementación del objeto CORBA
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

ELEMENTOS DE LA ARQUITECTURA DE CORBA


Protocolos utilizados entre ORB Diferentes ORB utilizan
un protocol comun
General Inter-ORB Protocol (GIOP)

• GIOP es un protocolo estándar de alto nivel para la comunicación entre ORBs.

• GIOP es un protocolo generalizado, no se usa directamente, sino que es especializado por un


protocolo particular para poder usarse
Internet Inter-ORB Protocol (IIOP)

• Una especialización del GIOP

• Protocolo estándar para la comunicación entre ORBs en redes basadas en TCP/IP.

• Un ORB debe soportar IIOP para ser considerado CORBA 2.0 compatible
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

CORBA
Para cada lenguaje de programación existe un estandar OMG que especifica
como mapear los tipos e invocaciones para convertirlos en tipos y funciones
en un lenguaje.

Las invocaciones pueden ser: dinámicas o estáticas.

 Invocaciones estáticas: Son encaminadas al ORB del cliente vía el stub.


 Invocaciones dinámicas: Son ensambladas en tiempo de ejecución por el
cliente. (DII proporcionan una gran flexibilidad).
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

Arquitectura de CORBA
CLIENTE SERVANT
SIRVIENTE

IR SDI ImplR
OA

SS
DII CIS
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

Arquitectura de CORBA SERVIDOR ESTÁTICO


CLIENTE ESTATICO

NS
S.O SERVANT
C.O
SKELETON
STUB
INTERFACE DEL INTERFACE DEL
ORB ORB POA

ORB ORB
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

Arquitectura de CORBA
Lado cliente (1/5)

Stub IDL
 Interfaz estática a los servicios declarados en las interfaces IDL

 Permite que para el cliente todas las llamadas parezcan locales.

 Actúa como proxy (representante) del objeto remoto


• La invocación de métodos remotos, incluyendo el marshalling
• Recepción de respuestas, incluyendo el unmarshalling
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

Arquitectura de CORBA
Lado cliente (2/5)

Interfaz de Invocación Dinámica (DII)


 Permite descubrir en run-time las interfaces de Objetos CORBA que no poseen stubs estáticos.

 CORBA define API's para buscar los métodos y sus parámetros de una interfaz (“metadatos”).

 Utilizado para hacer una invocación dinámica después de construida mediante la interfaz del
ORB
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

Arquitectura de CORBA
Lado cliente (3/5)

Interfaz ORB
 Permite acceder a un conjunto de librerías o APIs que definen funciones del ORB y que pueden
ser accedidas por el código cliente.

 Acceso a servicios iniciales como el servicio de nombrado

 Conversión de referencias de objetos en cadenas y viceversa


UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

Arquitectura de CORBA
Lado cliente (5/5)

Repositorio de interfaces
 Base de datos en tiempo de ejecución con versiones máquina de las interfaces IDL
(y posiblemente información asociada).

 Permite obtener y modificar dinámicamente las descripciones (interfaces, métodos y


parámetros) de todos los objetos registrados.

 Es un mecanismo de auto-descripción (metadatos) de los objetos

 El repositorio de interfaces en si es un objeto más, accesible a través de un ORB.


UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

Arquitectura de CORBA
Lado del servidor(1/3)

Skeleton estático IDL


 Representante estático del cliente en el servidor.
 Generado en tiempo de compilación a partir de la interfaz IDL del servidor.
 Permite realizar el unmarshalling de las invocaciones del cliente.
 Para el servidor todas las llamadas son locales

Interfaz de esqueletos dinámicos (DSI)


Da mecanismos de asociación en run-time a servidores que necesitan
manejar peticiones de componentes que no tienen stubs
 Recibe las peticiones y averigua a que objetos van dirigidas.
 Son muy utilizados en la construcción de “Bridges” entre ORB’s.
 Se pueden usar para generar dinámicamente objetos.
 Es el equivalente en el servidor al DII del cliente.
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

Arquitectura de CORBA
Lado del servidor(2/3)
Adaptador de objetos

 Intermediario entre el núcleo del ORB y los objetos


 Instancia y activa objetos servidores, y crea referencias de objeto
 Mapea referencias de objetos a IDs de implementaciones de objetos
 Invoca el método apropiado cuando llega una petición remota (upcall).
 Registra objetos en el repositorio de implementaciones.
 POA (Portable Object Adapter): adaptador de objetos estándar (desde ’98).

La interfaz ORB
 API que da soporte local, idéntico al proporcionado en el lado del
cliente, permite que el cliente y servidor interactúen con el ORB.
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

Arquitectura de CORBA
Lado del servidor(3/3)
Repositorio de implementaciones

 Proporciona un registro en run-time de las clases, los


objetos instanciados y los ID’s que un servidor soporta.

 También puede almacenar otro tipo de información


(trazas, datos administrativos)
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

Arquitectura de CORBA SERVIDOR ESTÁTICO


CLIENTE ESTATICO

NS
S.O SERVANT
C.O
SKELETON
STUB
INTERFACE DEL INTERFACE DEL
ORB ORB POA

ORB ORB
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

Arquitectura de CORBA SERVIDOR DINÁMICO


CLIENTE DINÁMICO

NS
S.O SERVANT
C.O
SKELETON
INTERFACE DE DINAMICO
INVOCACIÓN INTERFACE DEL INTERFACE DEL
DINÁMICA ORB ORB POA

ORB ORB
REPOSITORIO
DE INTERFACES
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

Arquitectura de CORBA SERVIDOR DINÁMICO


CLIENTE DINÁMICO

NS
S.O SERVANT
C.O
SKELETON
INTERFACE DE DINAMICO
INVOCACIÓN INTERFACE DEL INTERFACE DEL
DINÁMICA ORB ORB POA

ORB ORB
REPOSITORIO DE
REPOSITORIO
IMPLEMENTACIONES
DE INTERFACES
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

Arquitectura de CORBA SERVIDOR DINÁMICO


CLIENTE ESTÁTICO

NS
S.O SERVANT
C.O
SKELETON
DINAMICO
STUB
INTERFACE DEL INTERFACE DEL
ORB ORB POA

ORB ORB
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

Arquitectura de CORBA SERVIDOR DINÁMICO


CLIENTE ESTÁTICO

NS
S.O SERVANT
C.O
SKELETON
DINAMICO
STUB
INTERFACE DEL INTERFACE DEL
ORB ORB POA

ORB ORB
REPOSITORIO DE
IMPLEMENTACIONES
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

Arquitectura de CORBA
CLIENTE DINÁMICO SERVIDOR ESTÁTICO

NS

S.O SERVANT
C.O
INTERFACE DE SKELETON
INVOCACIÓN INTERFACE DEL INTERFACE DEL
DINÁMICA ORB ORB POA

ORB ORB
REPOSITORIO
DE INTERFACES
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

Arquitectura de CORBA
CLIENTE DINÁMICO SERVIDOR ESTÁTICO

NS

S.O SERVANT
C.O
INTERFACE DE SKELETON
INVOCACIÓN INTERFACE DEL INTERFACE DEL
DINÁMICA ORB ORB POA

ORB ORB
REPOSITORIO
DE INTERFACES REPOSITORIO DE
IMPLEMENTACIONES
UNIVERSIDAD DEL CAUCA – FIET
Universidad del Cauca DEPARTAMENTO DE SISTEMAS

Referencias
 Siegel Jon, OMG OVERVIEW: Corba and the OMA in Enterprise Computing.

 Venoski Steve, New Features for CORBA 3.0.

 Martinez, José Fernan, Introducción a CORBA, III Jornadas Ibero americanas en


Telecomunicaciones y Telemática, 27-29 Agosto de 2001.

 Orfali, Robert; Harley, Dan; Client/Server Programming with Java and CORBA, Second
Edition, WILEY Computer Publishing.

 Vinoski, Steve (1997). CORBA: Integrating Diverse Applications Within Distributed


Heterogeneous Environments. IEEE Communications Magazine. Febrero 1997.

También podría gustarte