XMLとWebサービス
相互接続が進む私たちの世界においては、さらにより多くのアプリケーションが色々なWebサービスを提供していく必要があります。Webサービスが単に機能の追加を提供する場合もあるし、Webサービスがアプリケーションの主要な目的である場合もあります。スタンドアローンでユーザを何年も満足させていたアプリケーションをWebサービス化することにより、革新的なユーザを新たに獲得した例もあります。
GNOMEプラットフォームはアプリケーションでWebサービスを使用するためのサポートと、ウェブ上の言語であるXMLの使用、管理、変換のための理解しやすいライブラリを提供します。
- 4.5.1. SOAP
- 4.5.2. XML処理
- 4.5.3. XSLTによるXMLの変換
4.5.1. SOAP
GNOMEはlibsoupライブラリによってHTTP上でXMLメッセージをやりとりするために広く用いられているSOAPにたいするサポートを提供します。SOAPは開発者がウェブ上で、アプリケーションが情報を取得するのに使用されたり、データ送信、トランザクションの生成、その他いくつものサービスを提供するためのインタフェースを公開することを可能にします。
SOAPは検索や情報の取得のために使用でき、オンラインストアでのやりとりや他のシステムでのユーザ管理、その他さまざまな目的のために使用されます。Webサービスはユーザのために重要な機能を提供するために今後ますます使用が期待できます。また、SOAPを使用するアプリケーションは、より統一され進化したユーザ経験を提供することができます。
ライブラリにはHTTP実装とSOAPメッセージを構築・使用するためのAPIが含まれています。これにより安全な認証も可能になるため、Webサービスを使用して安全な接続を使用してプライベートなアカウントにアクセスすることができます。
libsoupについての詳細は libsoup Reference Manual を参照してください。
4.5.2. XML処理
1998年に正式に紹介されて以来、XML(eXtensible Markup Langauge) を使用するアプリケーションは増加しつづけています。それはXHTMLやDocBookのようなドキュメントの書式から、SOAPやJabberのようなインターネット・プロトコルまで、さまざまな目的で広く使用されてきました。XMLは読みやすくてシンプルな基本文法を提供し、アプリケーションがアプリケーション固有の問題に専念することを可能にします。
GNOMEには libxml2ライブラリが付属しており、デスクトップを通じて広い範囲で使用できます。libxml2ライブラリは高速で、XML処理の標準に完全準拠したライブラリであり、アプリケーションでXMLを使用するときに必要となるすべてを提供します。
libxml2ライブラリはXMLを処理するための、いくつかの異なるAPIを提供するので、あなたはアプリケーション開発の要件に最適なAPIを使用することができます。ネイティブのツリーAPIに加えて、libxml2はコールバック・ベースのSAX2 API、ストリームからのXMLの読み込み・書き込みのためのインタフェース、そしてXPathの完全なサポートを提供します。
libxml2はDTDサポートに加えて、より柔軟な妥当性評価モデルを持ち、簡単に使用することができるRELAX NGを使用したドキュメントにたいするサポートを提供します。またW3Cが策定した新しいスキーマ言語であるXML Schemaも部分的にサポートします。
アプリケーションで直接XMLを処理する場合はlibxml2を使用するべきです。libxml2を使用することにより、XMLの構文解析・処理・出力で完全な標準準拠を保証することができます。これは開発者がアプリケーション間での非互換を心配する必要がないことを意味します。
libxml2についての詳細は The Libxml Tutorial と The Reference Manual for libxml2 を参照してください。
4.5.3. XSLTによるXMLの変換
XSLTはXMLを他の書式に変換するXMLベースの言語です。XSLTはテンプレートベースの言語であり、特定のタイプに一致するXML要素を見つけて適切な出力を生成することができます。XMLとXPathを基本として、XSLTは開発者がアプリケーションにより適した他の書式にXMLを変換するための読みやすくてモジュール化されたテンプレートを作成することを可能にします。
GNOMEにはXSLTの完全な実装であるlibxsltライブラリが含まれています。libxsltライブラリはlibxml2のXML、およびXPathのサポートを基に構築されていることから、高速で、標準に準拠しています。
XMLドキュメントを変換する場合はlibxsltを使用するべきです。XMLの処理において常にXSLTが正しい解決とは言えないものの、開発が簡単になる場合もあります。libxsltで拡張要素や拡張機能を追加できるようになってからは、アプリケーションに適するようにカスタマイズすることが可能になりました。
libxsltについての詳細は The XSLT C library for Gnome を参照してください。