私たちが普段使っている、SNSやAmazonなどのオンラインショッピングサイト。
これらはすべて、Web上で作動するためWebアプリケーションと呼ばれています。
また、社内などにもWebを使った社内業務システムが存在します。これらWebアプリケーションや社内業務システムなどをまとめて、Webシステムと呼びます。
今回の記事では、そのWebシステムの基本構造である、Web3層構造について解説します!
Web3層構造とは?
3層構造のWebシステムでは、以下の登場人物がいます。
- ブラウザ(クライアント)
- プレゼンテーション層(Webサーバー)
- アプリケーション層(APサーバー)
- データベース層(DBサーバー)
クライアントからの処理をするサーバーが、プレゼンテーション層・アプリケーション層・データベース層の3層から構成されているため、Web3層構造と呼びます。
Webシステムでは、クライアント側であるブラウザからリクエストが要求され、サーバ側でリクエストに対する処理とクライアントへのレスポンスが行われます。
では、それぞれの層の役割を見ていきます。
プレゼンテーション層
プレゼンテーション層は、以下のような役割をします。
クライアントとサーバ側のやり取りのコントロール
例)・クライアントに表示する画面の処理
・クライアントが入力した情報を受け取る
・入力内容のチェック
アプリケーション層
アプリケーション層は、以下のような役割をします。
システムの中核となる処理(ビジネスロジック)を担当
例)・クライアントの入力をもとにした検索、計算処理など
データベース層
データベース層は、以下のような役割をします。
データベースとの連携
例)・データの登録、検索、更新、削除
Webシステムの構成パターン
Webシステムのサーバは、物理的に1台のサーバにWeb,AP,DBの機能を持たせることができます。また、その機能を複数台に分けることもできます。
1台で構成しているものは、小規模で利用者が限定されるシステムに向いています。
導入サーバも少ないので、初期費用を抑えることができます。
一方、複数台で構成しているものは、大規模なBtoCシステムに向いています。
各機能を各物理サーバに分離することができるので、各サーバのパフォーマンスを最大限に利用できます。
参考までに、サーバをWeb+APとDBの2台構成にすることもできます。これをWeb2層構造といいます。
Web3層構造のメリット・デメリット
上記のように、Webシステムを構築する際、Web,AP,DBの機能を1台のサーバーにまとめたり、複数台に分散させたりすることができます。
1台構成と複数台構成では、以下のようなメリット・デメリットが存在します。
構成 | メリット | デメリット |
---|---|---|
1台構成 | ・初期費用を抑えられる ・改装時など、サーバに関する作業時間や手間が少ない | ・1機能の改修、障害時の影響が大きい ・1機能が高負荷の時、他機能にも負荷がかかる |
複数台構成 | ・各機器のパフォーマンスを最大限に利用できる ・障害発生時の影響を限定することができる | ・導入台数が多いため、費用が高い ・各サーバはネットワークで接続されているため、サーバ間オーバヘッドが発生 |
サーバの構成台数は一長一短のため、導入するシステムの用途によって使い分ける必要があります。
まとめ
- Web3層構造とは、サーバ側をプレゼンテーション層、アプリケーション層、データベース層にわけた構造のこと
- プレゼンテーション層は、クライアントとサーバのインタフェースを担当
- アプリケーション層は、システムの実際の処理を担当
- データベース層は、データベースとの連携を担当
- Webシステムは、サーバー1台でも複数台でも構成でき、それぞれメリット、デメリットがある
Web3層構造は、現在のWebシステム構築によく用いられる構造なので、しっかり覚えておきましょう。
Webシステム、実はクライアントやサーバごとに使われるプログラミング言語が違います。
気になる人はこちらもご参照ください!