XMLによるシステム連携を実現するブログ

 そもそもSOAPプロジェクトの動機であった,「XMLとHTTPをベースにした異種システム連携」は,皮肉なことに,Webサービスが停滞している間に爆発的に広まり始めた。そのきっかけとなったのは,Weblog(ブログ)と,そこで利用されたRSS(RDF Site Summary,またはReally Simple Syndication)と呼ばれるXMLフォーマットの普及である。ブログもRSSもSOAPが世に出る前に既に存在しており,2002年ごろにメジャーになった。RSSはブログ専門のXMLフォーマットではないが,ブログのメジャー化とともに知られるようになった。

画面3●RSSの例
更新日やタイトル,内容の一部などがXML形式で記述されている。
画面4●Blogクライアントの例
画面は「ubicast Blogger」。Blogger APIやmetaWeblog APIに対応しているツールの一つ。ユビキャストが公開するブログ記事の編集/投稿ソフトウェアである。写真や動画を含んだ記事をWYSIWYGスタイルで作成し,投稿できる。

 現在のブログのシステムにはたいてい,RSS発信機能が付いている(画面3[拡大表示])。RSSには,ブログの更新情報(タイトルや抜粋などを含む)がXML形式で格納される。RSSを収集し,再発信したり全文検索したりできるサービスも存在する。さまざまな企業や開発者がそれぞれ別々に開発したブログ・システムと検索システムが,RSSという形式を介してダイナミックに連携しているのである。RSSを世に広める立役者となったのは,かつてSOAP仕様の策定に最初から参加した米UserLand Software社のDave Winer氏である。

 ブログ・ソフトウェアの草分けである「MovableType」は,2002年に「トラックバック」と呼ばれる機能を実装した。トラックバック機能を持つブログシステム同士では,自動的にリンクを作成できる。ブログシステムがMovableTypeであるかどうかは関係ない。つまりこれも,異種システム同士の連携にほかならない。

 また,ブログに記事を投稿するためのAPIもXMLベースになっている。ホスティング(ASP)型のブログサービスの老舗である「Blogger .com」は,投稿内容をXMLで送信するためのAPIを定義している。同じくブログシステムの老舗であるUserLand Softwareの「Radio UserLand」には,「metaWeblog API」と呼ばれる機能が実装されている。どちらもHTTPとXMLを用いた非常に簡単なインタフェースとして定義されているため,これらのAPIをサポートするツールも数多く存在する(画面4[拡大表示])。

現実のサービスありきで生まれた

 2003年7月,Amazon.comから1年遅れて,Amazon.co.jpもWebサービスの提供を開始した。当時ブログで書籍や映画などの感想を書いていた人たちにとって,Amazon Webサービスは格好のコンテンツ増強剤となった。単に文字で感想を書くだけではなく,Amazon.co.jpのカタログに含まれている画像やカスタマーレビューの情報などを併せて載せられる。さらに自動作成されるリンクを第三者がクリックすることで,Amazon.co.jpからブログのオーナーに紹介料が支払われる可能性もある。ブログなどのWebサイトとAmazon.co.jpのシステムが,Webサービスを介して連携する。

 ブログが持つXMLベースの機能や,GoogleやAmazonが公開したWebサービスは加速度的に広まり,自社のサービスの一部をXMLで公開するという行為はもはや流行以上のものになりつつある。これらのサービスは,企業間システム連携を主眼に置いた「いわゆるWebサービス」とは異なるものとして解説されることが多い。しかしSOAPやWebサービスが目指した,XMLによる柔軟なシステム連携を実現しているという点で,現実に存在するWebサービスなのである。筆者はこれらを「そっちじゃないWebサービス」と呼んでいる。

 「そっちじゃないWebサービス」の特徴の一つは,スクリプト言語による実装が非常に多いことである。前回触れたように,WSDLとXML Schemaでガチガチに固められたXMLの構造を仕様として事前に定義しなくても,相互に通信できるシステムは作れる。ここで重要なのは事前に取り決めた仕様よりも,むしろネットワーク上を実際に行き来している実際のXMLメッセージである。WSDLよりもSOAPのほうが重要なのだ。

 XMLによって異種システムがつながりやすくなるのは,XMLが人間の目にもある程度まで理解可能なので,流れているXMLデータに対して柔軟に対応できるからだ。「ある程度まで理解可能」という意味は,以前よく言われていた「XMLはタグを勝手に決められるため,データに意味を付加できる」という絵空事のような話ではない。AmazonやGoogleが提供しているサービスの内容や,ブログを構成する部品(タイトル,内容,投稿者,リンク,コメントなど)の定義が開発者の間に広く浸透していることから,XMLの要素や属性が何を意味しているのかを推測するコンテキストにブレが少ないということである。サービスありきでシステムが実装されているために得られる恩恵である。またXMLのプログラミングにそれほどのスキルは必要ないという点も,柔軟なシステムを時とともに改善していくという仕組みにマッチする。

 「そっちじゃないWebサービス」は現実のサービスありきで始まった。セキュリティがない,読み取り専用である,などの理由でこれらをオモチャ扱いすることは簡単だが,いわゆるWebサービスの技術を使ってセキュアなWebサービスを運用している実例はほぼ皆無であるという事実から目をそらすべきではない。


吉松 史彰 Fumiaki Yoshimatsu

アマゾン ジャパン Amazon Webサービステクニカル・エバンジェリスト
XMLやWebサービス技術,とりわけAmazon Webサービスを普及させ,Amazon Webサービスの開発者コミュニティを盛り上げるために活動している。アマゾンジャパン入社以前から,COM,.NET,XMLやWebサービスなどの分散システム技術の調査研究,およびそれらを日本の開発者コミュニティに紹介する活動を一貫して続けている。1998年以来,毎年「Microsoft Tech・Ed」などでシステム構築技術に関する講演を行っている技術解説のプロフェッショナル。書籍や雑誌,Webサイトなどでの技術解説の執筆,講演多数。