DESARROLLO DE APLICACIONES DISTRIBUIDAS
SESIÓN 10
CORBA: FUNDAMENTOS
Mg. Ing. Carlos Alberto Valdivia Salazar
Contenidos
Servicios de RED y ORB
Paradigma ORB
Definición de CORBA
Arquitectura CORBA
Lenguaje IDL
Caso práctico
Servicios de red y ORB (Object Request Broker)
Los servicios de red
Proporcionan la referencia a los servicios disponibles en red.
Debe realizarse un conjunto de pasos:
El proceso que solicita se contacta con el servicio de directorio.
El servicio de directorio devuelve la referencia del objeto o servicio
solicitado.
Con la referencia devuelta, el proceso solicitante interactúa con el objeto o
servicio.
Paradigma ORB (Object Request Broker)
El ORB funciona como una capa middleware (capa intermedia).
ORB es una pasarela en la red que facilita la comunicación entre objetos
distribuidos.
El ORB redirige las peticiones al objeto apropiado que cuenta o
proporciona el servicio solicitado.
Es una extensión al paradigma RMI y servicios de red: permite instanciar
clases y objetos.
Definición de CORBA
El OMG (Object Management Group) es una asociación de empresas
líderes en tecnologías y en particular de estándares distribuidos,
definiendo especificaciones que facilitan la interoperabilidad de sus
productos.
El gran objetivo OMG: Interoperabilidad.
CORBA (Common Object Request Broker Architecture) es una
arquitectura estándar propuesta por OMG para sistemas de objetos
distribuidos.
Facilitar el diseño de aplicaciones basadas en cliente/servidor.
Facilita la integración de sistemas legados.
Arquitectura CORBA
Arquitectura basada en una norma de la OMG que define:
Un modelo de objetos (extensión de la POO).
Como interactúan los objetos.
Una plataforma o pasarela de red que soporta la interacción de objetos.
Un lenguaje para definir los tipos de datos e interacciones entre objetos.
Servicios básicos para aplicaciones distribuidas.
OMG y el estándar CORBA
Esta basado en la tecnología de objetos.
Ofrece una visión sencilla de un sistema distribuido heterogéneo y
abierto, con reutilización e integración de componentes.
Los mecanismos POO ayudan en la integración de sistemas
distribuidos: encapsulamiento, herencia y polimorfismo.
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
IDL: Lenguaje de Definición de Interfaces
Elemento esencial de norma CORBA, que permite especificar los componentes y
servicios con independencia del lenguaje de implementación y de la plataforma
de ejecución.
IDL separa la interfaz de la implementación
Lenguaje de especificación de interfaces públicas, con herencia y fuertemente tipado.
Independiente de cualquier lenguaje de programación.
OMG define correspondencias con muchos lenguajes.
No es lenguaje de programación.
Permite interoperabilidad y mecanismo de invocación dinámica.
Lenguajes que soportan IDL
Ejemplos interfaces IDL
Compilación de archivo IDL
<NomInterf>Operations: interfaz de operaciones.
<NomInterf>.java: interfaz IDL en Java.
<NomInterf>[Link]: funcionalidad auxiliar para marshall.
<NomInterf>[Link]: referencia al objeto que implementa la
interfaz.
<NomInterf>[Link]: clase abstracta para el skeleton y adaptador
de objetos.
_<NomInterf>[Link]: funcionalidad CORBA en el cliente.
Construyendo una aplicación CORBA
Archivo IDL con interfaz
Compilador IDL
Cliente utiliza las Implementación
referencias de la De la Interfaz
implementación
Implementación
Del Servidor
Paso 1: Construyendo los proyectos
CORBA_Factorial
Contiene la especificación IDL
Contiene los archivos compilados según
el lenguaje.
CORBA_Servidor
Contiene la implementación de la
interfaz compilada IDL
Inicia el servidor de referencias de
objetos ORB.
CORBA_Cliente
Contiene el uso de las referencias de
objetos ORB.
Paso 2: definiendo la interfaz IDL
En el proyecto CORBA_Factorial
agregar un archivo en blanco
(Empty File).
Definir los atributos y métodos
teniendo en cuenta la especificación
IDL.
Paso 3: Compilando el archivo IDL
Para el lenguaje JAVA el compilador es [Link] que se encuentra en la
carpeta JDK de Java.
Mediante una ventana de comandos (cmd) ejecutar la compilación.
Se generan los archivos compilados.
Paso 4: Servidor – Clase que implementa
Paso 5: Servidor – Iniciando los servicios ORB (A)
Paso 5: Servidor – Iniciando los servicios ORB (B)
Paso 6: Cliente – Utilizando los servicios ORB (A)
Paso 6: Cliente – Utilizando los servicios ORB (B)
Paso 7: Configurando puerto y red ORB
En propiedades de los proyectos Servidor y Cliente, agregar los
argumentos en Properties – Run.
Paso 8: Iniciar servicio ORB de Java
Iniciar una ventana de comandos (cmd) en modo administrador e
iniciar el servicio ORB con el puerto de escucha.
Paso 9: Ejecutar servidor y cliente