【図解あり】クライアント・サーバ・モデルとは




この記事は約 4分43秒で読み終わります

【図解あり】クライアント・サーバ・モデルとは

クライアント・サーバ・モデルとはコンピュータのネットワーク・アーキテクチャの一つです。

クライアント(client)・・・クライアントは英単語です。
邦訳すると

  • 依頼人
  • 顧客

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

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

【図解あり】サーバ(server)とは【コンピュータ分野】
【図解あり】サーバ(server)とは コンピュータが中心の現代に置いて、サーバ(server)無しでは、 Webへのアクセス メールの送受信 データベースの処理・運用 等々 が容易に出来ません。 この記事...

アーキテクチャ(architecture)・・・アーキテクチャは英単語です。
邦訳すると

  • 建築様式
  • 構造
  • 構成

という意味で使われ、特にコンピュータ分野では

  • 基本設計
  • 設計思想

を意味します。

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

  • コンピュータ ➡️
    • 数値計算
    • 文書作成
    • 動画編集
    • 情報処理
    • データ処理 等々

    等の行為が出来る電子計算機 

  • ネットワーク ➡️ 機械と機械をつなぐ
  • アーキテクチャ ➡️ 基本設計

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

この記事では、初心者向けにクライアント・サーバ・モデル

  • クライアント・サーバそれぞれの役割
  • サーバの種類
  • 3層アーキテクチャ

それぞれ説明します。

スポンサーリンク

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

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

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

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

では、実際にクライアント・サーバ・モデルの中で

  • クライアント
  • サーバ

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

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

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

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

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

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

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

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

で処理が行われます。

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

特に、

  • サーバ側では
    • 演算機能
    • 保管機能

    が重視されており、

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

サーバの種類

クライアント・サーバ・モデルにおけるサーバの代表的な役割として

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

があります。

3層アーキテクチャ

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

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

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

ユーザインターフェース・・・コンピュータとそのコンピュータの利用者(通常は人間)の間での情報をやりとりするための接点、また接点となるプログラム

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

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

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

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

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

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

アプリケーションプログラムクライアント側で動く事に関しては、メリット・デメリットがあります。

  • メリット・・・使い勝手の良いアプリケーションプログラムを作れる
  • デメリット・・・
    1. アプリケーションプログラムは頻繁にプログラムの更新が行われますが、その都度全クライアントに配布し直す必要が有り、運用が大変です
    2. アプリケーションプログラムは多くのプログラムで構成されている場合が多く、クライアントのディスク容量を圧迫します

このデメリットを解消するため、アプリケーションプログラムをサーバーに置く事で対応したものが3層アーキテクチャです。

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

  • 変更容易性
  • 拡張性

を高める事が出来ます。

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

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

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

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

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

プレゼンテーション層

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

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

プレゼンテーション層

アプリケーション層

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

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

アプリケーション層

データ・アクセス層

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

  • 検索
  • 抽出
  • 保存 等

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

データ・アクセス層

コメント

  1. […] […]

  2. […] […]