オルタナティブ・ブログ > Randomwalk >

予測できないITの行く先を、あちこち歩きながら考えてみます

Ajaxあるいはリッチクライアントが発展するために欠けているもの

»

ビジネスアプリケーションでは“リッチクライアント”という大きなトレンドが、Ajaxが話題になる以前からあって、その文脈ではAjaxはリッチクライアントを実装する技術の1つと見ることができます(@ITでは昨年から“リッチクライアント&帳票”というジャンルを開始しています。「ゲッター」が担当者として頑張ってます)。

リッチクライアントとは、業務アプリケーションをWeb化するための技術の総称といえるでしょう。リッチクライアント以前のWebアプリケーションはHTMLによる貧弱なユーザーインターフェイスしか構築できなかったため、例えばリターンキーで次の入力フィールドに移動したり、日付や電話番号といった決まったフォーマットでの入力、すばやい画面切り替え、紙の帳票そっくりの入力画面、といった高度なユーザーインターフェイスが求められる業務アプリケーションを構築することはほとんどできませんでした。

リッチクライアントではこうした機能を実現するために、Webブラウザ上でFlashや独自のActiveXやJavaScriptやJavaAppletなどの技術を用います。リッチクライアントの登場で、業務アプリケーションのWeb化が見えてきた、というのが現状でしょう。

現在主流のリッチクライアント技術にはマクロメディアのFlashやアクシスソフトウェアのBizBrowserやカールのCurl、IBMのWorkplace、それにAjaxなど(ここに挙げていないものも含めて)さまざまなものがありますが、それぞれ開発言語(クライアント側、サーバ側)、開発環境、通信プロトコル、プログラミングモデルなどが異なっています。

今後業務アプリケーションがリッチクライアントを用いてWeb化されていくことは必然といえますが、そのネックになると私が思っているのが、リッチクライアントがいまのところベンダや技術ごとの縦割りになっていて、標準的なものがないことです。

例えば、業務アプリケーションに欠かせないリレーショナルデータベースは、SQLという標準が存在するため、開発者のスキルは応用しやすく、またエンドユーザーにとってもベンダのスイッチが容易で、ベンダ間の競争も促進させやすいという利点があります。

リッチクライアントも、こうしたコアになる標準技術を持つことで、もっと開発者を流動的に活用できて開発コストを下げられ、また特定のベンダや技術への依存度を減らすことで、エンドユーザーが感じる導入リスクを低くすることができるのではないでしょうか。

例えばXFormsなどは、サーバとやりとりするデータの部分と、ユーザーインターフェイスとなるプレゼンテーションの部分をそれぞれ切り離して定義できるため、リッチクライアントでそれぞれのレイヤを定義する標準技術としては検討に値する規格だと思います。開発言語も、複数のベンダがJavaScriptをベースにしていますし(AjaxはJavaScriptそのものですし)、Eclipseを開発環境にしているところもあります。もう少しだけ関係者同士が歩み寄るだけで、標準の構築に近づけるのではないかという気がします。

とはいえ、リッチクライアントのベンダ同士で標準化をしていこう、という動きはいまのところほとんど見られないのが、私としては残念です。まだ発展途上の側面があるので、今後成熟するに従って、そうしたことが起こるのかもしれません。

一方で、昨年からのAjaxブームによって、Ajaxを前提とした開発フレームワークやWebブラウザ上のコンポーネントモデル、それにリッチクライアント/サーバ間のデータ構造といった標準を、Ajaxが一気に作り上げてしまうという可能性もあると思っています。

その標準仕様にほかのリッチクライアントのベンダが乗ってくれれば、例えばEclipse上で、Ajaxの部品とFlashの部品とほかのリッチクライアントの部品を混在して、アプリケーションとして自由に組み合わせて開発ができる、といったことが実現するかもしれません。あるいは、Ajaxで作ったリッチクライアントを、サーバのアプリにはほとんど手を入れずに、Flashベースに入れ替えて高度化する、といったことが容易にできるかもしれません。Ajaxのブームには、そういう側面で少々期待するところもありつつウォッチしています。

ただ、リッチクライアントには標準化できない部分が数多くあることも理解しています。例えば、紙の帳票とまったく同じ入力画面を求められたとしたら、コンポーネントそのものを紙の帳票そっくりに設計するための設計ツールも必要でしょう。こうした高度なカスタマイズが要求される場面ではベンダ独自の機能が尊重され、また差別化要因として必要です。

標準化と差別化のバランスをどこでとるのか。リッチクライアントがこれからさらに発展するには、そうした模索がこれから必要なのではないかと思っています。

Comment(1)