XML und Web-Dienste
In unserer sich immer mehr vernetzenden Welt steigt die Anzahl der Anwendungen, die Unterstützung für Webdienste benötigen. Manchmal fügen Webdienste nur einfache Funktionalitäten hinzu, während sie bei anderen Anwendungen die Kernfunktion darstellen. Anwendungen, die eine für sich stehende Bedienbarkeit bereits über Jahre hinweg anbieten, finden innovative Betätigungsfelder in Webdiensten.
Die GNOME-Plattform bietet Unterstützung sowohl für die Nutzung von Webdiensten aus Ihrer Anwendung heraus, als auch umfassende Bibliotheken für die Verarbeitung, Verwaltung und Umwandlung von XML, der Sprache des Webs.
- 4.5.1. SOAP
- 4.5.2. XML-Verarbeitung
- 4.5.3. Umwandlung von XML mittels XSLT
4.5.1. SOAP
Mit der libsoup-Bibliothek stellt GNOME Unterstützung für SOAP bereit, ein oft verwendetes Protokoll für die Übertragung von XML-Meldungen über HTTP. SOAP erlaubt Entwicklern die Bereitstellung einer Web-Schnittstelle, die dann von Anwendungen zum Abrufen von Informationen, Senden von Daten, für Transaktionen oder jeden anderen verfügbaren Dienst verwendet werden kann.
SOAP kann zum Suchen und Abrufen von Informationen verewendet werden, zur Interaktion mit einem Online-Speicher, zur Verwaltung von Benutzerkonten auf anderen Systemen und für viele andere Zwecke. Webdienste stellen mehr und mehr grundlegende Funktionen für Benutzer bereit. Anwendungen, die SOAP verwenden, können die Integration und Bedienbarkeit für Benutzer verbessern.
Die libsoup-Bibliothek enthält eine HTTP-Implementation sowie eine Reihe von Schnittstellen für die Konstruktion und Verarbeitung von SOAP-Meldungen. Sie erlaubt die sichere Legitimierung, so dass Webdienste auf private Benutzerkonten über eine sichere Verbindung zugreifen können. Die Verwendung von libsoup ermöglicht den leichten Zugriff auf Webdienste ohne manuelles Parsen und Interpretieren der durch SOUP gesendeten Meldungen.
Weitere Informationen über libsoup finden Sie im libsoup-Referenzhandbuch.
4.5.2. XML-Verarbeitung
Seit seiner formellen Einführung im Jahre 1998 wird XML (eXtensible Markup Language) in einer ständig steigenden Zahl von Anwendungen verwendet. XML hat einen sehr weit gefassten Anwendungsbereich, der von Dokumentformaten wie XHTML und DocBook bis hin zu Internetprotokollen wie SOAP und Jabber reicht. XML verfügt über eine saubere und einfache Syntax, wodurch sich Anwendungen auf Ihre speziellen Bedürfnisse zuschneiden lassen.
GNOME wird mit der libxml2-Bibliothek geliefert und verwendet diese sehr intensiv im gesamten Desktop. Die libxml2-Bibliothek ist eine schnelle und vollständig standardkonforme Bibliothek zur XML-Verarbeitung und stellt alles Nötige zur Verfügung, was für die Verwendung von XML in Ihrer Anwendung erforderlich ist.
Die libxml2-Bibliothek stellt eine Reihe von Schnittstellen für die Arbeit mit XML bereit. Sie können das verwenden, was für Ihre Anwendungsentwicklung am besten geeignet ist. Zusätzlich zum eigentlichen Schnittstellenbaum bietet libxml2 auch die Callback-basierte SAX2-Schnittstelle, Lese- und Schreibschnittstellen für XML-Datenströme und eine vollständige Unterstützung für XPath.
Zusätzlich zur DTD-Unterstützung kann die Validierung von Dokumenten mittels RELAX NG erfolgen. Dies erlaubt Ihnen ein flexibleres Validierungsmodell und trotzdem eine einfache Verwendung. XML Schema wird teilweise unterstützt, die neue Schema-Sprache des W3C.
Sie sollten libxml2 verwenden, wo immer Sie in Ihrer Anwendung direkt mit XML arbeiten. Die Verwendung von libxml2 stellt sicher, dass das Parsen, die Verarbeitung und die Ausgabe von XML standardkonform erfolgt. Damit dürfte der Ärger über Inkompatibilitäten zwischen Anwendungen ein Ende haben.
Weitere Informationen über libxml2 finden Sie in The Libxml Tutorial und The Reference Manual for libxml2.
4.5.3. Umwandlung von XML mittels XSLT
XSLT ist eine XML-basierte Sprache zur Umwandlung von XML in andere Formate. XSLT ist vorlagenbasiert, was Ihnen die Auswahl bestimmter XML-Elementtypen und deren entsprechende Ausgabe ermöglicht. Basierend auf XML und XPath hilft XSLT Entwicklern bei der Erzeugung sauberer und modularisierter, zur jeweiligen Anwendung passender Vorlagen für die Umwandlung eines XML-Dialekts in ein anderes Format.
GNOME wird mit der libxslt-bibliothek geliefert, einer vollständigen Umsetzung des XSLT-Standards. Die libxslt-Bibliothek setzt auf die Unterstützung für XML und XPath in libxml2 auf, wodurch sie schnell und standardkonform ist.
Sie sollten libxslt verwenden, um XML-Dokumente umzuwandeln. Obwohl XSLT nicht immer der perfekte Weg für die Verarbeitung von XML ist, so kann damit doch oft die Entwicklung vereinfacht werden. Seit es libxslt ermöglicht, Funktionen und Elemente als Erweiterungen einzubinden, können Sie es besser an Ihre Anwendung anpassen.
Weitere Informationen über libxslt finden Sie in The XSLT C library for Gnome.