TL;DR

アプリケーションを物理的な層(Tier)に分けて配置するアーキテクチャ(Multi-tier architecture)。代表例は 3 層アーキテクチャである。

なぜ必要か

Wikipedia によると、各層を独立したモジュールとして開発・保守できるので、技術の進歩や要求の変化に応じて層ごとに置き換えられる。各層を別のプラットフォームで動かすこともでき、たとえばクライアントの OS を変えても、ビジネス層やデータベース層は変えなくてよい。

仕組み

Wikipedia によると、3 層アーキテクチャは次の 3 つの層からなる。中間の層をさらに分けることもあり、層の呼び方は文献によって違う。

  • プレゼンテーション層: ユーザインタフェース。主にクライアントの PC で動く
  • アプリケーション層(ビジネスロジック層): 業務の処理を担う。アプリケーションサーバなどで動く
  • データ層: RDBMS などのデータベースと、そのアクセス部分

注意点

論理的な層(Layer)に分けるレイヤードアーキテクチャとは異なる。両者の違いは Layer と Tier の違いを参照。

書籍『手を動かしてわかるクリーンアーキテクチャ』の日本語版では「多層アーキテクチャ」と訳されているが、そこでの「層」は論理的な層を指している。そのため、レイヤードアーキテクチャと読み替えたほうが適切である。

関連

出典