3層アーキテクチャ(3階層システム)を分かりやすく

IT-Skills

3層アーキテクチャとは、クライアントサーバシステムを3階層に分割して構築するシステム形態のことを言います。

3層アーキテクチャは、3階層システム、Web3層構造、3層クライアントなど、様々な呼ばれ方をしますが、このページではIPAの資格試験に出てくる「3層アーキテクチャ」で統一して説明します。

3層アーキテクチャは、現在のシステム構築における主流となっておりITに関わる人間であれば知らないと恥ずかしい基本知識です。

当たり前の知識として、改めて説明を受ける機会は発生しないと思われます。

とは言え、初心者がいきなり「3層アーキテクチャ」という概念に出会うと大体つまずきます。

まずは、「3層アーキテクチャ」の前提知識となる「クライアントサーバシステム」の概念から理解するとスムーズに学習ができるかと思います。

以下に初心者向けに「クライアントサーバシステム」を解説した記事を記載いたしますので、合わせてご覧ください。

それでは、早速解説を始めます。

3層アーキテクチャとは?

3層アーキテクチャとは、クライアントサーバシステムを、以下の3階層に分割したシステムのことを言います。

プレゼンテーション層

アプリケーション層

データ層

いきなり、専門用語を解説してもイメージしづらいと思いますので、まずは、クライアントサーバシステムの概念からおさらいしていきます。

クライアントサーバシステムの概要イメージ図

クライアントサーバシステムでは、システムを「クライアント」と「サーバ」に分解して構築するシステムでした。

実際の処理を「サーバ」が担い、画面などの処理を「クライアント」が担うシステム形態です。

3層アーキテクチャという概念がでてくるのは、この図でいう「サーバ」部分です。

この「サーバ」を更に細かく3階層に分けて、構築したのが3層アーキテクチャと呼ばれるシステムなのです。

それぞれの関係性を分かりやすくまとめたのが以下の図です。

したがって、3層アーキテクチャは、「クライアントサーバシステム」の一部であり、別物ではありません。

※よく、両者を混同して理解しがちな人が多いため注意しましょう。

概要が分かったところで、それぞれの役割を深堀して確認していきます。

本サイトも、3層構造を用いたシステムとなっております。ここでは、今あなたがこのページを見るまでのシステムの処理を例に解説していきたいと思います。

※説明簡易化のため、実際の処理内容とは多少異なる部分があります。

プレゼンテーション層

プレゼンテーション層では、ブラウザから受け取った「閲覧要求」をもとに、ページ情報を返すという役割を担っています。

プレゼンテーション層では、簡単に言うと画面のレイアウトや文字フォント、デザインを処理する層です。実際にあなたが見ているこの画面(ヘッダーにロゴがあり、サイドバーには関連記事が記載されています)は、プレゼンテーション層から返された情報といえます。

プレゼンテーション層では、あくまでも画面の表示処理に特化した階層であると理解ください。

アプリケーション層

先ほど開いたページを読み終え、他の記事も気になったあなたは「検索ボックス」に「プログラミング」と入力します。

このとき動くのが、アプリケーション層です。

アプリケーション層では、プレゼンテーション層(画面)に入力された値をもとに、何かしらの処理を行う役割を担います。

検索ボックスに文字が入力されEnterボタンが押されたら、検索処理を行い、はたまた他のページへのリンクが押されたら、そのページ情報が格納されているデータベースにリクエストを送ります。

データ層

ページ情報をはじめ、サイトの構造や画像、その他あらゆる情報が詰め込まれているのがデータ層です。

アプリケーション層から要求されたデータを返す役割だけを担います。アプリケーション層からデータ更新要求があればデータを更新し、データの整合性を保ったりするのがデータ層の役割といえます。

タイトルとURLをコピーしました