3層クライアントサーバシステムとは,ユーザインタフェースを提供するための「プレゼンテーション層」とユーザに提供するデータの加工処理を行う「ファンクション層」とデータベースへアクセスするための「データベース層」の3階層からなるシステムを言います。
従来の2層クライアントサーバシステムは,サーバ側にデータベースを置き,データベースへアクセスする処理以外は,クライアント側に置いておくスタイルでしたが,2層化することでクライアントの負荷を軽減し,アプリケーションの追加や修正を行う場合でも,ファンクション層に当たる部分を改良すればよいので,拡張性や柔軟性に富んだシステムにすることができます。
【論理的に分けた例】 【機能的に分けた例】
サーバ側
┌──────────┐ ┌───────────┐
│ データベース層 │──│データベースサーバ │
└──────────┘ └───────────┘
│ ↑ (データの保存)
↓ │
┌──────────┐ ┌───────────┐
│ ファンクション層 │──│アプリケーションサーバ│
└──────────┘ └───────────┘
│ ↑ (各種アプリケーション)
↓ │
┌──────────┐ ┌───────────┐
│プレゼンテーション層│──│クライアント │
└──────────┘ └───────────┘
クライアント側 (WWWブラウザによる GUI の提供)
ファンクション層は「ミドルウェア層」や「ビジネスプロセス層」と呼ぶこともあります。