TL;DR
アプリケーションを物理的な層(Tier)に分けて配置するアーキテクチャ(Multi-tier architecture)。代表例は 3 層アーキテクチャである。
なぜ必要か
Wikipedia によると、各層を独立したモジュールとして開発・保守できるので、技術の進歩や要求の変化に応じて層ごとに置き換えられる。各層を別のプラットフォームで動かすこともでき、たとえばクライアントの OS を変えても、ビジネス層やデータベース層は変えなくてよい。
仕組み
Wikipedia によると、3 層アーキテクチャは次の 3 つの層からなる。中間の層をさらに分けることもあり、層の呼び方は文献によって違う。
- プレゼンテーション層: ユーザインタフェース。主にクライアントの PC で動く
- アプリケーション層(ビジネスロジック層): 業務の処理を担う。アプリケーションサーバなどで動く
- データ層: RDBMS などのデータベースと、そのアクセス部分
注意点
論理的な層(Layer)に分けるレイヤードアーキテクチャとは異なる。両者の違いは Layer と Tier の違いを参照。
書籍『手を動かしてわかるクリーンアーキテクチャ』の日本語版では「多層アーキテクチャ」と訳されているが、そこでの「層」は論理的な層を指している。そのため、レイヤードアーキテクチャと読み替えたほうが適切である。