前回の「第4番:外部データベースのすすめ」では、xfyによる外部データベースの利用方法を示した。データベースの参照が可能になることで、xfyの利用範囲は大きく拡がる。さらに、今回取り上げる「Webサービス」を利用することで、さらに広範囲でxfyを生かせるはずだ。
今回は、Webサービスの利用方法の1つであるREST形式で、AmazonのWebサービスを使い、書籍データを取り出してみる。さて、最終回「第5番:Webサービス利用へのいざない」を聴いていただこう。
SOAPとRESTの2つの形式に対応
「Webサービスって何?」と問われたとき、きちんと答えられるだろうか。マイクロソフトやIBMが推進しているもの。AmazonやGoogleが提供しているもの。OSや言語の違いを意識せずに利用できるもの。XML、SOAP、UDDI、WSDLといった略語が飛び交うもの。どれも間違いではない。まあ、「WebサービスはWebの技術を使って利用するサービス」と覚えておけば恥はかかないだろう。
xfyは、このWebサービスからデータを取得する仕組みを用意している。しかも、SOAP(Simple Object Access Protocol)とREST(REpresentational State Transfer)という、Webサービスを利用するための2つの形式のどちらにも対応している。つまり、提供されるWebサービスの形式や、すでに他のアプリケーションで使い慣れた形式によって、データの取得が可能となっている。
基本はドラッグ&ドロップでの実装
では、早速AmazonのWebサービスを利用するアプリケーションを実装してみよう。まずは、ベースとするXHTMLドキュメントを作成する。
すでに何度か示したが、XHTMLドキュメントを作成するときには、[ファイル]メニューで[新規作成]メニューコマンドを選択し、表示されたダイアログボックス上で[テンプレート]の“XHTML”を開く。
次に、[表]メニューから[表の挿入]メニューコマンドを選択して、XHTMLドキュメント上に1行2列の表を挿入する。そして、“Amazon Book Search”と“Blog”とそれぞれの列に入力する。左の列をタイトル用、右の列を検索キーワード用に使用する。
ここまでの作業を終えたら、Webサービスを利用するためのコンポーネントを実装しよう。だが、実装するとは言っても、単に[ドキュメントランチャーエリア]の[テンプレート]で“Webサービス(REST方式)”を選び、XHTMLドキュメント上にドラッグ&ドロップするだけだ。
ドラッグ&ドロップすると、[リクエストジェネレータ]という名のボタンが表示される。このボタンをクリックして、表示された[リクエストジェネレータ]ダイアログボックスを使い、Webサービスへの要求内容を生成する。