SAシステムアーキテクト試験 午前Ⅱ

平成26年度秋期 システムアーキテクト 午前Ⅱ 問20

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

Web ブラウザや HTTP を用いず,独自の GUI とデータ転送機構を用いた,ネットワーク対戦型のゲームを作成する。仕様の (2) の実現に用いることができる仕組みとして,適切なものはどれか。〔仕様〕(1) ゲームは囲碁や将棋のように 2 人のプレーヤの間で行われ,ゲームの状態はサーバで管理する。プレーヤはそれぞれクライアントプログラムを操作してゲームに参加する。(2) プレーヤが新たな手を打ったとき,クライアントプログラムはサーバにある関数を呼び出す。サーバにある関数は,その手がルールに従っているかどうかを調べて,ルールに従った手であればゲームの状態を変化させ,そうでなければその手が無効であることをクライアントプログラムに知らせる。(3) ゲームの状態に変化があれば,サーバは各クライアントプログラムにその旨を知らせることによって GUI に反映させる。

選択肢

  1. ア
    CGI
  2. イ
    PHP
  3. ウ
    RPC
  4. エ
    XML
解き方のヒントを見る

役割分担に着目して仕組みを見極める

クライアントとサーバの間の連携を考えるときは、処理を依頼する側と応じる側がそれぞれ何を担うのかという役割分担を軸に整理すると、問われている仕組みの位置づけを落ち着いて判断しやすくなります。

この問題で問われていること

この問題で確認したいのは、問題文で示された状況において、要求を出す側と受ける側がどう関わり、どこで処理やデータのやり取りが行われているかを自分の言葉で説明できるかどうかです。

視点

クライアントサーバ型の仕組みは、名称や用語だけを覚えていると混同しやすい分野です。そこで、個々の仕組みを『どちらの側が何を受け持つのか』という役割分担の観点で捉え直す習慣をつけると整理しやすくなります。用語を思い出す前に、問題文が描いている状況で各構成要素がどの役割を果たしているかを図やメモに描いて確かめ、それと自分の理解している仕組みの役割分担が本当に一致するかを照らし合わせてみてください。

確認ポイント

  • 問題文の状況で、要求を出す側と応じる側がそれぞれ何を担っているかを書き出したか
  • 処理やデータのやり取りがどちらの側で行われているかを、自分の理解と照らし合わせたか
  • 用語の印象ではなく、役割分担が状況と一致するかどうかで判断しているか
正解と解説を見る

正解

ウ

解説

仕様(2)では、クライアントがサーバにある関数を呼び出し、サーバが手の有効性を判定してゲーム状態を更新する。RPCは、遠隔にある関数や手続きを呼び出す仕組みなので、この仕様に適している。

正答の理由

RPCはRemote Procedure Callの略で、別のコンピュータ上にある関数や手続きを、通信を介して呼び出す仕組みです。仕様(2)のクライアントからサーバ上の関数を呼び出す処理に対応する。

選択肢の比較

CGIはWebサーバと外部プログラムを連携させる仕組み、PHPはサーバ側で動作するスクリプト言語、XMLはデータを構造化して表す形式です。いずれも仕様(2)の遠隔関数呼出しそのものではありません。

選択肢ア

これは不正解だよ。CGIは主にWebサーバから外部プログラムを起動して処理結果を受け渡すための仕組みである。問題ではWebブラウザやHTTPを使わず、クライアントがサーバ上の関数を呼び出す通信機構が必要なので、仕様(2)に直接対応しない。

選択肢イ

これは不正解だよ。PHPはサーバ側で処理を記述して実行するためのスクリプト言語であり、サーバ上の関数を遠隔から呼び出す通信方式そのものではない。ゲームの手の判定処理を実装できても、仕様(2)に適した仕組みの名称とはいえない。

選択肢ウ(正解)

これは正解だよ。RPCは、ネットワークで接続された別のコンピュータ上にある関数や手続きを呼び出す仕組みである。クライアントがサーバの関数へ手を渡し、サーバがルール判定と状態変更を行うという仕様(2)を実現できる。

選択肢エ

これは不正解だよ。XMLはデータの構造や内容を記述するためのマークアップ言語またはデータ形式であり、通信で渡す情報の表現には利用できる。しかし、クライアントからサーバ上の関数を呼び出して実行させる仕組みそのものではない。

学習のポイント

RPC、CGI、PHP、XMLの役割の違いを、通信機構・実装技術・データ形式の観点で整理する。

出典:独立行政法人 情報処理推進機構(IPA)平成26年度秋期 システムアーキテクト試験 午前Ⅱ 問20(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針