XML et services Web
Dans notre monde de plus en plus interconnecté, de plus en plus d'applications ont besoin de fournir une prise en charge de différents services Web. Certaines fois, les services Web n'ajoutent que des fonctionnalités supplémentaires. Mais dans d'autres cas, ils constituent l'objectif principal de l'application. Même des applications qui ont fourni durant des années des prestations en mode autonome ont mis à profit les services Web pour de nouvelles fonctions.
La plateforme GNOME offre la possibilité d'utiliser les services Web depuis votre application, de même qu'un ensemble complet de bibliothèques pour l'exploitation, la gestion et la transformation du XML, le langage du Web.
- IV.V.I. SOAP
- IV.V.II. Traitement XML
- IV.V.III. Transformation de XML avec XSLT
IV.V.I. SOAP
Avec la bibliothèque libsoup, GNOME offre la prise en charge de SOAP, un protocole largement utilisé pour faire passer des messages XML au-dessus de HTTP. SOAP permet aux développeurs d'exposer une interface sur le Web afin que des applications puissent récupérer des informations, envoyer des données, effectuer des transactions ou utiliser tout autre service à disposition.
SOAP peut être utilisé pour chercher et récupérer de l'information, pour interagir avec un magasin en ligne, pour gérer des comptes utilisateurs sur d'autres systèmes et pour bien d'autres choses encore. Les services Web sont de plus en plus utilisés afin d'offrir des fonctionnalités essentielles aux utilisateurs, et les applications utilisant SOAP peuvent offrir à leurs utilisateurs des fonctions plus riches et mieux intégrées.
La bibliothèque libsoup contient une implémentation de HTTP et un ensemble d'interfaces de programmation pour la construction et l'exploitation de messages SOAP. Elle fournit également une authentification sécurisée permettant aux utilisateurs d'accéder à des comptes privés par les services Web et une connexion sécurisée. L'utilisation de libsoup facilite l'emploi des services Web sans devoir analyser et interpréter manuellement les messages reçus par SOAP.
Pour plus d'informations sur libsoup, consultez [en anglais] le manuel de référence de libsoup.
IV.V.II. Traitement XML
Depuis son introduction officielle en 1998, XML (eXtensible Markup Langauge) est utilisé dans un nombre toujours plus grand d'applications. Il est utilisé dans une large gamme de besoins, depuis les formats de document comme XHTML et DocBook jusqu'aux protocoles Internet comme SOAP et Jabber. XML fournit une syntaxe de base propre et simple, permettant aux applications de se concentrer sur leurs besoins précis.
GNOME est livré avec la bibliothèque libxml2, qui est largement utilisée dans le bureau. Cette bibliothèque est rapide et parfaitement respectueuse de la norme XML, offrant tout ce qui est nécessaire à l'exploitation de XML dans votre application.
La bibliothèque libxml2 offre de nombreuses interfaces de programmation pour la manipulation du XML, afin que vous puissiez choisir ce qui convient le mieux au développement de votre application. En plus d'une interface de programmation basée sur l'arborescence native, libxml2 propose aussi une interface de programmation SAX2, basée sur les fonctions de rappel, des interfaces de lecture et d'écriture de flux XML et une prise en charge complète de XPath.
En plus de la prise en charge de la DTD, libxml2 fournit également une prise en charge complète pour la validation de documents à l'aide de RELAX NG, qui propose un modèle de validation plus flexible tout en restant simple d'utilisation. Elle contient aussi une prise en charge partielle de XML Schema, le nouveau langage de schéma développé par le W3C.
Vous devriez utiliser libxml2 chaque fois que vous devez travailler directement avec du XML dans vote application. L'utilisation de libxml2 assure que vous restiez pleinement compatible avec les procédés standards d'analyse, d'exploitation et de génération de XML. Cela signifie que les développeurs ne doivent plus se soucier des incompatibilités entre applications.
Pour plus d'informations sur libxml2, consultez [en anglais] The Libxml Tutorial et The Reference Manual for libxml2.
IV.V.III. Transformation de XML avec XSLT
XSLT est un langage basé sur XML pour transformer le XML en d'autres formats. XSLT est un langage basé sur des modèles, permettant de cibler certains types d'éléments XML particuliers et de produire une résultat correspondant. Basé sur XML et XPath, XSLT permet aux développeurs de créer des modèles propres et modulaires pour convertir la syntaxe XML dans un format plus adéquat pour l'application.
GNOME est livré avec la bibliothèque libxslt, une implémentation complète de XSLT. Cette bibliothèque est fondée sur la prise en charge de XML et de XPath dans libxml2, lui permettant d'être rapide et pleinement respectueuse des standards.
Vous devriez utiliser libxslt si vous avez besoin de transformer des documents XML. Même si XSLT n'est pas toujours la bonne solution pour le traitement du XML, il simplifie souvent le développement. Dans la mesure où libxslt autorise l'extension par des éléments et des fonctions, vous pouvez l'adapter pour qu'il corresponde à votre application.
Pour plus d'informations sur libxslt, consultez [en anglais] The XSLT C library for Gnome.