ホーム  > X-plus >  XML解説

この記事を印刷する この記事を送る はてなブックマークに追加する
テキストリンクコードを取得する

論説:リッチクライアントとXML、そして技術の発展

2005年08月01日作成 

「リッチクライアント」-企業の社内システムの開発で注目されている技術である。Webベースのサーバを使いながら、ユーザー側のプログラムとしては通常の「ブラウザ」ではなく、さらに高機能のユーザーインターフェイスを備えたプログラムを使用する。この高機能のクライアント・プログラムが「リッチクライアント」である。

リッチクライアントは名前のとおり、クライアント側の機能を充実させたものであり、オフラインで使えることもある。しかも、インストール作業が不要であったり、自動インストールや自動アップデート機能があったりする。ユーザーのPCに個別にインストールして保守しなくてもよいので、管理の手間を省き、TCOを下げることができる。TCO(Total Cost of Ownership)とは「総所有コスト」のことであり、ソフトウェアの初期導入コストだけではなく、アップグレードやシステムの管理者コストなど、トータルな運用コストを含めた費用である。

リッチクライアントを実現する代表的な技術には、伝統的なFlash、Microsoftのスマートクライアント、Curl社のCurl、ほかにもJavaベースの開発・実行環境がある。大まかに分類すると、Webブラウザ上で動くもの、Webサービスを利用するもの、独自の実行環境を持つもの、Javaの実行環境で動くものである。

リッチクライアントの実現において、XMLは(1)Webサーバと交換するメッセージの形式として、また(2)GUIを定義する言語として使われている。もちろん、リッチクライアントの製品によってXMLの使われ方は異なる。前者はSOAPであったり、後者はXHTMLの拡張や独自の形式であったりする。基本的には、WebサービスにおけるXMLの利用方法、およびページ記述におけるXMLの利用方法を発展させたものである。

しかし、リッチクライアントを、単にXML技術の応用や展開として捉えるなら、狭い視野でしか技術の動きを見ていないことになる。若い時期にホストコンピュータと専用端末を使って開発を行ってきた筆者のような世代から見ると、技術変化の動きは反復しているように思える。もちろん、同じ位置に留まりながら、左右に反復しているのではない。前進もしくは発展している。少し哲学的な用語を使えば「弁証法的な」動きをしている。ある命題に含まれる暗黙的な矛盾が新たな展開を生むが、それがまた矛盾を含み別の展開を生み出していく。こうして「止揚(aufheben)」していく。

まずは昔の「ホストコンピュータ」と「専用端末」の仕組みから考えてみる。これについていえば、データを共有しながら、大勢の人が作業できるということ自体すばらしいことだった。ホストコンピュータにあるプログラムを修正すれば端末に表示される画面や機能は変更できた。しかし大勢の人がホストコンピュータに同時にアクセスするとレスポンスが低下するという弱点(矛盾)があった。

一方、時代が進み、ホストコンピュータの端末としてパソコンが利用されるようになると、パソコン側でできる処理はそこで行い、必要なときだけ、サーバのあるホストコンピュータと通信するという「クライアント」と「サーバ」の仕組みが登場した。これはパソコン側にアプリケーションプログラムをインストールするので、その導入コストやバージョンアップのための手間がたいへんになった。

次に登場したのは「Webサーバ」と「Webブラウザ」の仕組みである。クライアント側は汎用的な「Webブラウザ」を使う。ブラウザでは、HTMLを使って、ある程度GUIを作ったり、入力フォームを作成したりできる。また「Webサーバ」で「Webブラウザ」の表示を制御できるので、クライアント側に追加のインストールやプログラム変更を行う必要はない。しかし、この仕組みには「ホストコンピュータ」と「専用端末」という仕組みと同じように「Webサーバ」との通信が頻繁になったり、クライアントのパソコンの機能を十分引き出していなかったりするという弱点があった。しかし、オープン環境のさまざまなソフトウェアを利用できるというメリットはたいへん大きなものである。

こうした矛盾を解決して「リッチクライアント」が登場した。「Webサーバ」の仕組みを生かしながら、また「クライアント」「サーバ」の弱点である導入と運用コストを軽減しながら、クライアント側の機能を「リッチ(豊富)」にする技術が生まれたのである。

このように「クライアント」と「ホスト」との関係は、負荷の重心をいずれかに移動させながら、機能向上とコスト削減をエネルギーに前進してきたのである。
では、次はどのように展開するのだろうか。もう一度、新たな技術が登場して「ホスト」に重心が移るのだろうか。それとも「リッチクライアント」が発展して「分散化」の新たなパラダイムに移行するだろうか。過ぎ行く時間が答えを出すのを楽しみにしていきたい。

(M. N.)



この記事と関連の高い記事

関連キーワード:Webサービス


関連キーワード:XML


関連キーワード:リッチクライアント




ページトップへ戻る