ネットワークアプリケーションの将来は?

Webの仕組みは、非常にシンプルである。シンプルだからこそ、ここまで普及したのだと思う。原則的には、html をブラウザが解釈することと、それを表示することだけである。どこからその html を持ってくるかを指示するのが URL である。URL は、転送プロトコルと、所在情報の組み合わせでできていて、もちろん指示するリソースは、html とは限らないが、ブラウザにデザインされた表示を行うのは html で書かれたページである。

ブラウザは、html を解釈して表示する。html の中にはページを構成する要素となる素材が指示されているので、それをさらに取得してページを構成する。取得すべき情報は html 中にその方法が URLの形で埋め込まれている。最近は javascript を活用してより複雑な、インタラクティブな要素を含んだページを構成することができるが、本質は同じである。

URLには、あるものを全部くださいというような乱暴な指示はない。知らないものは持ってこられないし、サーバ側も渡さない。サーバの中にあるものが全部見えてしまうような設定をすることはできるが、特に意図してそういう設定をするときはともかくとして、Webシステムの意図する使いかたではないと思う。仮にサーバ側には、入っていて、転送可能であっても、正確な名前が分からない限り、それを取得することはできない。これは、Web は見せたいものだけを見せるという立場で作られているからである。

これに対して、 従来のコンピュータの操作では、そこにあるものを全部表示するとか、ある文字列を含むファイルだけをコピーするという操作を行うということをキーボードからコマンドを叩いて行うということが多いし、ファイルの一覧表を見るコマンドは基本中の基本だ。

ところが、最近の Windows などのユーザインターフェースでは、ブラウザを介してファイルの操作を行うほうが一般的になってきたので、どちらも変わらなくなってきている。Windows ではどちらも「エクスプローラ」という名前である。この場合のブラウザの機能は、あるものを全部見たり、スクリーニングしたり、探したりするものだ。

このように、ユーザが情報を管理するという点だけでは、ネットワークのあちらとこちらにすでにあまり区別がない。むしろ見せたいものとそうでないもの、自分だけが見えるものという区別だったり、保持している場所によって、使えるアプリケーションが異なることだったり、大量のデータをコピーしたり移動したりするのには、ネットワークが遅いことだろう。広域ネットワークも高速化しているが、扱うデータ量もそれ以上に増大している。

現在、よく耳にする技術がクラウドコンピューティングである。この言葉はもともとは広く分散処理技術を統合、発展する概念であったと思われるのだが、現在、市場で使われている意味は、現在の SaaS 等の概念をさらに進めたもので、高度化されたブラウザの向こう側にすべての情報を預けてしまうというものである。ディスクや、CPU リソースをもサービスとして買うという方式の発展形である。Google のアプリケーション提供の形態はこれに近づいている。

複数の事業者間であっても、アプリケーションが動作するコンピュータと、データ(情報)を保持しているサーバはネットワークで接続されている。アプリケーションが加工すべき情報の所在を xml などで指示し、適切な認証情報をやりとりしアクセスする。こうしたことができれば理想的だろう。おそらくこのような方式は確実に進歩、発展していくだろう。

しかし、現実には広域ネットワークは遅い。これが将来解決するかといえばちょっと厳しいだろう。コンピュータの内部や、LAN の速度は非常に高速であり、これは、コンピュータシステムの性能を支える本質的な部分でもあるので、高速化はまだ進むだろう。また 高速な処理を必要とする CPU リソースをサーバ側に全部依存するというのは現実的とも思えない。手元で発生する画像、映像、音声などの処理と入出力を考えると、こちら側のワークステーションが全部なくなるとは思えない。

それに、Google アプリケーションのようなオンラインアプリケーションに過度に依存するとネットワークがつながってないと何もできないという事態にもなるので、特に編集型のアプリケーションは手元のほうが望ましいだろう。非同期的な作業を可能にする余地は残しておくべきだと思う。手元で動作するアプリケーションにサーバとの情報のアップロード・ダウンロードを支援するプラグインを用意するのが一つの解法ではないかと思う。

ビジネスとしてSaaS型のサービスを提供している事業者はさまざまな理由ですべてブラウザの向こうで作業することを勧めている。もちろん運用上のコスト面などさまざまな理由でそれが望ましいこともある。これは、それぞれの利用環境に応じて使いわければよいだろう。

それでも、インターネットにつながっているサーバ上に情報が蓄積していく方向性には間違いない。

そうなると、サーバ上には、見せたいものと見せたくないものがあって、見せたいものだけを見せたいように Web として見せるというのができれば一番いいわけである。業務型 SaaSアプリケーションのアウトプットの中にも見せたいものもあるかもしれない。

我々はここに注目して、グラフィCMSの機能の開発を行っている。まず、 ここで、必要となるのが、見せたいものをどう指示、表現するかの記述性と操作性である。グラフィCMSは、まずグループ内での共有ツールとして、通常のディレクトリ構造同様の情報保持機能を有している。

この上に、現在のところ、Wiki 型の簡易記法の拡張として、コンベンショナルな記述方法によって表現を実現している。Image の指定や、他の文書の Include の記述に、一般的なワイルドカードの記法を採用している。今後、メディアブラウザからのスクリーニング機能を強化していく方針である。

そして、公開機能によって、任意のサブツリーを Web サイトに仕立てることを実装しており、見せたいものだけ選択的に見せるようにするという方式を実現したのである。従来の Web は、場所が先に決められている。これは、アドレスや DNS が別の管理として存在しているためで、DNSに登録された名前と、あるサーバの特定のディレクトリがサイトになる。グラフィCMSではこの設定管理を自動化することで、先に作った情報に、あとからサイト名を自由に付けられるようにした。この機能によって、情報流通に自由度を与えたと思う。

最終更新日: $Date: 2008-12-14 22:56:27+09 $

Copyright (c) 2008-2010 by Shin Yoshimura. All rights reserved.