NETWORK MAGAZINE 2006.8 『Webアプリケーションの仕組み』 by BOSE

これまでネットワーク技術系雑誌でメールやWebといったインターネット系の
サーバに関する記事はよくありましたが、今回のようにWebアプリケーション
を解説するものは初めてだと思います。

ちょうど知りたいと思っていた分野なので、レビューすることにしました。日
経コンピュータなどの雑誌を読めばこういった技術に関する記事は当たり前に
掲載されていますが、NWエンジニア向けではないせいか、読んでも正直ほとん
ど理解できません。。
ところがNwtwork MagazineはもともとNWエンジニアの視点で書かれているため
か、なかなか期待通り分かりやすい記事でした。
Webアプリケーションの概要を知るにはよい記事だと思います。

記事は大きく以下の4つで構成されています。

  1. CGIアプリケーションの仕組み
  2. サーバサイドスクリプト
  3. エンタープライズアプリケーション開発
  4. AjaxとWeb2.0

1.CGIアプリケーションの仕組み

HTTPで参照できるできるページにも「静的ページ」と「動的ページ」がありま
す。Webアプリケーションとは、Webブラウザからのリクエストによって動的な
コンテンツを提供するアプリケーションを指します。

たとえばショッピングサイトなどはユーザの操作に応じて買い物カゴの中身が
変化して表示されます。こういった動的なページを提供するためにはCGIや
Webアプリケーションが必要になります。

CGIでもさまざまなことができますが、開発の生産性やDBとの連携といった機
能でWebアプリケーションのほうが優れているということです。
また、CGIはユーザからのリクエストごとにプロセスを起動します。一般にプ
ロセスの起動や終了には時間がかかるため、大量のリクエストを処理するとい
う点では効率の悪いアーキテクチャです。その点サーバサイドスクリプトが優
れているのだそうです。

2.サーバサイドスクリプト
開発の生産性やDBとの連携などの機能で人気が出てきたのがPHPやASP、JSPと
いったサーバサイドスクリプトです。
サーバサイドスクリプトは複数のリクエストを同一のプロセスとして実行でき
るため大量のリクエストを効率的に処理できるのだそうです。

JavaScriptなどWebブラウザ上で実行されるスクリプトは、クライアントサイ
ドスクリプトと呼ばれます。一方サーバサイドスクリプトは文字通りサーバ上
で、ユーザのリクエストに応じて実行され、処理結果をレスポンスとして返す
ものです。

出力結果を汎用的なHTMLで出力するため、クライアントのWebブラウザ環境に
よって挙動が異なることがなく、不特定多数のユーザに提供するのに適してい
ます。

3.エンタープライズアプリケーション開発
Webアプリケーションといえばインターネット上のショッピングサイトが代表
例として挙げられることが多かったと思いますが、企業の基幹システムとして
の利用も増えています。

WebアプリケーションはWebサーバ、アプリケーションサーバ、DBサーバの3層
構造でシステムが構成されます。
なぜ3層にするかというと、機能ごとに物理的なサーバを分離しておくことで
柔軟なシステム拡張が可能になるからです。

例えば必要なレイヤのサーバだけをスペックの高いものに交換したり、負荷分
散装置を入れて処理の分散を図る構成をとることもできます。

ここまで1,2,3を通して読んで、大体知りたいと思っていたところの概要
が理解できました。基本的にTCP/IPのことしか知らない僕は、こういった話が
時々お客さんからでてきて冷汗をかくことがありますから。。

4.AjaxとWeb2.0

Ajax、Web2.0は最近登場する機会が増えたキーワードだと思います。特集記事
もよく見かけるようになりましたね。
面白いのは、具体的に将来のWebアプリケーションのヒントになるサイトとし
て「Qooqle( http://qooqle.jp/ )」が紹介されていることです。

Qooqle自身は何のデータも保持せず、Googleの機能とYahoo!の検索エンジンを
使い、さらにはてなブックマークやAmazonと連携したサービスを提供していま
す。

なんだかよく分かりませんがすごそうです。SOAってこういうことを言うのかな?

まだまだWebの世界の進化は勢いがありそうです。
今後独創的なサービスがどんどん出てくるんでしょう。

これらすべてを理解することはできませんが、せめて「インフラ」というくく
りでネットワークを超えた分野もテクニカルに語れるようになりたいものです。

【参考 リクルートキーマンズネットの用語解説】
Ajax(エイジャックス)
Web2.0
SOA(Service Oriented Architecture)

※BOSEさん、ありがとうございます。Webアプリケーションには新しい技術が
たくさん出てきてキャッチアップするのは大変ですね。ただ、よくよく仕組
みをみていると、既存の技術を如何に「組み合わせる」かだってことなのか
なぁって気がしています。そのためのベースとなる技術を身につけるのが重
要なのかなぁって思っています。(Gene)

「NETWORK MAGAZINE」の詳細と購読申し込み

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA