Web三層構造とは
Web三層構造(アーキテクチャ)とは,大規模WebシステムやWebアプリケーションを支える技術/構造の1つである.Webシステムはクライアントサイドとサーバサイドで通信を行い処理が行われるが,これらを構築するときの基本的な構造としてWeb三層構造が利用される.
Webシステムの処理内容によって以下の3つの層から構成される.
- プレゼンテーション層
- アプリケーション層
- データ層
各層の役割と利用されるサーバ
プレゼンテーション層
ユーザのWebブラウザ上に画面(静的コンテンツ)を表示させるための層.
webブラウザ(safariやGoogle Chromeなど)とWebサーバが役割を担う.Webサーバはブラウザからの閲覧要求(リクエスト)をもとに,ページ情報を返す.また,必要に応じてアプリケーション層に動的な処理を要求する.
アプリケーション層
Webシステムの動的処理を行う,アプリケーションの中核となる層.
アプリケーションサーバが役割を担う.プレゼンテーション層から受け渡された情報をもとに,命令実行や表示画面の作成などの何らかの処理を行う.
データ層
アプリケーションによって処理された情報を保管/管理する層.
データベースサーバが役割を担う.アプリケーション層の処理内容に応じて,データ処理や管理を行う.
Web三層構造のメリット&デメリット
Webシステムを実装する際に,Web三層構造を利用することで以下のメリット/デメリットがある.
○メリット
・サーバの負荷分散による,処理の高速化と耐故障性が高まる
・故障範囲の限定できるため,故障したサーバのみを修理すれば良い
・各層の独立性が高く,開発作業を層ごとに並行して行うことができる
×デメリット
・物理サーバを複数用意する場合は費用がかかる.
開発に使用される開発言語/ソフトウェア
Webアプリを開発する際に,それぞれの層は以下のような開発言語/ソフトウェアで実装される.
実装方法 | |
---|---|
プレゼンテーション層 | HTML,CSS,JavaScript |
アプリケーション層 | Java,Ruby,PHP,Python など |
データ層 | MySQL.Oracle,PosrgreSQLなどのDB管理ソフトウェア |