支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • クライアントサーバシステムとは?仕組

はじめに

現代のシステム設計の主流となっているシステムには「スタンドアローンシステム」「クライアントサーバシステム」「WEBシステム」の3つがあり、それぞれ特徴や構成が異なります。今回はその3つのシステムのうちの1つ、クライアントサーバシステムについて紹介していきます。

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

クライアントサーバシステムとは、コンピュータを「サーバ」と「クライアント」に分け、それぞれ役割分担をして運用する仕組みのことを指します。
「サーバ」はシステムで利用されるデータの保存・管理機能、接続された周辺機器などのハードウェアの管理機能、加えてデータ処理機能を有するコンピュータやソフトウェアのことを指します。これらの機能や情報をネットワークを通じて外部に提供します。
「クライアント」は「サーバ」から機能や情報の提供を受けるコンピュータやソフトウェアのことを指します。利用者がクライアント側のコンピュータを操作し、画面表示や入力の受付などの比較的軽い処理を担当することが多いです。「クライアント」はネットワークを通じて「サーバ」に様々な要求を送り、「サーバ」がこれに応えて処理を行うという流れです。

主なサーバ機能

クライアントサーバシステムではサーバ機能とクライアント機能をネットワーク上にそれぞれ分散して配置します。主なサーバ機能には次のようなものがあります。

ファイルサーバ:利用者間でのファイル共有や読み書きが可能なストレージを提供する
Webサーバ:Webページを表示させるためのファイルを格納し、提供する
メールサーバ:電子メールの送受信、転送を行う
プリントサーバ:複数のコンピュータからの要求を制御かつコントロールし、印刷作業を管理する
データベースサーバ:アプリケーションに必要なデータを格納し、データの作成/読み出し/更新/削除の機能を提供する
FTPサーバ:ファイルの送受信を行う

クライアントサーバを構成するために必要な機器

通常のLANを構成する機器に加えて、サーバ用のコンピュータもしくはパソコンが必要になります。大規模なLANの場合にはサーバ専用のコンピュータを、 小規模の場合はサーバ用のOSがインストールされたパソコンを使うことも可能です。サーバとクライアントの接続には、ピアツーピア接続などと同じようにLANケーブルやハブを使うことができます。

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

負荷分散が可能

複数のコンピュータで処理を分担して行うため、1台ごとの負荷が少なくなり処理を早く終えることができます。また、1台では行えないような大きな処理も可能です。

部分的なトラブルに強い

複数のコンピュータで分散して処理を行っているため、仮に1台が故障してもシステム全体がダウンすることはありません。他のコンピュータの負荷は上がりますが、システムをそのまま継続することができます。1台の故障の影響範囲は小さく、故障した端末を修理・交換すればまた元通りに処理を行うことができます。また、クライアントとサーバで役割分担していることでトラブル時の原因追及ならびに復旧が素早く行えるというメリットもあります。 集中型システムの場合、各クライアント単位で問題発生しているのか、もしくはサーバー側で問題発生しているのかという問題の切り分けに時間がかかる傾向があり、復旧までに時間を要してしまいます。

柔軟なシステム変更が可能

クライアントサーバシステムであれば、システムに変更を加える場合クライアントかサーバのどちらかだけを変更すれば良く、もう一方への影響も与えないという利点があります。そのため、ある箇所だけピンポイントで変更したい、細かい部分を変更したいという要望も叶えられます。
また、メイン処理を主にサーバ側で行い、加えてサーバ側を少数台(通常は1台)で運用するため、変更した場合の影響範囲が小さく、導入の手間を抑えることができます。もし、集中型システムであった場合は、変更する際にクライアントとサーバの両方を停止させる必要があるので柔軟な変更は難しくなります。

導入コストを低く抑えられる

クライアントサーバシステムは分散システムであるため、小さな端末の集まりのみでも構成することが可能です。小さな端末ならば価格が安いため、導入時のコストを抑えることができます。最初は低コストで構成し徐々に端末を買い足して拡張する、というやり方もできます。例えば集中システムの場合は、メインフレームとして大型のコンピュータが必要になるので、導入コストが高いと言われています。

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

運用・管理が複雑化

クライアントサーバシステムは分散システムのため、管理の必要なコンピュータの台数が増え運用管理が複雑になるというデメリットがあります。使用するすべてのコンピュータに対してソフトウェアのアップデートを行ったり、ネットワーク接続にトラブルがないか監視したりする必要が出てきます。 もし、クライアント側のコンピュータを複数台用意する場合、クライアント側のプログラムを変更したら全部入れ替えなくてはならないので、その分手間がかかってしまいます。

サーバやネットワークの不調が起こると使用できなくなる

システムの構成上、サーバやネットワークの不調が起こるとサーバや他のコンピュータと連携できず使用できなくなってしまいます。

セキュリティ対策のコストが高い

クライアントサーバシステムでは、すべてのコンピュータにセキュリティ対策が必要となります。そのため、全体のセキュリティ対策を行うには手間も費用もかかってしまう、というデメリットがあります。

クライアントサーバとWebシステムの違いとは?

クライアントサーバシステムは、時折Webシステムと同列に並べられ比較される場合がありますが、本来の意味でいえば、Webシステムもクライアントサーバシステムの一種になります。Webブラウザをクライアントとするクライアントサーバシステムのことを「Webシステム」と言いますが、Webシステムと比較される場合、クライアントサーバシステムは「パソコンに何か特別なプログラムを入れる必要があるクライアントサーバシステム」と解釈しなくてはなりません。クライアントサーバシステムのうち、Webブラウザをクライアントとして使うシステムがWebシステムで、それ以外がクライアントサーバシステムと呼ばれています。

おわりに

以上、クライアントサーバシステムについて紹介してきました。クライアントサーバシステムを簡潔に言うと「コンピュータをサーバ側とクライアント側に分け、それぞれの機能を分散して運用する仕組み」のことで、「クライアントがネットワークを通じてサーバに様々な要求を送り、サーバがこれに応えて処理を行う」というものです。こうしたサーバやネットワーク関連の基本的な仕組みなどについて知っておくことはとても重要です。ぜひ調べたり、実際にシステムを作ってみたりしてみてください。