-shared-img-thumb-OMG151007420I9A8958_TP_V

情報システムに関係した仕事をしていると、頻繁に「クライアント」「サーバー」という用語に出くわします。そして、これらの用語はあまりにも頻繁に使われます。さらに困ったことに、本来これらの言葉は「クライアント端末」や「サーバープロセス」のように後続語が付いているのにもかかわらず後続語が省略されてしまう場合が多いのです。

後続語が省略された形で使われると、「クライアント」「サーバー」という用語がいったい何のことを指しているのかわかりにくいことがあります。実際には「クライアント」「サーバー」は、コンピューターのようなハードウェアのことを指したり、「アプリケーション」「プロセス」などソフトウェアのことを指したりします。すなわち、前後の文脈から意味を推測することが必要です。

しかしコンピューターシステムの初級者にとって、このように思考することは負担が重く混乱のもとになります。したがって、「クライアント」「サーバー」という用語について正しく根本の意味を理解しておくことが重要です。

ここでは、システムを理解する上での基礎知識となる「クライアント」「サーバー」の意味についてお話していきます。ここで述べる内容を理解することにより、これらの用語が持つ正しい意味を学ぶことができます。そして、これらの用語を使ってあなたが担当するシステムの動作を他のエンジニアやお客さまに対してわかりやすく説明できるようになるでしょう。

クライアントサーバー型のシステムモデル

「クライアント」「サーバー」の用語は、元々「クライアントサーバー型」というシステムモデル(概念)から生まれています。用語を直訳すると、「クライアント」は「サービスを利用する役割を担う人・物」となります。そして「サーバー」は、「サービスを提供する役割を担う人・物」となります。

しかし、この説明だけ聞いても意味がさっぱりわからない人が多いのではないでしょうか。私も、初めて聞いたときはちんぷんかんぷんだった覚えがあります。そもそも、「サービス」の意味がよくわからないのです。しかし「サービスとは何か」について説明したとしても、さらに抽象的な表現になってしまいます。そのため、初級者にとって余計に理解しにくい説明になってしまうのです。

これらの用語は、実は説明が難しいです。そこで、次の例で考えてみてください。

例えば、会社でかかった経費の計算や集計を行うシステムがあるとします。そして、複数の経費入力担当者が同時にそれぞれの経費をパソコンで入力できるものとします。そのとき、経費の全体をとりまとめる「帳簿」は明らかにシステムで一元管理するものになります。そして経費の入力担当者は、一元管理された帳簿の一行一行の利用記録について、分担して入力していきます。

このようなシステムで、「クライアント」はシステムを利用する人や物を指す考えてください。そして「サーバー」は、裏方でデータを記録したり計算を行う物を指します。

クライアントの実体は何か

それでは、クライアントとは何かについてお話ししましょう。このシステムでのクライアントは、次のような人・物になります。

  • 経費入力に使うソフトウェア→「クライアントアプリケーション」といいます。
  • 経費入力に使うパソコン→「クライアント端末」といいます。
  • 経費入力を行う担当者→「クライアントユーザー」といいます。

先ほど述べたように、「クライアント」の後続語は前後の文脈に基づき省略されることが多いです。そのため、単に「クライアント」といった場合に実際は何を指しているのかを常に意識しなければなりません。

サーバーの実体は何か

次に、「サーバー」についてです。このシステムでのサーバーとは、次のような物を指します。

  • システムで一元管理されている帳簿→多くの場合にデータベース管理システムが使われます。そのため、「サーバーデータベース」といいます。
  • システムのデータベースを稼働させるコンピューター→「サーバーコンピューター」といいます。
  • データの登録や集計の処理を行うソフトウェア→「サーバーアプリケーション」といいます。

サーバーについても、一般には後続語が省略された形で使われます。そのため、単に「サーバー」といった場合に実際は何を指しているのかを考えなければなりません。

このように、システムに関する話で頻繁に用いられる「クライアント」「サーバー」という用語は、何通りもの意味で用いられます。省略されている後続語の意味を文脈から正しく補うことが重要です。自分が理解するときはもちろん他人に説明するときにも、省略されている後続語の認識が相手と合っているかどうか確認しながら話を進めていくようにしましょう。