3層アーキテクチャとは
2層のクライアントサーバー型システムを「プレゼンテーション層」「ファンクション層」「データ層」の3層に分割して構築するシステムのこと。
一般的に、クライアントサーバーシステムは「2層アーキテクチャ」と呼ばれ、クライアントに業務プログラムなどのアプリケーションを配置し、サーバーにデータベースを配置してシステムを構築する。2層アーキテクチャはクライアントに配置されたアプリケーションの管理に負荷がかかるため、アプリケーションをサーバーに配置する3層システムが登場した。
クライアントには入力や結果の表示を担当する「プレゼンテーション層」、サーバーにはデータ処理を担当する「ファンクション層(アプリケーション層)」とデータベースにアクセスする「データ層」があり、3層を明確に区別することで、システム性能や開発・保守効率が向上する。また、データ加工などの処理をサーバー側で実行させるため、処理性能の低いクライアント機でも利用できることや、クライアントサーバー間のデータ通信量が減るため、低速な回線でも応答速度が落ちにくいことも利点だ。さらに、クライアント上のモジュールが、サーバー上のデータベースの構造やデータの処理ロジックの変更による影響を受けにくいので、仕様変更も容易にできる。
なお、大規模のWebアプリケーションシステムはサーバー側を「Webサーバー」「アプリケーションサーバー」「データベースサーバー」の3層構造で構築する。この形態を3階層アーキテクチャと呼ぶ場合もある。