分散コンピューティングの行方
グラフィCMSも例外ではないのだが、ブラウザをユーザインターフェースにして、サーバ側ですべての情報を管理し、サーバ側でアプリケーションを動作させるという傾向が進んでいる。現在、我々が使っているPCはかつてに比べると非常に能力が高く、さまざまなアプリケーションを動作させることが可能である。しかし、一旦ブラウザを立ち上げてしまうと、ブラウザのレンダリングを行うこと以外では、手元のPCのCPUは使われない。
電子メールですら、Gmail ではすべてメールはサーバ側に保管されていて、手元にはなにもない。確かにこの方法だと、インターネットにつながってブラウザさえ動作すれば、手元のPCはなんでもいい。PCを持って歩く必要はない。ただし、ユーザIDとパスワードをブラウザに覚えさせるわけにはいかないので、それは自分で覚えておかなければならない。
ネットワークの便利なサービスは始まっていても、ネットワークの環境が貧弱であった時代には、ネットワークには間欠的につながっているくらいの前提でアプリケーションを組み立て、後は手元のPCで処理をするという考え方であった。電子メールは、POPベースのMUA(Mail User Agent) ソフトウエアをPCにインストールして、メールをサーバから取得、メールをサーバへ送信という操作を行い、それ以外にはネットワークは必要なかった。
掲示板のようなサービスもこのような方法で利用できるようにいくつかの工夫がなされていた。Webも、一括してダウンロードするソフトウエアなどもいくつか見られた。
この種のやり方の問題点は、手元にかなり大きなストレージを持っていないと実際には、便利には使えない。電子メールにしてもすべてのメールをダウンロードするので、メールの容量が大きくなったり、スパムにまみれたりすると大変な目にあう。
私はメールに関しては、現在両方の手段を併用しているが、スパムの扱いに関しては相変わらす頭が痛い。コンピュータウイルスに関しては、手元のPCでなく途中の経路で対処をするようになったので、まだ、手元に念のため、対策ソフトを入れてはいるが、手元に来ることは全くなくなった。
つながっていると確かにとても便利で、その前提でサービスを組み立てると、確かにいろんな今までには出来なかったことを考えられる。それに情報をサーバ側に集約するメリットは非常に大きい。したがって、この流れは今後も確実に進むとは思われる。
しかし、従来の代表的なアプリケーションである電子メールにしても、電子掲示板にしても、Webにしても蓄積交換型のサービスというのは、本来は、非同期的にコミュニケーションができるというのが利点だったと思う。都合のよいときに処理できて、相手の仕事を中断しない。Webの実現方法では、クライアント側にキャッシュをして一定の作業環境を作ることは不可能ではないが、情報の整合性を保つことをしっかり考えないと、だまされるようなことが起きかねない。
ネットワークで同期的にサービスが提供されるようになると、病的に、つながっていることに対する依存性が出てきてしまう。携帯電話への依存や、Blogノイローゼはこうしたことに対する不適合性があらわれてきた現象だろう。電子メールにしても、メールが来るとすぐに返事をしなければいけないと思い始めるときりがなくなる。返事をするとまたその返事がすぐ来るということの繰り返しになる。
機械同士だけであれば別にかまわないが、人間が操作しているアプリケーションでは、なにかのリクエストを行って、それがサーバ側で完了し、返事があるまで待つということを強要されるのは、あまり快適なものではない。「ちょっとこれやっといて」と言って別のことができたほうがいい。じっと待たされるのはいやだ。やむをえない場合を除いては、非同期的に動作するほうが、望ましいと思う。
ネットワークとサーバが十分早ければ、作業終了を待っても不便を感じることはないのだろうし、多くの場合実装は容易だ。しかし、現実は必ず有限である。特に、人間のリソースは一定の有限性があるし、有限性を尊重するほうがより健全であると思う。
グラフィCMSでも、この部分はまだ不十分である。現在のブラウザ環境では限界もある。しかし、今後の開発のなかでは可能な限りの非同期性を実現していこうと思う。
最終更新日: $Date: 2008-11-24 11:22:52+09 $






