エンジニア向け

【3分でわかる】3層クライアントサーバシステムとは?

コンピュータの処理形態である「3層クライアントサーバシステム」(別名:3層アーキテクチャ)とは何かを解説していきます。

3層クライアントサーバシステムって聞いたことはあるけど何か知らない、、?簡単に知りたいな!

ITに関わる方の中には、「3層クライアントサーバシステム」という言葉を聞いたことはあるけど意味を知らないという方も多いと思います。

この記事を読めば3分で「3層クライアントサーバシステム」を理解することができます!

3層クライアントサーバシステムとは?

3層クライアントサーバシステム(別名:3層アーキテクチャ)とは、クライアントサーバ型のアプリケーションを論理的な3つのモジュールに分けたシステムです。

  • クライアントサーバシステム…処理要求を出すクライアントと、処理要求を処理し、処理結果を返すサーバとがネットワークで接続されているシステム構成

3つの層はこちらです

  • プレゼンテーション層(ユーザインタフェース)
  • アプリケーション層(データの加工処理)
  • データ層(データの保管、管理)

3層それぞれの役割

プレゼンテーション層

プレゼンテーション層はアプリケーションのユーザインタフェースかつアプリケーションの通信層です。ユーザに情報を表示したり、ユーザからの入力を受け付けたりする機能を担当します。

HTML、CSS、JavaScriptを使用して開発されることが多いです。

アプリケーション層

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

例えば、「ログイン」ボタンを押したらログイン処理を行う、「戻る」ボタンを押したら1つ前の画面に戻るといったロジックを決めています。

データ層にリクエストを送ることもあれば、データ層を使わずそのまま処理を返すこともあります。

アプリケーション層は通常、Java、Python、Perl、PHPまたはRubyで開発されることが多いです。

データ層

データ層はアプリケーションによって処理された情報が保管され、管理される場所です。一般的にはデータベースと呼ばれたりします。

アプリケーション層からデータ要求があれば、データを探索し、その結果をアプリケーション層に返します。

SQLを使うリレーショナルデータベースが一般的です。

3層クライアントサーバシステムのメリット

3層クライアントサーバシステムの主なメリットはこちらです

  • ネットワークの通信量が減る
  • 開発の並行作業が可能

3層クライアントサーバシステムはシステム性能や開発保守効率の向上を目指したものです。

データ加工処理をサーバ側で行うことでクライアントとサーバ間の通信量を減らすことができます。これによってクライアントの台数が多い場合や低速回線でも応答性能が比較的低下しません。

開発保守効率の面からみると、機能的に3つのモジュールに分けることで、開発の並行作業や仕様変更が容易になります。

まとめ

この記事では「3層クライアントサーバシステム」についてザックリ解説しました。

要点は以下の通りです。

3層クライアントサーバシステムはクライアントサーバ型のアプリケーションを以下の論理的な3つのモジュールに分けたシステム

  • プレゼンテーション層(ユーザインタフェース)
  • アプリケーション層(データの加工処理)
  • データ層(データの保管、管理)

主なメリットは以下の2つ

  • ネットワークの通信量が減る
  • 開発の並行作業が可能
  • こちらの記事もおススメ