XML y servicios web
En nuestro mundo altamente interconectado, más y más aplicaciones necesitan proporcionar soporte para diversos servicios web. A veces los servicios web simplemente proporcionan una funcionalidad añadida, mientras que otras veces son el núcleo de la aplicación. Incluso las aplicaciones que han proporcionado una experiencia individual al usuario durante años están incorporando nuevos usos con servicios web.
La plataforma GNOME proporciona soporte para usar servicios web desde su aplicación, así como bibliotecas comprensivas para consumir, gestionar y transformar XML, el lenguaje de la web.
- 4.5.1. SOAP
- 4.5.2. Procesamiento de XML
- 4.5.3. Transformar XML con XSLT
4.5.1. SOAP
Con la biblioteca libsoup, GNOME proporciona soporte para SOAP, un protocolo ampliamente usado para analizar mensajes XML a través de HTTP. SOAP permite a los desarrolladores exponer un interfaz a través de la web que pueden usar aplicaciones para obtener información, enviar datos, realizar transacciones o usar cualquier otro número de los servicios proporcionados.
SOAP se puede usar para buscar y obtener información, para interactuar con una tienda en línea, para gestionar las cuentas de los usuarios en otros sistemas o para muchos otros propósitos. Los servicios web cada vez se usan más y más para proporcionar funcionalidades esenciales a los usuarios y las aplicaciones que usan SOAP pueden proporcionar una experiencia más integrada y llena de características al usuario.
La biblioteca libsoup contiene una implementación de HTTP y un juego API para construir y consumir mensajes SOAP. También permite autenticación segura, de tal forma que podrá usar los servicios web para acceder a cuentas privadas a través de una conexión segura. Al usar libsoup se hace fácil usar los servicios web sin necesidad de analizar e interpretar los mensajes enviados a través de SOAP.
Para obtener más información acerca de libsoup, consulte El manual de referencia de libsoup.
4.5.2. Procesamiento de XML
Desde su introducción formal en 1998, XML (eXtensible Markup Language) cada vez se ha usado en más aplicaciones. Se usa para una gran variedad de propósitos, desde formatos de documentación como XHTML y DocBook a protocolos de internet como SOAP y Jabber. XML proporciona una sintaxis de base limpia y simple, permitiendo a las aplicaciones centrarse en sus necesidades particulares.
GNOME posee la biblioteca libxml2 y la usa extensivamente en todo el escritorio. La biblioteca libxml2 es una biblioteca de procesado XML rápida y que cumple con los estándares, proporcionando todo lo que puede necesitar para usar XML en su aplicación.
La biblioteca libxml2 proporciona un número variado de diferentes API para trabajar con XML de tal forma que puede usar la que mejor se ajuste a las necesidades de desarrollo de su aplicación. Además del árbol API nativo, libxml2 también proporciona el API SAX2 basado en retro llamadas , lector de contenido XML transmisible y escritor de interfaces además de soporte completo para XPath.
Además del soporte DTD, libxml2 también proporciona soporte completo para validar documentos usando RELAX NG, que permite un modelo de validación más flexible mientras que mantiene una facilidad de uso. También existe soporte parcial para XML Schema, el nuevo lenguaje de esquemas producido por el W3C.
Debería usar libxml2 siempre que necesite trabajar directamente con XML en su aplicación. Usar libxml2 asegura que tendrá análisis, procesado y salida XML que cumple completamente con los estándares. Para los desarrolladores significa que no deben preocuparse sobre incompatibilidades entre aplicaciones.
Para obtener más información acerca de libxml2, consulte El tutorial sobre Libxml y El manual de referencia para libxml2.
4.5.3. Transformar XML con XSLT
XSLT es un lenguaje basado en XML para transformar XML en otros formatos. XSLT es un lenguaje basado en plantillas que le permite coincidir con particulares tipos de elementos XML y crear una salida acorde con ello. Basado en XML y XPath, XSLT permite a los desarrolladores crear plantillas limpias y modulares para convertir un «dialecto» XML en otro formato más adecuado para la aplicación.
GNOME posee la biblioteca libxslt, una implementación completa de XSLT. La biblioteca libxslt está construida encima del soporte XML y XPath en libxml2, permitiendo que sea rápida y cumpla con los estándares.
Debería usar libxslt si necesita transformar documentos XML. Aunque XSLT no siempre es la solución correcta para procesar XML, a menudo puede simplificar el desarrollo. Ya que libxslt le permite añadir elementos y funciones de extensión, puede personalizarlas para que se ajusten a su aplicación.
Para obtener más información acerca de libxslt, consulte La biblioteca C XSLT para GNOME.