AJAXを追い風に、さまざまなサービスをWeb上で融合させるマッシュアップがはやっている。MSのLiveガジェットは、さまざまなWeb APIとつなぐことができる柔軟さを持っている。
オンライン・ムックPlus「Windows Liveが魅せる次世代マッシュアップ」のガジェット開発ノウハウを紹介する本連載では、これまでに第1回目で概要について(関連記事)、そしてガジェットにはどのような種別があるかを第2回目で触れた(関連記事)。
第3回目からは実際の開発手法について触れたが(関連記事)、第4回目に続き、コアとなる部分を解説していくことになる。
前回第5回目のテーマは、Liveガジェットがどのように表示を行っているのか、そしてRSSを表示させるリーダーの役割をどのように実現するかに触れた。このサンプルガジェット作成でコアとなる部分は前回を参照いただきたいが、今回はガジェットを配置する際に重要となるマニフェストファイルについての解説だ。
なお、オンライン・ムックPlus「Windows Liveが魅せる次世代マッシュアップ」では、“Liveガジェットのアイデア募集”を行っている。読者から寄せられたアイデアは、本特集上で優秀作やアイデア傾向などを紹介していく予定だ(2006年3月まで募集)。
Liveガジェットでネットワークからデータを取得する場合、ネットワークリクエストオブジェクトを使うのが基本となる。しかし、成功したときに呼び出される手順(コールバック関数)を実装する必要があるため、少々コードが煩雑になってしまう。
そこでより簡単にネットワークからデータを取り出す方法として、マニフェストファイル(*.xmlファイル)に、取得したいデータの取り先となるURLを記述しておく方法もある。
マニフェストファイルで、データのURLを定義するには、CSSやJavaScriptのコードを定義するのと同じくlink要素を用いる。このとき、binding:type属性を「xml」とし、binding:name属性にスクリプトから参照したい識別名を記述しておく。例えば、下記リンク先に挙げたリスト5のようにする。
binding:type属性は「xml」とするが、実際に指定するURLのデータは、XML形式である必要性はない。テキストデータやHTMLデータも取得できるのだ。しかし、その場合でも、binding:type属性は「xml」のままにすることがポイントの1つだ。
リスト5の例では、次のように、「mydata」という名前で、http://www.example.co.jp/MyData.xmlというURLを定義している。
リスト5:マニフェストファイルに記述したXMLデータのURL
-
http://www.example.co.jp/MyData.xml
このようにすると、Liveガジェットが読み込まれるときに、自動的にネットワークリクエストオブジェクトが生成されてデータ受信が行われるのだ。
Copyright © ITmedia, Inc. All Rights Reserved.