Loading
|
@IT > C/SシステムをWebシステムに移行させるならAjax |
|
インターネットが今ほど普及する以前、企業情報システムを構成するアーキテクチャーといえば、クライアント/サーバ型システムであった。クライアント/サーバ型システムはクライアントに処理の一部を任せることが可能となったため、それ以前のホスト型コンピュータと比較して、処理速度の高速化が実現できた。クライアントPCの高機能化によって実現したアーキテクチャーであり、現在でも多くのシステムで使われている。 しかし、このアーキテクチャーには、クライアントにソフトウェアをインストールしなければ始まらないという課題がある。サーバにあらゆる資源が集中しているのではなく、クライアント側もある程度の資源を持ち、これがサーバと対話する形で処理を進めていくからである。このために、システム変更が生じるためにソフトウェアを物理的に配布してまわるという“苦行”が、システム管理者の間に常につきまとった。
そこへあらわれたのがインターネットを実現する技術である3階層アーキテクチャーのWebシステムである。クライアントは資源を持たず、Webブラウザさえあればサーバの資源を利用して処理を進めることができるスタイルは、大いに歓迎された。 ただし、Webシステムを適用することを躊躇する企業が少なからず存在することもまた事実である。特に、企業情報システムを担当する情報システム部門の抵抗は意外に大きい。Webシステム化というと、Javaの場合、当初はサーバからダウンロードして用いるアプレット、サーバ上で稼働させるサーブレットのいずれかで作ることが常套手段だった。 アプレットはWebブラウザのユーザーとの対話性を高める役割があり、ソフトウェアをクライアントに配布せずにクライアントプログラムを実行できるというメリットがあるが、クライアントのJava VMの実装やバージョンが異なると動作が保証できない、初期起動が遅いといったデメリットがある。 一方、サーブレットはサーバ上でJavaを実行し動的にWebページを生成するため、クライアント側にJava実行環境は不要となる。また、一度実行されると、実行環境に常駐し、2回目以降の実行ではこれを利用できるため、レスポンスが比較的早い。それでも、クライアント/サーバ型システムに比べればレスポンスは悪く、ユーザー・インターフェイスも単純になりがちで、ネットワークに負荷がかかるといった具合に、こちらにもデメリットがあるのだ。 こうした中、いくつかの企業では、FlexやCurlなどWebシステムの欠陥を補完する第2の選択肢(いわゆるリッチクライアント製品)を採用した。このリッチクライアント製品は、サーバアプリケーションの実装や通信部分などにおいてはWeb技術を利用しつつ、クライアントにWebブラウザを独自拡張したソフトウェアを使うことで、Webシステムの最大の弱点である単純なユーザー・インターフェイスに甘んずることなく、クライアント/サーバ型システムと同程度の表現力や操作性を実現できる。しかし、これもクライアントに実行環境をインストールしなければならないという“苦行”からは逃れられない。 クライアント環境は、OSやハードウェアの進化を見ればわかるように、ますますライフサイクルが短くなっている。こうした中で、性能や信頼性をきちんと確保しつつ、変化に対して柔軟に対応可能なシステム構築が求められているということなのだが、果たしてこの課題に対する答えは存在するのだろうか。
Webシステムへ移行しながら、企業情報システムのクライアントを担うに足るインターフェイスを構築することは可能だ。Ajaxを活用するのである。 Ajaxとは、Asynchronous JavaScript and XMLの頭文字を取って作られた略称である。すでにWebブラウザに実装されているJavaScriptのHTTP通信機能を効果的に利用してXML形式のデータのやりとりをすることで、Webページのリロードを伴わない、ユーザーレスポンスの良い画面の非同期更新を可能にする。このことは、エンドユーザーが画面操作の際に、Webページのリロードを待つ時間が消え、スピーディーな業務処理が可能になるということを意味している。
また、画面の操作性を向上させるJavaScriptを活用しており、プラグインソフトウェアを必要とせず、標準のWebブラウザのみでシステムを実現することができる。特定のベンダや特定のプラットフォームに依存しないオープンな技術であることも大きなメリットだ。ユーザー・インターフェイスの豊かさが飛躍的に向上することから、このAjaxをリッチクライアントの一形態と分類する向きもある。次世代のWebシステムを実現可能であるとして、最近はさらに盛り上がりを見せているようだ。 ただし、Ajaxにはいくつかの機能的な弱点がある。 例えば、JavaScriptのHTTP通信機能であるXMLHttpRequestには標準仕様が存在しないため、Webブラウザによって文字コードやMIMEタイプの扱いに微妙な違いが生じてしまう。また、JavaScriptの動作そのものも、Webブラウザによって微妙に違う。つまり、対象とするWebブラウザの数だけ、実装を用意しなければならないということだ。さらに、WebブラウザのAjaxエンジンからアクセスできるのは、元ページと同じドメイン内のURLに限られるため、実現できるアプリケーションの形態に制限があり、プログラムの中身がユーザーに丸見えになってしまうため、セキュリティ的に脆弱だという声もある。 しかしながら、これまで移行が躊躇されていたクリティカルなクライアント/サーバ型の企業情報システムが、Ajaxによって実用に堪えるWebシステムとして変身させられることも確かだ。もはやアプレットかサーブレットかで悩むこともなく、プラグインソフトウェアでWebシステムの利点を帳消しにすることもない。Ajaxを足がかりとすれば、要件の厳しい企業情報システム(基幹系システム)であってもWebシステムに移行でき、変化に即応できる体制が整うとともに、クライアント/サーバ型システム時代には高止まりしていたTCOを大幅に削減可能なのだ。
賢明な読者は、ここで1つの疑問を呈するかもしれない。“Ajaxテクノロジーは登場してから日が浅く、まだ企業情報システムで活用できるだけの十分な環境、たとえばクラスライブラリのようなものが整っていない。クライアント/サーバ型システム並みの機能性、操作性を実現しようと思えば、ゼロからスクラッチベースですべてを作りこまなくてはならないのではないか” 一般的な答えは「イエス」である。Ajaxテクノロジーはまだそこまで企業情報システムへの適用が考えられているわけではない。しかし、心配には及ばない。すでに市場には富士通「Interstage Interaction Manager」という完成度の高いソリューションを提供する製品が登場してきた。次回はこの「Interstage Interaction Manager」がなぜ企業基幹システムに有用なのか、どこまでできるのか、その詳細をお伝えしよう。
提供:富士通株式会社
企画:アイティメディア 営業局 制作:@IT 編集部 掲載内容有効期限:2007年7月29日 |
|