基本情報技術者 2009年 秋期 午前(科目A) 問14
問題文
クライアントサーバシステムの特徴として、適切なものはどれか。
選択肢
ア:クライアントとサーバが協調して、目的の処理を遂行する分散処理形態であり、サービスという概念で機能を分割し、サーバがサービスを提供する。(正解)
イ:クライアントとサーバが協調しながら共通のデータ資源にアクセスするために、システム構成として密結合システムを採用している。
ウ:クライアントは、多くのサーバからの要求に対して、互いに協調しながら同時にサービスを提供し、サーバからのクライアント資源へのアクセスを制御する。
エ:サービスを提供するクライアント内に設置するデータベースも、規模に対応して柔軟に拡大することができる。
##: クライアントサーバシステムの特徴として、適切なものはどれか。【午前2 解説】
要点まとめ
- 結論→アが正解です。クライアントは要求を出し、サーバはサービスを提供する分散処理形態です。
- 根拠→機能を「サービス」という単位で分割し、サーバ側が継続的にサービスを提供する点がクライアントサーバの本質です。
- 差がつくポイント→密結合や役割逆転(クライアントがサービス提供側になる等)とは異なり、疎結合で役割分担が明確な点を押さえてください。
正解の理由
選択肢アは「クライアントとサーバが協調して目的の処理を遂行し、機能をサービスで分割してサーバがサービスを提供する」と正確に述べています。これはクライアントサーバ構成の定義そのもので、クライアントが要求(リクエスト)を行い、サーバが応答(レスポンス)としてサービスを提供するという基本的な役割分担を示しています。
よくある誤解
- クライアントサーバは必ず中央集権的であると誤解されますが、実装次第で負荷分散や水平スケールが可能です。
- クライアントがデータベースを持つ=クライアントサーバ構成とは限りません(ローカルキャッシュやオフライン機能は別概念です)。
解法ステップ
- 問題文で問われている「特徴」が何を指すか(役割分担/結合度/配置)を明確にする。
- 各選択肢が「誰がサービスを提供するか」「結合の強さ」を述べているかを確認する。
- クライアント=要求、サーバ=提供という基本定義に一致する選択肢を探す。
- 密結合や役割逆転を主張する選択肢は除外する。
- 最終的に定義と一致する選択肢(ア)を選ぶ。
選択肢別の誤答解説
- ア: 正解。クライアントが要求し、サーバがサービスを提供するという分散処理形態を正しく表現しています。
- イ: 誤り。クライアントサーバは通常「疎結合」を想定します。密結合を前提にするのは誤りで、集中管理型や共有メモリを想定する構成とは違います。
- ウ: 誤り。これは役割を逆に説明しています。クライアントが多数のサーバに対してサービスを提供するという記述はクライアントサーバの定義と矛盾します(ピアツーピアの誤認にもつながる表現)。
- エ: 誤り。データベースは通常サーバ側で管理します。クライアント内部にデータベースを置くことを前提に拡張性を語るのはクライアントサーバの特徴とは言えません(ローカルDBは特例であり本質ではない)。
補足コラム
- クライアントサーバとピアツーピアの違い:クライアントサーバは役割(提供側=サーバ、利用側=クライアント)が明確で、ピアツーピアは各ノードが対等に役割を持ちます。
- 二層(クライアント–サーバ)と三層(プレゼンテーション/アプリケーション/データ)アーキテクチャ:三層にすることで業務ロジックやスケーラビリティ、保守性が向上します。
- スケーラビリティの実装方法:サーバの水平スケール(複数台に分散)やロードバランサ、キャッシュを用いることでクライアントサーバは高負荷に対応可能です。
- プロトコル例:HTTP/REST、RPC、SOAPなどがサーバが提供するサービス呼び出し手段として用いられます。
FAQ
Q: クライアントサーバとピアツーピアはどちらが優れている?
A: 用途次第です。中央管理や認証、データ整合性が重要ならクライアントサーバ、単純な分散共有ならピアツーピアが有利です。
A: 用途次第です。中央管理や認証、データ整合性が重要ならクライアントサーバ、単純な分散共有ならピアツーピアが有利です。
Q: クライアント側にデータベースを置く設計はあり得ますか?
A: ローカルキャッシュやオフライン用の軽量DBはあり得ますが、中心的なデータベース管理は通常サーバ側で行うのが一般的です。
A: ローカルキャッシュやオフライン用の軽量DBはあり得ますが、中心的なデータベース管理は通常サーバ側で行うのが一般的です。
Q: クライアントサーバで「サービス」とは具体的に何を指しますか?
A: データベースへの問い合わせ、認証、ファイル提供、業務処理APIなど、サーバが提供する機能単位を指します。
A: データベースへの問い合わせ、認証、ファイル提供、業務処理APIなど、サーバが提供する機能単位を指します。
関連キーワード: クライアントサーバ、分散処理、サービス指向、疎結合、スケーラビリティ、三層アーキテクチャ、REST、RPC、キャッシュ

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

