クライアントサーバのサーバサイド・三層アーキテクチャ

クライアントサーバのサーバサイド・三層アーキテクチャ




クライアントサーバのサーバサイド・三層アーキテクチャ

クライアントサーバとはコンピュータネットワーク・アーキテクチャのうちの一つ構成を指します。

クライアント(client)は

  • 依頼人
  • 顧客

という意味で、クライアントサーバにおけるクライアントは、サーバの提供する機能・データ等のサービスを使用する側のコンピュータを指します。

サーバの提供する機能・データ等に関する記事はこちら

サーバとは?サーバの意味とサーバの種類について
サーバとは何かご存知ですか。また、サーバの意味とサーバの種類についての知識はありますか。この記事では、サーバの意味とサーバの種類について初心者向けにわかりやすく解説しています。サーバの意味とサーバの種類について興味のある方は是非ご覧下さい。

アーキテクチャ(architecture)は

  • 建築様式
  • 構造
  • 構成

という意味です。

コンピュータ分野では

  • 基本設計
  • 設計思想

を指します。

つまり、コンピュータネットワーク・アーキテクチャとは、

  • コンピュータネットワーク・・コンピュータ同士をつなぐ
  • アーキテクチャ・・・基本設計

複数のコンピュータを接続する基本設計ということになります。

この記事では、クライアントサーバ

  • 概要
  • サーバサイド

について、それぞれ説明します。

クライアントサーバ

クライアントサーバ

クライアントサーバとはコンピュータネットワーク・アーキテクチャだと先述しました。

クライアント・サーバ・モデル

実際にクライアントサーバにおける

  • クライアント
  • サーバ

それぞれどのような役割を果たしているのでしょうか。

ネットワークで接続されているコンピュータを

  • 特定の機能を集中的に担当するコンピュータ・・・サーバ
  • 利用者の操作するコンピュータ・・・クライアント

と、役割で明確に分けます。

サーバの特定の機能は、サーバの種類によって違います。

クライアントサーバ・モデルでは、

  • クライアントがサーバに「リクエスト(Request:依頼)」を送信
  • サーバがそれに「レスポンス(Response:応答)」を返信

の形で処理が行われます。

クライアント・サーバそれぞれの役割

特に、サーバ側では

  • 演算機能
  • 保管機能

が重視されており、クライアント側では描画機能が重視される傾向があります。

サーバサイド

サーバサイド

クライアントサーバにおけるサーバの種類には

  • Webサーバ
  • メールサーバ
  • アプリケーションサーバ
  • ファイルサーバ
  • プリントサーバ 等々

色々あります。

サーバの種類に関する記事はこちら

サーバとは?サーバの意味とサーバの種類について
サーバとは何かご存知ですか。また、サーバの意味とサーバの種類についての知識はありますか。この記事では、サーバの意味とサーバの種類について初心者向けにわかりやすく解説しています。サーバの意味とサーバの種類について興味のある方は是非ご覧下さい。

サーバサイドにおけるアーキテクチャには

  • 二層アーキテクチャ
  • 三層アーキテクチャ 等々

があります。

3層クライアント・サーバ・モデル

二層アーキテクチャはクライアントサーバ・モデルを指します。

二層アーキテクチャの特徴としては、アプリケーションプログラムがクライアント側で動く事です。
つまり、大雑把に言うとクライアントが、

  • プレゼンテーション層(ユーザインターフェース部分)
  • アプリケーション層(ビジネスロジック部分)

の役割を兼任しています。

二層アーキテクチャにおけるメリット・デメリットは下記の通りです。

メリットデメリット
使い勝手の良いアプリケーションプログラムアプリケーションプログラムは頻繁にプログラムの更新が行われるため、その都度全クライアントに配布し直す必要が有り、運用が大変
アプリケーションプログラムは多くのプログラムで構成されている場合が多く、クライアントのディスク容量を圧迫
ユーザインターフェース・・・コンピュータとそのコンピュータの利用者(通常は人間)の間での情報をやりとりするための接点、また接点となるプログラム

ビジネスロジック・・・コンピュータ分野のソフトウェアにおいて、データベース上のデータに対する処理手順をプログラムコードとして実装した部分

二層アーキテクチャにおいて、アプリケーションプログラムがクライアント側で動く事に関してはデメリットが大きいため、このデメリットを解消するため、アプリケーションプログラムをサーバーに置く事で対応したものが三層アーキテクチャです。

三層アーキテクチャは、クライアントサーバ・モデルを

  • プレゼンテーション層(ユーザインターフェース部分)
  • アプリケーション層(ビジネスロジック部分)
  • データ・アクセス層(データベース部分)

の三層に分割して構築したモデルを指します。

また、三層アーキテクチャはクライアントおよびサーバの処理を複数の階層に分離して配置することで、

  • 変更容易性
  • 拡張性

を高める事が出来ます。

三層アーキテクチャ

Webアプリケーションサーバを例に取って、

  • プレゼンテーション層
  • アプリケーション層
  • データ・アクセス層

それぞれの役割・仕組みを見ていきます。

Webアプリケーションサーバ

プレゼンテーション層

WEBブラウザからのHTTPリクエストを処理し、必要に応じてアプリケーション層に処理を委譲します。

また、アプリケーション層からリクエスト処理結果を受け取り、WEBブラウザに返します。

プレゼンテーション層

アプリケーション層

プレゼンテーション層からの要求に応じてビジネスロジックを処理します。

必要に応じてデータ・アクセス層にアクセスし、データの検索、保存などを行います。

アプリケーション層

データ・アクセス層

データを管理し、アプリケーション層に対して

  • データ検索
  • データ抽出
  • データ保存 等

のインタフェースを提供します。

データ・アクセス層

上記の様な

  • プレゼンテーション層
  • アプリケーション層
  • データ・アクセス層

それぞれの役割が三層アーキテクチャの基本モデルになります。

以上、クライアントサーバの

  • 概要
  • サーバサイド

についての説明になります。

コメント