最新のテクノロジーに敏感な米国の技術者らがいま最も注目している技術の1つ、それが「Ajax(エージャックス)」だ。JavaとXMLという既存の技術を組み合わせた新しいアイデアは、多くの技術者らの心をつかむとともに、アプリケーションのユーザビリティを大幅に向上する、魔法の技術でもある。

 電子メールをはじめ、銀行のオンラインバンキングなど、ウェブブラウザを使ってネットワーク経由でアプリケーションを利用する、いわゆるウェブアプリケーションが広まっている。ウェブアプリケーションでは、ユーザーがウェブサーフィンをする感覚で、パッケージで提供されるようなアプリケーションを利用できる。

 仕組みとしては、ウェブブラウザからの要求を受けてサーバーがウェブページをクライアント側に送信し、ユーザーが必要な情報を入力して返信を行うと、さらにサーバーが必要な次のページを送り返す、といった動作を繰り返す。それが全体で1つのアプリケーションとして動作する。例えば、乗り換え案内などでは、出発と目的の駅名を入力してボタンを押すと、次のページで最適な経路がリスト表示されるが、これがウェブアプリケーションの基本的な動作スタイルだ。

 ウェブアプリケーションのメリットは、ウェブブラウザさえ動作すれば、クライアント側の環境はウィンドウズ、Mac OS、Linuxなどを問わずに動作するほか、個々のクライアントにアプリケーションをインストールする必要がない点である。

 だが一方で、通常のアプリケーションほど画面の表現力に自由度がなく、クライアントとサーバーの間でデータのやり取りを行うたびにページの移動が発生するという難点がある。これにより、ウェブアプリケーションは通常に比べ操作性が低い結果になっている。

 そこで最近注目を浴びつつあるのが「リッチクライアント」だ。リッチクライアントでは操作にウェブブラウザを使うものの、その表現力や操作性は一般的なウェブアプリケーションよりも高い。

 例えば、ウェブブラウザ上にアニメーションや特殊効果を施したり、テキストボックスで規定文字数以上の半角英数での入力を禁止するほか、ウェブページの移動なしに画面の情報をリフレッシュするなど、通常のアプリケーションと同等の表現力や操作性が実現できる。ウェブアニメーションに利用されるFLASHも、リッチクライアントへの応用が期待される技術の1つだ。

 近年大きなムーブメントとなりつつあるリッチクライアントだが、今回紹介するAjaxも、それを実現する技術の1つである。

 Ajaxは、ウェブブラウザが標準で備えるJavaScript(ジャバスクリプト)などのJava技術を使って、クライアントとサーバーの間でXMLの情報をやり取りする。これにより、ユーザーはページを移動することなく、サーバーから次々と送られる新しい情報を利用することができる。最も分かりやすい例が検索ポータル「グーグル」が提供する地図検索アプリケーション「グーグルマップ」だろう。

 これまでの地図検索アプリケーションでは、表示された地図を移動させる場合、移動したい方向の矢印マークをクリックして、次のウェブページが表示されるのを待つ必要があった。ところがグーグルマップでは、ドラッグアンドドロップ方式でマウスカーソルを使って自由に地図の位置を動かすことができる。しかも地図情報がサーバー側からクライアント側へと非同期で次々と転送されるため、待ち時間がなくスムーズな操作が可能である。このグーグルマップで注目すべきは、Active X(アクティブエックス)などによる追加のプラグインは必要なく、標準のウェブブラウザだけの環境でこうした操作性を実現していることにある。

 JavaScriptとXMLという既存の技術を組み合わせるAjaxのアイデア自体は、すでに従来からある。だがこのアイデアに「Ajax」という名称がつけられ、その利用方法が広く公開されたことで、グーグルなどをはじめとして、「アルファギーク」と呼ばれる技術のトレンドリーダーたちの大きな注目を集める結果となった。動作環境を限定するという制約はあるものの、標準環境のみでリッチクライアント環境を実現するAjaxは、今後プログラマらによって新たな利用方法が開拓されていくことになるだろう。(鈴木淳也)