先日,友人に職務経歴を説明するための資料の作成を手伝ってもらった。その際,三層アーキテクチャを用いて資料を作成することで,視覚的に分かりやすい資料が作成できることに気付かされた。今回は三層アーキテクチャの概要と,資料作成における三層アーキテクチャの効果的な活用方法をまとめてみる。
三層アーキテクチャとは
クライアントサーバシステムを「プレゼンテーション層」「アプリケーション層」「データ層」の3層に分割して構築したシステム。クライアントおよびサーバの処理を複数の階層に分離して配置することで,ある階層へ変更を加える必要が生じた際にも柔軟に対応できるようなっている。
上記説明だけでは,よく分からなかったので,補足を説明する。
- 「プレゼンテーション層」…ユーザインターフェースを提供する。
- 「アプリケーション層」…アプリケーションのロジックを提供する。ビジネス層とも呼ばれる。
- 「データ層」…データソースへのアクセス手段を提供する。
それぞれの層を具体的にソフトウェアと関連付けると以下のようになる。
- 「プレゼンテーション層」…Webサーバー(Web)。Apache,Nginxなど。
- 「アプリケーション層」…Applicationサーバー(AP)。CGI,Servlet,mod_php(モジュール)など。
- 「データ層」…データベース(DB)。MySQL,PostgreSQL,Oracleなど。
三層アーキテクチャでは,「プレゼンテーション層」が一番ユーザに近く,「データ層」が一番データソースに近い層になっている。
これで,三層アーキテクチャの概要を分かっていただけたと思う。
では,これを資料作成に役立てるにはどのように活用すれば良いだろうか。
友人に指導を受けながら作成した資料では,三層アーキテクチャを用いて,以下のような図を作成した。
「プレゼンテーション層」は,ユーザインターフェースにあたる「画面」単位での記述,「ビジネス層(アプリケーション層)」は,ロジックにあたる「機能」単位での記述,「データ層」では,テーブル(情報)単位での記述を行った。
このように三層アーキテクチャを用いて図解することで,複雑なアプリケーション全体の構造を一目で把握することができる。
参考
3階層システムとは 〔 三階層システム 〕 【 3-tier system 】 – 意味/解説/説明/定義 : IT用語辞典
@IT:連載:アプリケーション・アーキテクチャ設計入門 第2回 論理アーキテクチャを構成するコンポーネントの設計(プレゼンテーション層編)
Webアプリケーションの仕組み