写真1:GartnerのResearch DirectorであるRay Valdes氏
写真1:GartnerのResearch DirectorであるRay Valdes氏
[画像のクリックで拡大表示]
写真2:AjaxはRIAのサブセットに過ぎない
写真2:AjaxはRIAのサブセットに過ぎない
[画像のクリックで拡大表示]

 「AjaxはSOA(サービス指向アーキテクチャ)のフロントエンドに向いており,企業ITシステムの世界でも,メインストリームになるのは間違いない。しかしAjaxは2年内に『差異化のポイント』ではなくなる。流れはRIA(リッチ・ユーザーインターフェース・アプリケーション)にあるのであって,(RIAの実現手段は)Ajaxだけではない」--そう指摘するのは,米GartnerのResearch DirectorであるRay Valdes氏(写真1)だ。

 Valdes氏は4月22日から26日(米国時間)まで米国サンフランシスコで開催された「Gartner Symposium/ITxpo 2007」で,「Ajaxの限界とRIAの可能性」と題する講演を行い,企業ユーザーが注意すべき「Ajaxの落とし穴」を指摘した。

 「Ajaxは死んだ--とまでは言わないが,少なくとも2年内にAjaxは主流になり,差異化のポイントではなくなるだろう」というのがValdes氏の主張。むしろAjaxに代表される「RIA(リッチ・ユーザーインターフェース・アプリケーション)」の台頭こそが注目すべきポイントであり,「Ajaxは『プラグインのいらないWebブラウザ・ベースのRIA』というRIAのサブセット。RIAには,他にも多様な技術,フレームワークが存在する」(Valdes氏)と指摘した(写真2)。

 Ajax以外の技術を用いたRIAにも注目すべき理由は,「Ajaxに限界があるからだ」とValdes氏。「誰でも気付くのは,Ajaxにはオフライン機能がないこと。Webブラウザ自体が,アプリケーションの動作を意識して作られていないのだから,これは超えられようがない。大企業であればあるほど,オフライン対応を求めているが,Ajaxのオフライン対応は失敗するだろう。ほかにもAjaxには,Webブラウザとローカル・アプリケーションとの間にあるセキュリティ・モデルの違いというハードルがある。Ajaxアプリケーションからローカル・ファイルにはアクセスできないし,もしできたとしてもそうすべきではない。アラート機能の実装が難しいことや,コードのメンテナンスが難しいことも弱点だ」(Valdes氏)という。

Ajaxに成功/失敗する5つの方法

 これらの問題を指摘した上で,Valdes氏は「Ajaxをやる上での5つの成功する方法と失敗する方法」を披露した。まずValdes氏は「方法」を述べる前に,Ajaxの受容には4つのレベルがあると指摘した。とりあえずJavaScriptを埋め込んでみるのが「レベル1」,Widgetsを作ってみるのが「レベル2」,クライアント・サイドのAjaxフレームワークを利用するのが「レベル3」,クライアントとサーバー・サイドのAjaxフレームワークを利用するのが「レベル4」だ。そして成功する1つ目の方法は「レベル1とレベル2から,とりあえず始めてみること」だという。逆に失敗する1つ目の方法が「レベル2まで取り組んだ段階で,プロジェクトを止めてしまう」ことだ。

 Ajaxに成功する2つ目の方法は,「よく理解できるAjaxフレームワークを採用してレベル3/4に移行し,自社でAjaxのすべてを書くことをやめること」だ。そして,失敗する2つ目の方法は「採用したAjaxフレームワークのベンダーがいなくなってしまうこと」だという。Valdes氏は「どのフレームワークを選ぶかは,非常に重要な問題だ」とも強調した。なおこのセッションは,ユーザー企業の情報システム担当者(CIOなどを含む)に対して行われていたことを,特筆しておきたい。システム・インテグレータなどは,この方法の適用対象ではないかもしれない。

 Ajaxに成功する3つ目の方法は「Ajaxのテクノロジ面にばかり注目するのではなく,Ajaxを採用することによるコスト効果や,エンドユーザーの利益を考えること」だ。そして失敗する3つ目の方法は「テクノロジ面ばかり考えて,ビジネス面のことを考えないこと」だという。これは5つ目の方法にも関連した話題になる。

 Ajaxに成功する4つ目の方法は「サーバー・サイドのプロセッシングを意識する」ということ。Valdes氏はAjaxの利点は,SOAのアプリケーションとの連携にあると見ている。よって「クライアント・サイドのプロジェクトとしてAjaxを始める」ことが,失敗する4つ目の方法になる。

 Ajaxに成功する5つ目の方法は,「企業の業務プロセスに,ユーザービリティ中心のデザインを持ち込むことを意識し,Ajaxだけにこだわらないこと」だ。なぜリッチなユーザー・インターフェースが必要かよく考えた上で,リッチ・ユーザーインターフェースを実現する手段がAjaxだけしかないかどうか,吟味した方がいいとValdes氏は訴える。一方で,Ajaxに失敗する5つ目の方法は「セキュリティの実装を無視すること」だ。セキュリティやオフラインでの利用を考えるのであれば,Ajax以外のRIAを検討した方がいいとValdes氏は指摘する。