今後、ますますWebアプリケーションが広まっていくことは間違いありませんが、だからと言ってすべてがWebに移行するとは考えられません。また、Webアプリのあり方自体にも変化が見えています。
- 異機種混在環境とWeb -
WebアプリケーションはOSの壁を超える――と、よく言われます。このコラムでも何度も述べてきました。確かにその通りです。そのため、クライアントのOSがWindowsでもMac OSでもLinuxでも、とにかくWebにアクセスできれば何でもよくなりました。実際には、それほど多種多様なOSが混在している組織というのはまれで、多くの企業ではすべてWindowsというところでしょう。
しかし、例えばデザインや編集などの業種では、現場ではMac、経理などの事務はWindows……というところもあります。筆者のオフィスのように、Windowsの各バージョンやMac OSの各バージョンに加えて、数種類のLinuxディストリビューションやBSD系OSなど、種々雑多なハードウェアとOSが稼働しているところも、ないとは言えません(かなり特殊な環境ですが……)。
そのような環境では、Webアプリケーションの――というよりTCP/IPネットワークの存在価値が大きくなります。
しかし、だからといって、無闇に「何でもかんでも接続できる状態」とすればよい訳ではありません。OSや機種の壁を超えさせることは重要ですが、ネットワークの垣根を<超えさせない>ということもまた、Webアプリケーションにとっては重要です。
- Webが最善とは限らない -
もちろん、インターネットでの通信販売や顧客アンケートなど、不特定多数のユーザーを対象にした業務では、壁を作る訳にいきません。ここで言っているのは、組織内の業務処理に対するWeb化の問題です。
自社のWebアプリケーションが自社内でしか利用できないのはもちろんのこと、特定の部署内だけ、あるいは特定のメンバーだけが利用できる環境を構築することが重要になってきます。
そのような場合、特に規模が小さく物理的なネットワークの範囲※4が狭ければ、何もWebにこだわる必要はありません。従来のOS依存型アプリケーションをクライアント・サーバー型のネットワークで稼働させた方が安全でしょう。業界は(メディアの影響もあって)「WebへWebへと草木もなびく」状況ですが、必ずしも「Webだけが今後の主流」という訳ではありません。蓄積されたデータを元に分析を行うような情報系の処理では、基幹系に比べて利用するユーザー数が少ないこともあり、必ずしもWeb環境がベストとは言い切れません。
※4 ケーブルが届き、コンピュータ同士が直接あるいはハブを介して――ルータを介することなく――つながっている範囲
- 業務はサーバーサイドで -
データベースを利用した処理ということになると、主に業務系――実務や研究などが連想されます。しかし、絵本や漫画の配信、ブロードバンドの時代となって、音楽や動画の配信など大量のデータを扱うサイトも増えてきました。こういったエンターテイメント系、アミューズメント系の処理もWebアプリケーションと言えます。これらのサイトでは、Macromedia社のFlashなどが使われ、プログラミングというよりWebオーサリングの趣が強くなります。
組織内の業務処理などは、現在ほとんどがサーバーサイドです。先述したサーブレットやASPなどでデータベースと連携した処理を稼働させています。JavaScriptなどクライアントサイドの実行手段は、トップページの処理メニューなど個別の小さな処理を実行させたい場合などに限られ、業務処理の本質部分ではあまり用いられません。クライアントサイドは、どちらかと言えば、インターネットで不特定多数のユーザーを相手にする場合の方が、出番が多いでしょう。
- 実行環境の先祖帰り?! -
インターネットでは、サーブレットやASPを使ったサイトも増えてきていますが、CGIも根強く使われています。アクセスカウンタやWeb掲示板システムなどは、個人サイトから企業サイトまで、CGIによる既存の手法が幅広く用いられています。
データ検索や通信販売のシステムでも、CGIを使ったシステムは多数存在します。特にUNIX系サーバーで古くから運営しているところでは、システムをJavaサーブレットやWindowsのASPに置き換える手間が大きくなるため、過去に作られて既に安定しているシステムを使い続けることが多くなります。
こうして見てくると、一時いり乱れていた感のあるWebアプリケーションの各種方式が、規模や用途によってある程度整理され、収束の方向に向かってきたようです。データベースを使った大規模業務処理ではサーバーサイド――これは、既に述べたように、汎用機を使ったホスト方式と(外見的には)酷似した方式です。
サーバーOSは老舗のUNIX系とWindows系とに二分され、アプリケーションの実行方式は集中管理型に収束――なんだか、コンピュータの運用方法自体が先祖帰りしたような気もします。もちろん、新しい技術を取り入れた進化的な先祖帰りではあるのですが。
- .NETの示す方向 -
そのような流れの中で、Microsoft社が提唱している.NETが、Web利用の新しい方向を示しています。これは、クライアント――つまりユーザー側の実行環境がHTTPによるHTMLベースに定着したことを前提に、サーバー側の機能を強化・拡張することで、新しいアプリケーションの実行形態を提示しようという試みです。
Webベースでは、クライアントの実行環境がほとんど固定されてしまいます。何度も述べているように、少なくともクライアントレベルではもうOSの差異は問題ではなくなりました。つまり、アプリケーション実行環境の個性は、サーバー側にゆだねられるということです。
しかしサーバーも、単にWebサーバーであるというだけでは、大きな差別化は見込めません。UNIX系かWindows系か、ApacheかIISか……といった違い程度では、ユーザー(この場合は、サーバーを導入し運用する顧客)に対して個性を主張することは難しくなったのです。
そこで.NETでは、各種サーバーの連携や他のネットワークとの連携といった機能を持たせ、XMLを利用したネットワーク間連携を実現する方向を打ち出しました。クライアントからはごく普通のWebアクセスでも、サーバーの側では様々なネットワークサービスが連携して動いている――という図式です。これを実現するために、システムの垣根を越える言語であるXMLが重要な役割を果たします。
とは言え、.NETの真価が発揮されるWindows 2003 Serverは登場したばかり。現状では、.NET Frameworkを標準搭載するWindows XPもまだ発展途上といった感があります。.NETによる本格的なWebサービスが真価を発揮するまで、もう少し待つ必要がありそうです。
|
|
|