Nuevas tecnologías

Como en cada versión de GNOME, GNOME 2.0 trae consigo alguna que otra nueva tecnología que se añade a la plataforma de desarrollo. Hay que constatar que algunas de estas librerías/tecnologías existen desde hace tiempo, pero es en GNOME 2.0 cuando han pasado a formar parte "oficialmente" de la plataforma GNOME.

Bonobo-config

Si ya en GNOME 1.4 se sustituyó gnome-config (el sistema de configuración basado en archivos del estilo de los .INI de MS Windows, usado en todas las versiones anteriores a GNOME 1.4) con GConf, un sistema de configuración distribuido basado en CORBA, ahora en GNOME 2.0 hemos presenciado, si no una sustitución, sí un relevo generacional que se irá afianzando en versiones posteriores (GNOME 2.2, etc).

Este relevo lo protagoniza bonobo-config, que es un sistema de acceso a bases de datos de configuración basado en Bonobo. De momento, bonobo-config simplemente actúa como una capa basada en Bonobo para acceder a las bases de datos de configuración manejadas por GConf, pero se espera que en próximas versiones se unifiquen las funcionalidades de GConf y bonobo-config en un solo sistema. Precisamente por este "futuro relevo", se aconseja a todos los programadores de aplicaciones que usen bonobo-config para acceder a la configuración de sus aplicaciones, pues GConf, en su estado actual (es decir, la librería en C libgconf), es más que probable que desaparezca en posteriores versiones de GNOME.

Lo interesante de bonobo-config con respecto a GConf es que el acceso a la configuración se hace a través de interfaces CORBA definidos en Bonobo, de forma que se cumple el objetivo comentado en la sección de Bonobo de exportar toda la funcionalidad de las aplicaciones (en este caso, del sistema de configuración) a través de Bonobo, para así permitir el acceso a dicha funcionalidad a través de los interfaces bien conocidos (y documentados) de Bonobo.

libgnomedb/libgda

El acceso a bases de datos es algo especialmente importante en el mundo corporativo, por tanto, en GNOME 2.0 se han incluido, como parte de la plataforma de desarrollo GNOME, libgnomedb y libgda, dos librerías que han sido desarrolladas durante más de tres años como parte del proyecto GNOME-DB.

Hace pocos meses, se hizo un gran trabajo dentro del proyecto GNOME-DB para pulir todas las asperezas y presentar, por fin, un producto listo para ser usado por cualquier persona con un mínimo de conocimientos de BBDD. Este trabajo incluyó, por supuesto, las librerías libgnomedb y libgda, que son dos librerías que ofrecen toda la funcionalidad del proyecto GNOME-DB para que pueda ser reutilizada en cualquier proyecto.

libgda es la librería que implementa el acceso a bajo nivel (apertura/cierre de conexiones, ejecución de comandos y obtención de resultados, etc) a todas las bases de datos soportadas por el proyecto GNOME-DB (PostgreSQL, MySQL, ODBC, Oracle, MS SQL Server, Sybase, Primebase). Está basada, como no, en Bonobo, y permite un fácil acceso a todas las operaciones básicas de una base de datos, como es la ejecución de comandos, la obtención de resultados, la ejecución de transacciones, etc.

libgnomedb ofrece, basados en libgda, un conjunto de "widgets" orientados al desarrollo de aplicaciones visuales de acceso/manejo de datos. Estos "widgets" incluyen cajas de entrada de datos para distintos formatos, rejillas para la visualización de filas devueltas por las bases de datos, listas, o incluso cosas más avanzadas como cuadros de conexión o visualizadores de errores, que permiten fácilmente desarrollar aplicaciones de acceso a datos.

SOUP, SOAP en GNOME

SOUP es una implementación, en C, del protocolo SOAP (Simple Object Access Protocol), que es un protocolo basado en XML para la ejecución de procedimientos remotos a través de Internet. El modo de funcionamiento de SOAP es muy sencillo: simplemente se usa un transporte de red (normalmente HTTP, aunque está previsto que funcione tambien sobre otros protocolos como SMTP) para enviar ficheros XML en los que se describen una serie de operaciones y sus parámetros correspondientes. Así, un cliente SOAP genera un fichero XML en el que especifica el nombre de una operación a ser ejecutada, junto con sus parámetros de entrada, los envía a un servidor SOAP, y recibe, como respuesta, otro fichero XML en el que se especifican los resultados de salida de la operación ejecutada en el servidor.

Este protocolo, y más concretamente, la implementación de SOAP en SOUP, se utilizará más bien para hacer servicios web (como el famoso .NET de Microsoft, que tambien está basado en SOAP para la parte de servicios a través de Internet), que podrán integrarse fácilmente en aplicaciones GNOME a través de SOUP. Un ejemplo de las cosas que puede ofrecernos SOAP puede encontrarse en

XMethods

(ver sección de referencias), donde podemos encontrar distintos servidores que ofrecen multitud de servicios a través de SOAP, como son por ejemplo servicios de búsqueda, de traducciones, etc.

GStreamer, multimedia en GNOME

Una de las principales carencias que ha habido desde siempre en GNOME era en el campo de la multimedia, donde durante mucho tiempo apenas hubo nada. Hace tiempo, por fin, apareció GStreamer, que es una librería para el tratamiento de datos multimedia bastante avanzada y con unos objetivos bastante interesantes.

GStreamer no está pensada para usuarios finales, si no para programadores, pero es de esperar que cuando GNOME 2.0 esté por fin disponible, ya tendremos algunas aplicaciones (reproductores de sonido o video, tratamiento de imagen, etc) que hagan uso de esta potente librería.

libxslt

XML es, junto con CORBA, una de las tecnologías más usadas en GNOME. Y si ya desde hace tiempo disponiamos de libxml (una librería en C que implementa un analizador XML con la que podemos manejar y crear documentos XML), desde hace poco tenemos tambien a nuestra disposición libxslt, que es una librería que nos permite realizar, desde nuestros programas, transformaciones XSLT, que es un mecanismo mediante el cual podemos convertir documentos XML en otros formatos, todo a través de hojas de estilo.

Al estar esta funcionalidad disponible en una librería que forma parte de la plataforma GNOME, muchas aplicaciones estan empezando a hacer uso de ella para distintos cometidos. Destaca, por ejemplo, el uso de XSLT en el proyecto GNOME-DB, en el que se usa XSLT para convertir la salida generada por la ejecución de un informe en distintos formatos, tales como PDF, HTML, PostScript, etc.