図1●オムロンはBtoBシステムに「Ajax」を応用制御機器のカタログ・サービス「Industrial Web」でインクリメンタル・サーチ(入力文字に応じて候補を示す検索手法)を実現するために,Ajaxを応用した。5万点以上の商品から目的のものを素早く探し出せるようになった
図1●オムロンはBtoBシステムに「Ajax」を応用制御機器のカタログ・サービス「Industrial Web」でインクリメンタル・サーチ(入力文字に応じて候補を示す検索手法)を実現するために,Ajaxを応用した。5万点以上の商品から目的のものを素早く探し出せるようになった
[画像のクリックで拡大表示]
図2●Windowsアプリケーションとの操作の互換性にこだわると開発工数は大きく膨らむ
図2●Windowsアプリケーションとの操作の互換性にこだわると開発工数は大きく膨らむ
[画像のクリックで拡大表示]

「Ajax(エージャックス)」と呼ばれるWebシステムのプレゼンテーション開発技法が企業システムにじわりと浸透し始めた。Webブラウザに標準搭載されたJavaScriptやDHTML(Dynamic HTML)の機能を駆使することで,従来のWebシステムでは考えられなかったインタラクティブ性や使い勝手の良さを実現する。

 AjaxとはAsynchronous JavaScript+XMLの略。明確な定義はないが,狭義では名前の通り,利用者の操作や画面描画と並行し,サーバーからXMLデータを非同期で取得(先読み)。それにより,ページ遷移や待ち時間無しで表示を高速に切り替えられるようにするプレゼンテーション部分の開発技法である。もっとも最近では,XML形式以外のデータ形式を使う場合や,イベント同期(逐次)型でリクエストする場合でもAjaxに含めることがある。

 こうした技法は1997年ごろから使われていたが,2005年に検索大手の米Googleが地図情報提供サービス「Google Maps」やWebメール・サービス「Gmail」の実装に用いたことで,その利便性と実力が再評価された。

オムロンがBtoBシステムに採用

 こうしたAjaxを,業務システムに適用する動きがある。オムロンは2005年11月,企業向け制御機器のカタログ・サービス「Industrial Web」の検索機能をAjaxで拡張した。検索したい製品の品番をテキスト・ボックスに入力すると,文字を入力するたびに自動的に候補を絞り込んで表示する(図1[拡大表示])。いわゆる「インクリメンタル・サーチ」である。

 キー入力してから候補が表示されるまでの時間は,ごくわずか。「1秒かかると利用者のストレスになる。体感速度で0.1秒以内のレスポンスを目標にしてチューニングした」(営業統轄事業部 エリア営業事業部 業務推進課 主事 伊達桂氏)。開発を担当したアイ・エム・ジェイの林昭広氏(Webインテグレーション第2事業部 マネージャー/チーフプロデューサー)によれば,「JavaScriptは約30Kバイトで,開発には約1人月かかった」。

開発者の負担は重い

 Ajaxを駆使してWindowsアプリケーション並みの操作性を実現したのは,受託開発のアイエスイーだ。ASPサービスとして提供しているWebメール・システム「Flex-Mail」は,AjaxによりOutlook Expressと見間違えるほどの操作性を実現する((図2[拡大表示])の左)。

 ただし,Windowsアプリケーションと全く同じ動作を実現させようとするのは「茨(いばら)の道だ」(アイエスイー取締役 第三ソフトウェア部 部長 大久保正博氏)。JavaScriptでかなり複雑なイベント処理や制御処理が必要になるうえ,JavaScriptやDHTML,Webブラウザ,XMLパーサーなどに仕様や実装上の制約があるからだ。

 Flex-Mailでは,メールのタイトル行にカーソルを置いて上下に移動させた場合,カーソルがミリ秒単位で止まったら表示する仕組みを組み込んでいる。こうした細かな作り込みをすると,どうしても開発効率は悪化する。汎用性の高いJavaScriptライブラリを開発したアイエスイーでさえ,「個別開発の業務システムに適用しても,ペイしないだろう」(社長 附田秀一氏)という。JavaScriptライブラリのダウンロードと初期化処理に時間がかかり,起動が遅くなる難点もある。

 そこで,先行企業の大半は,「従来型のWebユーザー・インタフェースの操作性を改善する目的で限定的に使う」(サイボウズ チーフ・クリエイティブ・オフィサー 小川浩氏)にとどめている。この程度の使い方なら,開発生産性を大きく落とさずに済むからだ。

 ただ今後は,開発支援ツールが充実してくる。HOWSは,Ajaxアプリケーションの開発支援ソフト「AjaxBuilder」を2005年11月に出荷。これは,入出力部品とオーサリング・ツールを組み合わせた製品である。Ajaxに対応したサーバー側フレームワークとしては,米CyberXP.NETの「AjaxFaces」が既に提供中。そのほか米Microsoftは,「Atlas(アトラス)」と呼ばれるAjax対応のフレームワークを開発中で,ASP.NETの将来版に統合する予定である。