【設計】Web三層モデル (Web三層構造)

Web三層モデル (Web 3-tier model)

 * Webシステムのサーバー群は、以下の3層に分けることができる。

(1)Webサーバー                    : Webブラウザからのリクエストを受け付けてレスポンスを返す
(2)アプリケーション(AP)サーバー : 業務ロジックなどの処理を行う
(3)データベース(DB)サーバー     : データの参照や更新を行う

基本構成

 +---------------------------+
 |        クライアント       |
 |       (Webブラウザ)       |
 +---------------------------+
   |          HTTP         |
 +---------------------------+
 |        (1)Web層         |
 |       (HTML/画像など)     |
 +---------------------------+
   |                       |
 +---------------------------+
 | (2)アプリケーション層   |
 |      (プログラムなど)     |
 +---------------------------+
   |                       |
 +---------------------------+
 |       (3)データ層       |
 |         (データなど)      |
 +---------------------------+

(1)Web層 / Webサーバー

 * HTMLで記述されたコンテンツを、HTTPを通してクライアントに提供する役割

主なWeb(HTTP)サーバ

 * Apache HTTP Server
 * IIS(Internet Information Services)
 * lighttpd

(2)アプリケーション層 / アプリケーション(AP)サーバー

 * サーブレットなどの業務処理を行うアプリケーションをサーバ側で実行する役割

主なアプリケーションサーバ

 * Apache Tomcat
 * Apache Geronimo
 * Cosminexus
 * GlassFish
 * JBoss
 * WebLogic Server
 * WebSphere Application Server

(3)データ層 / データベース(DB)サーバー

 * 入力したデータや、アプリケーションで参照するデータを永続的に保管する役割

主なデータベース

 * Oracle
 * SQL server
 * MySQL
 * PostgreSQL
 * H2 Database
 * MongoDB
 * VoltDB

Webシステムで起きやすい問題

 1) パフォーマンスの劣化
 2) 障害時にサービスが停止する可用性の不足

以下の関連記事に、どのように防止するかを記載。
http://blogs.yahoo.co.jp/dk521123/34672360.html


関連記事

MVC / MVP

http://blogs.yahoo.co.jp/dk521123/22695448.html

高可用性システム構築について

http://blogs.yahoo.co.jp/dk521123/34672360.html