メインフレーム時代のシステムは、コンピュータ資源を中央に集中させ、それをみんなでシェアして使用するのが効率的とされ、その端末はダム(Dumb)といい、文字データを送受信する程度の必要最小限の機能を備えていた。全社的な業務遂行システムとしては威力を発揮したが、使う側の個別ニーズを満たすものではなかった。個別ニーズを満たすためには、必要とするプログラムを自分の手元で走らせることが1つの方法だったのである。
こんなときパソコンはうってつけで、たちまちダム端末の代わりとなって、幅広く利用されるようになっていく。一方、中央にはデータだけ置いて、プログラムは原則端末側で動かそうというシステム設計思想がワークステーションの台頭で有力となり始める。これがクライアントサーバーシステム(CSS)の基になる視点だと私は考える。
この考えは、CADのような技術系ユーザーにまず受け入れられ、しばらくして銀行のディーリングのようなコマーシャル系の人々の間に広がっていって、CSSという概念を定着させたのである。しかし、CSSが一般的な考えとして企業に取り入れられるには、克服しなければならない問題があった。
そもそも、ユーザーの個別ニーズに応えなければならないのは、予想されるグローバル競争のなかで、組織の決定を速く行なえるようにするためである。つまり、ビジネス現場の人々に行動を決定するための情報を開示しなければならないということである。ところが、端末側の機能が大きくなってしまって、コンピュータのことなど本来知らなくてもよいはずの人に、専門家の知識を求めるようになってしまったのである。
この本末転倒とでもいうべき状況をブレイクスルーしたのがJavaとその思想だったといっていいだろう。Javaは、大きな仕事を処理するとき、小さなプログラムが連携しながら動く。しかも、そのプログラムはネットワーク上のサーバーのどこかに置いておいて、端末側で必要なとき、まさにオンデマンドで使える。
だから、必要なとき小さな先導プログラムを端末に送れば、サーバー側にある大きな機能を自分の端末で実行しているように見せることができる。端末側の機能は、小さな先導プログラムを動かすだけのもので十分というわけだ。このような端末をシンクライアントといい、従来の端末をファットクライアントというが、ネットワークが本格的に企業や家庭に取り入れられるようになれば、システムはシンクライアントの方向に進むのが自然だと思う。ただ明記すべきことは、これは端末とサーバーとの連携の話だということである。