miércoles, 8 de febrero de 2012

CORBA


¿Qué es CORBA?

CORBA es una tecnología muy potente que ayuda a construir sistemas distribuidas, sin embargo es un poco difícil por la gran variedad de funciones que tiene
Por esto mismo que es un poco difícil su aprendizaje mucha gente no usa CORBA en sus aplicaciones.


Hay algunos conceptos que debemos concer para empezar a usar CORBA
  • ORB, el núcleo: Es la parte principal que implementa las comunicaciones, los mapeos a los distintos lenguajes de programación.
  • IIOP/GIOP: Funciona como protocolo de comunicaciones entre los distintos objetos, el GIOP, que especifica el formato de las comunicaciones CORBA pero no específica transporte específico. Por eso esta IIOP, que es un GIOP sobre TCP/IP. Aquí nadamas se define el formato de los mensajes, y luego, cada ORB (implementación de CORBA) es responsable de convertir dichos mensajes en datos para la máquina en la que se está ejecutando,permitiendo así la interacción entre distintas implementaciones de CORBA ejecutándose en diferentes máquinas, con sistemas operativos diferentes, con representación de datos distinta.


  • El lenguaje IDL. Para hacer aplicaciones CORBA, uno de los primeros pasos es escribir los interfaces IDL de la aplicación. IDL es el lenguaje que permite definir una serie de interfaces para la comunicación entre dos o más aplicaciones. El IDL se escribe en un fichero, normalmente con la extensión IDL, en el cual se definen los interfaces y las funciones de esos interfaces.Un archivo.IDL podría ser el equivalente a un fichero de cabecera en C++, en el que se definen las clases (el equivalente a los interfaces CORBA) y las propiedades (variables de la clase) y métodos de esas clases. IDL no es un lenguaje para implementar interfaces CORBA, más bien es un lenguaje que define interfaces CORBA, por ello la semejanza con el fichero de cabecera de C++, donde,no se incluye ninguna implementación.
  • Cabos y esqueletos. Una vez que ya creamos el archivo.idl tenemos que usar el compilador IDL que genera los cabos y esqueletos necesarios para el uso e implementación de esas interfaces. Los cabos son el código generado para el cliente (la aplicación que va a hacer uso del objeto CORBA), mientras que los esqueletos son, el esqueleto de la implementación del objeto.
Hay compiladores IDL para distintos lenguajes de programación, con el fichero IDL, se pueden generar los cabos y esqueletos, y por tanto implementar cada una de las partes, en los lenguajes que soportan CORBA, y así ayuda a la transparencia del lenguaje de implementación de cada una de las partes que componen la aplicación.

Guía para python
Página principal
Lenguaje IDL

1 comentario:

  1. Aunque en la lista de revisión dice que es la misma entrada, esta únicamente va para el lab. Para lo de la clase necesitas un reporte de avances (cf. por ejemplo el de Juan Carlos), no una entrada de contenido en sí. Te pongo 6 para el lab; tema muy bueno. ¿Harás un ejemplo en Python más adelante sobre el uso de CORBA?

    ResponderEliminar