三層アーキテクチャとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 三層アーキテクチャの意味・解説 

多層アーキテクチャ

(三層アーキテクチャ から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/10/03 08:53 UTC 版)

多層アーキテクチャ(たそうアーキテクチャ、: multitier architecture)とは、ソフトウェアアーキテクチャパターンである。

アプリケーションを複数の"層"に分け、それらを独立したモジュールとして開発・保守する。各層はインタフェースを定義しモジュール化されたソフトウェアであり、テクノロジーの進歩や要求の変化に合わせて各層を個別に置換できる。

各層をそれぞれ異なるプラットフォーム上で動かし、層ごとにプラットフォームの変更が可能である。例えばクライアントのオペレーティングシステムMicrosoft WindowsからUNIXに変更しても、他の層(ビジネス層、データベース層など)は変更しない。

多層アーキテクチャの起源と変遷

「三層(three-tierまたはthree-layer)」という用語や「多層アーキテクチャ」という用語はラショナルが起源とされている[要出典]。一般に、tierは物理的に異なるサーバ、layerはソフトウェア上の役割分担であると解釈されることが多い。日本語ではどちらも層と訳されてしまうため、英語の原義を確認することは重要である。ただし英語でtierと書かれていてもソフトウェア的な役割分担を意味している場合もあるため、非常に厄介ではある[1][2]

また、時代と共に意味の範囲が揺れていることにも留意が必要である。例えば、アナリシスパターン(1996)、エンタープライズ アプリケーションアーキテクチャパターン(2002)はともにマーティンファウラーがまとめた書籍だが、用語定義に変遷がみられる。別の例では、AAG(2009)は、AAfN(2003)の改訂版である。

多層アーキテクチャの例

アプリケーションが複数のソフトウェアエージェントによって実行されるクライアントサーバモデルの一形態である。例えば、ユーザーとデータベース間のデータ要求サービスにミドルウェアを利用するアプリケーションは多層アーキテクチャである。代表的な多層アーキテクチャに三層アーキテクチャがある。

三層アーキテクチャ

クライアントサーバモデルにおける「三層」とは、

である。

ユーザインタフェースは、デスクトップPCワークステーション上で標準のGUIを使って動作するのが一般的である。ビジネスロジックは1つ以上のモジュールで構成され、ワークステーションやアプリケーションサーバ上で動作する。データベースにはサーバやメインフレーム上のRDBMSが使われる。中間層自体が多層化されることもある。

三層(3 layer)アーキテクチャでの各層の名称は以下の通り。

IPA アナリシスパターン AAfN AAG 古典DDD 出典不明
プレゼンテーション層 Presentation &
Application logic
Presentation Presentation UI
ファンクション層 Domain Business Services Application ロジック層/ビジネスロジック層/トランザクション層
- - - Business Domain -
データアクセス層 Data interface Data Data Infrastructure データベース層

IPA[3],アナリシスパターン[4],AAfN, AAG[5],古典DDD[6]

MVCアーキテクチャとの比較

一見したところ、三層アーキテクチャは、 Model View Controller (MVC) に似ている。しかし、トポロジー的には異なっており、適用分野も異なる。三層アーキテクチャの基本原則として、プレゼンテーション層は決してデータ層と直接通信せず、全ての通信は必ず中間層を通過するというものがある。したがって、三層は一本の直線で表される。それに対して、 MVCでは 3つがそれぞれ相互に通信するため、三角形を形成している。つまり、三層アーキテクチャはデータベースとユーザーの間の情報経路を表しているのに対して、MVCはユーザインタフェースにおける画面上のコンポーネントの管理方法を表している。MVCに基づくコンポーネントは、三層アーキテクチャのアプリケーションでもよく使われる。

歴史的に見れば、三層アーキテクチャは1990年代に生まれたものである。これは、Webアプリケーションなどの分散システムにおいて、クライアント、ミドルウェア、データベースの3者がそれぞれ物理的に別のプラットフォームで動作するようになったことから生じたものである(つまり、実装が先にあって、後から概念として抽象化された)。一方、MVCは1980年代パロアルト研究所での1970年代末から1980年代初期にかけてのこと)に、1つのグラフィカルワークステーション上で動作するアプリケーション群の仕組みから生まれた。MVCが分散アプリケーションに適用される(コンテンツとプレゼンテーションの分離がされた)のはもっと後のことである。

Web開発での利用

Web開発の分野では、三層モデルはウェブサイト、特に電子商取引のウェブサイトの構成の説明に使われる。その場合、各層は以下のようになる。

  1. プレゼンテーション層: 変化しないコンテンツを供給するWebサーバ
  2. 中間層: 動的コンテンツを生成するアプリケーションサーバ。例えばJakarta EEプラットフォームなど。
  3. データ層: データベースとその管理システム。RDBMSなど。

参考文献

脚注

  1. ^ 3層アーキテクチャーとは - 日本 | IBM
    https://www.ibm.com/jp-ja/cloud/learn/three-tier-architecture
  2. ^ エンタープライズ アプリケーションアーキテクチャパターン 第1章 レイヤ化
    https://www.shoeisha.co.jp/book/detail/9784798105536
  3. ^ 情報処理技術者試験 シラバス(レベル1~3)用語例集 Version 4.0 対応
    https://www.ipa.go.jp/files/000027072.pdf
  4. ^ アナリシスパターン 再利用可能なオブジェクトモデル
    第12章 情報システムの層別化アーキテクチャ
  5. ^ Microsoft Application Architecture Guide, 2nd Edition Chapter 5: Layered Application Guidelines
    https://docs.microsoft.com/en-us/previous-versions/msp-n-p/ff650706(v=pandp.10)
  6. ^ エリック・エヴァンスのドメイン駆動設計
    第4章ドメインを隔離する レイヤ化アーキテクチャ

関連項目

この記事は2008年11月1日以前にFree On-line Dictionary of Computingから取得した項目の資料を元に、GFDL バージョン1.3以降の「RELICENSING」(再ライセンス) 条件に基づいて組み込まれている。


三層アーキテクチャ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/06/17 02:57 UTC 版)

多層アーキテクチャ」の記事における「三層アーキテクチャ」の解説

クライアントサーバモデルにおける「三層」とは、 ユーザインタフェース ビジネスロジック データベース(およびデータアクセス) である。 ユーザインタフェースは、デスクトップPCワークステーション上で標準GUI使って動作するのが一般的である。ビジネスロジック1つ上のモジュール構成されワークステーションアプリケーションサーバ上で動作するデータベースにはサーバメインフレーム上のRDBMS使われる中間層自体多層化されることもある。 三層アーキテクチャでの各層の名称は以下の通りプレゼンテーション層 アプリケーション層/ロジック層/ビジネスロジック層/トランザクション層/ファンクションデータ層/データベース層/データベースアクセス

※この「三層アーキテクチャ」の解説は、「多層アーキテクチャ」の解説の一部です。
「三層アーキテクチャ」を含む「多層アーキテクチャ」の記事については、「多層アーキテクチャ」の概要を参照ください。

ウィキペディア小見出し辞書の「三層アーキテクチャ」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「三層アーキテクチャ」の関連用語

三層アーキテクチャのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



三層アーキテクチャのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの多層アーキテクチャ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの多層アーキテクチャ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS