動きのある派手なWebページを作成できる米Macromedia社のFlash。そのオーサリング・ツールの新版「Macromedia Flash MX 2004」が,2003年12月5日から出荷される。本誌が注目するのは,最上位版である「Professional」に加わったWebサービスとの連携機能。Webで配布可能なFlashコンテンツからWebサービスを利用できる。Professional版の価格は8万4000円で,他のWebサービス・クライアントを構築できるツールと比較しても高価ではない。
二つの側面を持つ
このツールは,画像やアニメーションの作成ツールとプログラム開発ツールの二つの側面を持つ(画面1[拡大表示])。
画像やアニメーションの作成に関連する機能が並んでいるのが左側のペイン。図形を書いたり色を付けるためのアイコンがある。対照的に,右側はプログラム開発ツールのようにボタンなどのユーザー・インタフェース(UI)部品や,データベース接続のためのコンポーネントの一覧が並んでいる。そして中央にある白紙のウインドウにUI部品やグラフィックス要素を貼り込んでコンテンツを作る。
こうした基本的な機能やツールの見かけは,旧版とあまり変わらない。ただ,右側のペインに「WebServiceConnector」というコンポーネントが加わった。これでWebサービスに接続する。
四つのステップで作成可能
この部品を使えば,Webサービスを利用したFlashコンテンツを基本的に四つのステップで作成できる。(1)コンポーネントの選択,(2)Webサービスの利用方法が定義されているWSDL(Web Services Description Language)ファイルの指定,(3)UI部品の配置と関連付け,(4)動作の指定,である。実際に試してみると,ほぼスムーズに進んだ。ただ,一部に操作の分かりにくい個所があった。
まず(1)のコンポーネント選択。WebServiceConnectorを中央にドラッグして貼り付ける。次にこれとWebサービスを関連付ける((2))。具体的にはWSDLファイルを指定する(画面2[拡大表示])。
WSDLファイルの内容はツールが解析する。「operation」をクリックすれば,そこで利用可能なサービスの一覧がドロップダウン・リストで表示される。
(3)の工程では,まずUI部品を配置する。テキスト・ボックスやボタンなど,Webサービスの利用に必要な部品をコンテンツに貼り付ける。
次に,Webサービスに渡す引数や,返ってくる戻り値を表示したり入力したりできるようUI部品を関連付ける。この操作は若干分かりにくかった。まずWebサービスの引数や戻り値を選んで,「バインディング」に登録する(画面3左[拡大表示])。バインディングはデータベースなど外部のプログラムとの接続を管理するものだ。次に,登録したバインディングの一覧から項目を選び,それを現在利用しているUI部品と関連付けていく(画面3右[拡大表示])。操作が二つに分かれているので,手間である。ここで少し悩んでしまった。ただ,プログラム構造に柔軟性を持たせるという意味では必然と考えるべきだろう。
最後の(4)は,ボタンを押されたときの操作を指定する作業だ。「ビヘイビア」というウィンドウで,ボタンとWebサービスの呼び出しを関連付ける。これで,ボタンを押したときに該当のWebサービスを呼び出すプログラムができる(画面4[拡大表示])。また同じサービスを別のプロジェクトで使うときは,過去に利用したWebサービスを一覧表示する機能が使える(画面5[拡大表示])。
ブラウザがリッチなUIになる
FlashがWebサービスに対応したことで,Webブラウザをリッチ・クライアントとして利用できるようになる。
旧版でもボタンやテキストなどを活用したリッチなUIを持つアプリケーションは作れた。しかしFlashはクライアントで動作するので,サーバーに存在するデータを動的に反映するアプリケーションを作るのが難しかった。データベースへのリクエストをHTTPに変換してやり取りするなどの工夫が必要だった。
まさにここに当てはまるのがWebサービスである。データソースへのアクセスをWebサービス化しておけば,Flashを利用したリッチなWebクライアントから操作できるようになる。
ブラウザでリッチ・クライアントを実現できれば,専用のクライアント・ソフトを配布する手間が省ける。ユーザーも,わざわざ別のソフトをインストールしなくて済む。
もちろん,ブラウザでFlashを利用するには最新のプラグイン・ソフトが必要だ。しかしFlashは認知度が高く,既に多くのパソコンに導入されている。ユーザーは受け入れやすい。
Webサービスの用途を広げる
Flashは,Webサービスの用途を広げる可能性も秘めている。現在Webサービスの主な用途として考えられている企業間商取引だけでなく,一般のユーザーを対象としたサービスもWebサービス化する意味が出てくる。例えば購買サイトが,商品の検索や購入申し込みなどのサービスをWebサービス化しておく。これまでHTMLで表現された貧弱なUIでしか利用できなかったものが,アニメーションを多用した華やかなUIで操作できるようになる。