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

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。JackieBot (会話 | 投稿記録) による 2012年4月14日 (土) 18:45個人設定で未設定ならUTC)時点の版 (r2.7.2) (ロボットによる 追加: ky:Клиент/Сервер)であり、現在の版とは大きく異なる場合があります。

クライアントサーバ: client-server)モデルは、クライアントサーバを分離する、コンピュータネットワークソフトウェアモデルである。単にクライアント・サーバと呼ばれたり、俗にクラサバと略称されたり、C/Sなどと表記されることも多い。

概要

かつてはメインフレームと呼ばれる大型コンピュータに接続された端末から利用者が操作する形態が中心であった。しかしながら、当時の端末は文字の入力受付と表示を行うのみの貧弱な処理能力しかなかったため、あらゆる計算はメインフレームによって集中的に処理された。

その後、UNIXワークステーションなど表示能力と処理能力の高いコンピュータをたくさん配置することがコスト的に容易な時代になり、特定の役割を集中的に担当するコンピュータ(サーバ)と、利用者の操作するコンピュータ(クライアント)に役割を分け、これらが相互にネットワークで接続されるクライアントサーバモデルが一般化した。このモデルでは、クライアントがサーバに「要求」を送信し、サーバがそれに「応答」を返す形で処理が行われる。

クライアントサーバモデル以外のネットワークアーキテクチャとしては、ピア・ツー・ピアモデルも広く利用されている。これはクライアントやサーバといった役割を固定化せず、ネットワークに参加するコンピュータ(ノード)が場合によってどちらとしても働くというものである。

サーバとクライアントのやり取りを記述するためには、UMLシーケンス図が利用できる。

サーバの種類

サーバの代表的な役割には次のようなものが存在する。いずれも前述のような形態をとっており、現在のコンピュータシステムでは一般的な概念となっている。

例えば、Web上のオンラインストアを利用することを考えてみる。この場合、オンラインストアの利用者が使っているコンピュータやWebブラウザクライアントに相当し、オンラインストアのデータベースやWebサーバがサーバに相当する。Webブラウザがページを表示する要求を送ると、サーバは必要な情報からウェブページを作りこれを応答として返す。これを受信したクライアントがページを表示することで利用者が見ることができる。

狭義のクライアントサーバ

広い意味でクライアントサーバと呼ばれる場合、前述のようにクライアントとサーバと処理を役割分担している分散コンピューティングのことを意味することがある。この場合、サーバがさらに数層分けられる多層アーキテクチャを含める場合がある。

一方で、狭い意味でクライアントサーバと呼ばれる場合には、2層アーキテクチャやリッチクライアントモデルが指される場合がある。

関連項目