ここにもXML

RIA(Rich Internet Application)

2005年12月号掲載記事

RIAは、ここ数年Webアプリケーションが語られる場面で、常に意識されてきた言葉です。広義には「リッチクライアント」とほぼ同じ意味合いで語られますし、現時点では認知度の点では「リッチクライアント」の方が高いでしょう。ただ、情報システムの時代的変遷を、コストパフォーマンスとユーザビリティ(使い勝手)の二軸で考えるなら、よりバックエンド側のシステムの重要性を感じさせる意味から、「RIA」の方が適していると考える人も多くなってきているのも事実です。

 
コストパフォーマンス
ユーザビリティ
1)メインフレーム時代
2)Client/Server 時代
3)Web(html)時代
4)RIA時代

そして、このように1)から4)の順に徐々にシステムの変遷が実際に起こり、将来起こっていくだろうということに関しては、殆ど異論は聞かれません。それは、とりもなおさず、Web(html)システムのユーザビリティの低さが、目の前の克服すべき課題だと言う認識があることを示していると言えるでしょう。

RIA(含リッチクライアント)には多くの技術が存在しますが、幾つかの典型的な「流れ」があります。「使い勝手」をエンターテインメント(アニメーション)系の演出力をデータ連携技術で拡張する流れ(Flash)、VisualBasic的な開発環境をWebに展開しようとする流れ(Biz/Browser)、学術的にも体系立てられた開発環境を目指す流れ(Curl)、既存のデファクトスタンダード製品をサーバ連携に活用しようとする流れ(Office)、データの可搬性を重視した流れ(PDF)、などです。

RIAコンソーシアム(RIAC)では、基本的に上記三つまでを対象にして、開発生産性を高めるノウハウ蓄積をしています。活用するためのブラウザ用プラグインが無料ということもあり、事例研究素材が集めやすいFlash系の技術に偏っている側面は否定できませんが、可能な限り中立的に次世代の情報システムの姿を模索しています。

その活動中で明らかになっていることの一つは、何が「Rich」であるか、ということです。一般的には「リッチ~」と表現される技術の多くは、そのシステムを使うユーザに「リッチ」な何か(コンテンツ)を届ける(配信する)ことだと思われています。

しかし、開発環境を考えれば、実は開発者の選択肢が「リッチ(豊富)」になっていると言えます。様々な技術とアイデアを駆使できる土台があり、それを提供することが可能となってきているのです。逆に言うと豊富な「素材」を上手くマネージメントしていくことが要求される時代に入っていると言うことです。

「XML」は、その選択肢の中で中核的な存在です。上記三つの技術は、どれもXMLパーサを標準で備え、データ送受信の多くにそれを活用しています。CSV形式の手軽さはまだまだ重宝されていますが、マシンリーダブル(システムが判読できる)ことは、開発環境の「標準」を意識する上で不可欠の観点となってきています。

RIAの効用(メリット)

さて、RIAシステムの導入のメリットはなんでしょうか。ユーザビリティの向上に主眼を置く開発を進めると、少なくとも下記の三つの分野で効果が出ると考えられます。

A) 利用者:ユーザビリティ/使い勝手向上
B) システム:サーバ負荷軽減/メンテナンス性向上
C) 経営:トレーニング/サポートコスト削減

RIAをユーザインターフェース(UI)の部分だけで捉えると、上記B),C)の側面は見えてきません。しかし、例えば、ユーザビリティに直結している要素として、「待ち時間」というものがあります。ユーザが何かを選択して、そのレスポンスの速さを意味する場合が多いでしょうが、サーバへの問合せが発生する場合、どんなに回線が太くとも、それはデータ量に左右されます。

利用者にとっては、きびきびと動くアプリケーションで使い勝手がよくなり、ストレス軽減になる場合もあるでしょう。上手くデータのダイエットに成功すれば、データ配信の負荷は確実に減り、サーバシステムのハードウェア的な延命にさえなる可能性があります。そして、利用者が直感的に迷わずそのオペレーションを実行できたなら、トレーニングやサポートに要していたコスト(時間やお金)が削減できます。

企業内のものではありませんが、下記はその代表的な例です。

これらは一般ユーザが使うものですので、「トレーニングコスト」という観点は見えてきませんが、この「ページ」に行けば直感的に欲しい情報に辿り着けるという意識を植え付けることは可能でしょう。更に、こうした仕組みの骨格が、基本的に軽いデータファイルを読み込んでいるだけということに意味があります。

製品ライフサイクルが早いものの情報提供をするのに、新製品が出るたびに、クライアント側に手を加えるような手間隙はかけていられません。新製品がでれば、その対応データを組み込むだけで、即利用できるようなメンテナンス性は不可欠でしょう。そこにXMLが利用されています。

但し、正確に書くと、上記の例では、iokioはFlashの内部に作りこまれています(リリース時には外部ファイルでメンテナンスしていたでしょうが、このサンプルが余りに有名になったので、demo版として作り直したようです)。Sonyはcsvファイルで、auはXMLファイルを活用しています。

時代的にもこの順でリリースされていますが、これは手でこうした基本データを「作成」していた時代から、後ろ側にある製品データベースから自動的にXMLを「生成」する時代に入ってきたことも背景にはあると思われます(尚、どんなXML形式が使われているかを見るには、特別な技術は不要です。IEのキャッシュを見れば、そのままの姿で入手可能です)。

またメンテナンス性向上の例としては、セキュリティ系と合わせた下記のような例もあります。信頼性のあるサイトとするために、連携できるドメインを登録しておく方法ですが、XML形式で実装されています。

RIAの今後

では、今後RIAはどのように発展していくのでしょうか。企業買収(例:AdobeによるMacromedia買収)のレベルで大きな動きがあるので、確かなことは何も言えませんが、少なくとも今後はオープンソース系や「標準」という言葉が鍵になると思われます。

特定のアプリケーションでないと開発できないような形態は、広くはエンジニア層に受け入れられなくなりつつあります。しかもオープンソース系の技術の品質が飛躍的に上がってきていることも、開発製品の販売という形では製品ベンダーの生き残りが困難になっていくだろうことを示唆していると言えるでしょう。

そんな状況を端的に表しているのが、MXMLであり、現在アルファ版を公開しているMacromedia Flex(Adobe Flexと呼ぶべきかもしれません)という技術です。MXMLはFlex用のXMLに準拠した記述言語であり、FlexはそのXMLで記述されたUIをFlashの形式でパブリッシュ(コンパイル)するツールです。データそのものではなく、その操作性に関わるUIの部分までもXMLで記述する時代が来ています。しかも、それは「独自フォーマット」ではなく「標準」という形で。

少し前までは、データベース設計で規定されたフィールドが、そのまま入力画面になって生成されることが、便利なCASEツールのように思われていた時代もありました。しかし、先ほどの「ケータイを選択する」ような作業に見られるように、人間が紙に比較表を書いていたような作業を、アプリケーションが代行していくような時代に入っています。データを羅列して、人間が苦労して選ぶような時代は終わりつつあります。人間の手間を省いて、人間に判断させる材料を如何に効率よく並べ見せるかが、そのツールの評価の中心になってきているのです。

そして、それらのベースとなるデータは、別アプリケーションによって「(DBから自動)生成」されるものである場合が確実に増えています。そうしたデータの再利用ともいえるシステム連携を考える上で、XMLはもはや常識的な位置付けにあります。RIAとXMLは今後益々連携を深めていくでしょう。

RIAコンソーシアム 広報普及部会 部会長
(株)野村総合研究所 情報技術本部
三井英樹

ページトップへ▲

HOMEへ戻る