Seminario de CORBA - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

Seminario de CORBA

Description:

Ejemplo de uso con el ORB de VisiBroker. Objetos distribuidos (I) Evoluci n de las arquitecturas cliente/servidor ... { double Cord_x, Cord_y, Cord_z; exception ... – PowerPoint PPT presentation

Number of Views:252
Avg rating:3.0/5.0
Slides: 22
Provided by: isidro
Category:
Tags: corba | dbl | seminario

less

Transcript and Presenter's Notes

Title: Seminario de CORBA


1
Seminario de CORBA
  • Isidro Calvo
  • Dpto de Ingeniería de Sistemas y Automática
  • 15 - Mayo - 2001

2
Indice de la presentación
  • Objetos distribuidos
  • Breve introducción a la arquitectura CORBA
  • Ideas básicas
  • Elementos de la arquitectura CORBA
  • Servicios CORBA
  • Quién lo está usando y para qué?
  • Diferentes implementaciones disponibles
  • Ejemplo de uso con el ORB de VisiBroker

3
Objetos distribuidos (I)
  • Evolución de las arquitecturas cliente/servidor
  • Tecnología orientada a objetos (Interfaz
    Mecanismo)
  • Mejoras en las redes de ordenadores
  • Justificación de las aplicaciones distribuidas
  • Datos distribuidos en varios ordenadores
  • Hardware distribuido
  • Usuarios de la aplicación distribuidos
  • Arquitecturas disponibles (CORBA, DCOM, RMI...)

4
Objetos distribuidos (II)
  • Los clientes no necesitan conocer
  • la localización de los objetos distribuidos
  • el sistema operativo bajo el que funcionan
  • el lenguaje de programación empleado
  • cómo están implementados los objetos servidor
  • Todo lo que necesitan conocer es el interfaz que
    el servidor de objetos publica.

5
Trasparencia en la ubicación
6
Objetos distribuidos (III)
  • Ventajas
  • Escalonado de aplicaciones
  • Replicación de servidores
  • Distribución de la carga computacional
  • Trasparencia en la ubicación
  • Reutilización de código
  • Partición de aplicaciones
  • Inconvenientes
  • Tecnología más compleja y pesada
  • Nuevos desafíos gestión de accesos concurrentes,
    seguridad...

7
Arquitectura CORBA (I)
  • Promovida por la OMG (800 Miembros)
  • Estándares abierto
  • CORBA (Common Object Request Broker Architecture)
  • CORBA define
  • El interfaz de los objetos (IDL)
  • Cómo se comunican entre sí (IIOP)
  • Servicios de objeto

8
Invocación de métodos remotos
9
Arquitectura CORBA (II)
  • CORBA trata con Interfaces, no con la
    implementación de los objetos
  • Los programadores usan referencias a objetos
    remotos como si fuesen locales
  • CORBA pone el objeto a disposición de cualquier
    aplicación conectada al bus de objetos de forma
    trasparente
  • Interoperatividad entre objetos heterogéneos
    distribuidos. (Aplicaciones distribuidas)

10
Aplicación basada en Obj Distrib
11
El protocolo IIOP
  • IIOP (Internet-Inter ORB Protocol)
  • Permite la comunicación entre varios ORBs
  • Desde la implementación CORBA 2.0
  • Protocolo sobre TCP/IP
  • Existen otras versiones más genéricas
  • GIOP (General Inter-ORB Protocol)
  • ESIOPs (Environment-Specific Inter-ORB Protocols)

12
Lenguaje de definición de interfaces IDL
  • IDL (Interface Definition Language) Instrumento
    para definir las interfaces de los objetos
  • Lenguaje declarativo y OO que permite la
    abstracción del lenguaje de programación empleado
    en los objetos
  • Sintaxis similar a C
  • Compiladores de IDL a varios lenguajes de
    programación
  • C, C
  • Java
  • Smalltalk
  • COBOL
  • Ada, ...

13
Invocaciones IDL estáticas
14
Ejemplo de fichero IDL
Module ObjetosRobot struct Posicion
double Cord_x, Cord_y, Cord_z
exception Unknown interface
Brazo Posicion ObtenerPosicionActual(
) void MoverAPosicion(in Posicion
PosicionFinal) raises (Unknown)
interface Garra readonly attribute
string tipoGarra void
CambiarGarra(in long NuevaGarra) raises
(Unknown)
15
Equivalencia de términos
16
Componentes arquitectura
17
Invocaciones a métodos estáticos vs dinámicos
  • Llamadas estáticas
  • El código generado por el IDL se compila dentro
    del Cliente y Servidor
  • Clases definidas en tiempo de compilación
  • Llamadas dinámicas
  • Permiten detectar nuevas clases de objetos en
    tiempo de ejecución
  • Se introduce código para detectar los nuevos
    interfaces
  • Se publica el interfaz en una BBDD
  • Mayor flexibilidad vs. mayor complejidad

18
Adaptador de Objetos
  • Principal mecanismo para que las implementaciones
    de los objetos accedan a los servicios del ORB
  • Servicios ofrecidos por el Adaptador de Objetos
  • Registro de clases de servidor en el
    Implementation Repository
  • Crea instancias de nuevos objetos en tiempo de
    ejecución
  • Crea y manipula referencias a objetos
  • Comunica la presencia de objetos servidos a otros
    OA
  • Gestiona las llamadas de los clientes remotos
  • BOA (Basic Object Adapter) y el POA (Portable OA)
    (desde CORBA 2.2)

19
Servicios CORBA
  • Aumentan la funcionalidad de CORBA
  • Algunos de los servicios disponibles son
  • Servicio de nombres
  • Ciclo de vida de objetos (creación, copia,
    borrado...)
  • Servicio de eventos
  • Servicio de transacciones (incluso entre
    distintos ORBs)
  • Control de concurrencia (Accesos concurrentes a
    objetos)
  • Servicio de objetos persistentes
  • Servicios de seguridad
  • ...

20
Quién y para qué usa CORBA hoy?
  • Integración de sistemas (Encapsulado de software
    previo)
  • Internet (junto a JAVA)
  • Telecomunicaciones (Gestión de redes y
    equipos...)
  • Aeronaútica
  • Entornos industriales

21
Algunos productos CORBA
  • Arachne (Decision Systems Group)
  • ObjectBroker and WebLogic Enterprise (BEA)
  • ChorusORB (Sun)
  • Component Broker/DSOM (IBM)
  • Cool ORB (BBN)
  • CORBAplus (ExperSoft)
  • DAIS (Peerlogic)
  • TAO (University of Washington)
  • ILU (Xerox Parc)
  • ISP (Russian Academy of Science)
  • JacORB (Gerald Brose)
  • JADE (APM)
  • JavaIDL (JavaSoft)
  • JavaORB (Distributed Object Groups)
  • Jbroker (ObjectEra)
  • Jonathan (France-telecom/CNET)
  • Jorba (Roland Turner)
  • Krypton (TANTAU Software)
  • MICO (University of Frankfurt)
  • Nouveau (Roguewave)
  • OAK (Paragon Software)
  • ObjectDirector (Fujitsu)
  • omniORB2 (ATT Laboratories)
  • ORBit (RHAD Labs, GNOME Project)
  • Orbix (IONA)
  • ORB Plus (HP)
  • VisiBroker (Inprise)
  • ...
Write a Comment
User Comments (0)
About PowerShow.com