1 / 21

Seminario de CORBA

Seminario de CORBA. Isidro Calvo Dpto de Ingeniería de Sistemas y Automática 15 - Mayo - 2001. 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é?

Antony
Download Presentation

Seminario de CORBA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Process A Process B Process C Machine X Machine Y 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. objectimplementation client program call method language mapping operation signatures language mapping entry points Stub Skeleton Basic Object Adapter ORB Operations Location Service ORB Transport Layer Multithreading 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. Object Implementation Client Interface Repository Static Skeletons Dynamic Skeleton Invocation Implementation Repository Dynamic Invocation Client IDL Stubs ORB Interface Object Adapter Object Request Broker Core 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. Arachne (Decision Systems Group) ObjectBroker and WebLogicEnterprise (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 (AT&T Laboratories) ORBit (RHAD Labs, GNOME Project) Orbix (IONA) ORB Plus (HP) VisiBroker (Inprise) ... Algunos productos CORBA

More Related