Una arquitectura de componentes libre: Bonobo


Tabla de contenidos
1. Proposito de este documento
2. Sistemas de componentes en el software libre
2.1. KParts: el sistema de componentes de KDE
2.2. UNO: Universal Network Objects
2.3. XPCOM
2.4. OpenDoc
3. El proyecto GNOME
3.1. Introducción
3.2. GNOME y los gestores de ventana
3.3. Tecnologías
3.3.1. Librerías básicas
3.4. El futuro de GNOME
4. El protocolo CORBA en GNOME
4.1. El protocolo de comunicaciones CORBA
4.1.1. ¿Qué es CORBA?
4.1.2. ¿Por qué CORBA?
4.1.3. ¿Cómo se desarrolla con CORBA?
4.1.4. De la interfaz IDL a la implementación
4.1.5. CORBA : Common Object Request Broker Arquitecture
4.1.6. El ORB de CORBA
4.1.7. Invocaciones remotas desde el cliente
4.1.8. La interfaz de invocación dinámica
4.1.9. La implementación de los objetos
4.1.10. El Almacén de Implementaciones (IR)
4.1.11. El Adaptador de Objectos (OA)
4.1.12. Conclusiones
4.2. ORBit: una implementación veloz de CORBA
4.2.1. ORBit frente a otros ORBs
5. El sistema de componentes Bonobo
5.1. Motivación de la creación de un sistema componentes
5.2. Vista general
5.3. Tipos de componentes Bonobo
5.3.1. Componentes
5.3.2. Controles
5.3.3. Embebidos
6. Nombrando a las cosas por su nombre: OAF y Monikers
6.1. OAF
6.1.1. ¿Que es OAF?
6.1.2. Arquitectura OAF
6.1.3. Lenguaje de consulta OAF
6.2. Monikers
6.2.1. Monikers: Introducción
6.2.2. El sistema de análisis de Moniker
6.2.3. Monikers como esquema de nomenclatura de objetos
6.2.4. Trabajando con monikers
7. Un pequeño ejemplo practico
7.1. Utilizando componentes
8. Conclusiones
9. Referencias
9.1. Sobre software libre
9.2. Sobre el proyecto GNOME
9.3. Sobre CORBA y ORBit
9.4. Sobre Bonobo
9.5. Sobre Monikers y OAF

1. Proposito de este documento

La finalidad de este documento es dar a conocer uno de los sistemas de componentes que más impacto está teniendo dentro de la comunidad del software libre. Bonobo, el sistema de componentes propuesto por GNOME.

A lo largo del documento se hablará de todo el diseño que existe detrás de estos sistemas de componentes. No se debe olvidar que existen muchas implementaciones de componentes, algunas propietarias, otras libres. Dado que el concepto es el mismo, muchas ideas «a alto nivel» aqui presentadas son perfectamente validas para cualquiera de ellos.

Si se ha elegido Bonobo entre todos los sistemas de componentes disponibles es principalmente por dos razones. La primera, por ser un sistema libre basado en software libre. Todo el código está completamiente abierto y es totalmente gratuito sin estar sujeto a ninguna licencia propietaria. Cualquier persona puede beneficiarse de este sistema, programar con él, acceder al codigo, etc...

Si bien no es el único sistema de componentes libre, la segunda razón que nos lleva a hablar sobre él es que está basado en CORBA. Se hablará mucho sobre CORBA en siguientes secciones, pero adelantar que al usarlo como base, Bonobo puede ser ejecutado y utilizado en maquinas totalmente heterogeneas. El cumplir con el estandar CORBA permite tener componentes distribuidos en distintas maquinas con distintos sistemas operativos y programados en cualquier lenguaje de programación.