IPA過去問ドリル

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

テクノロジ/ネットワーク

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

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

正解:ウ

解説

仕様(2)は,クライアントプログラムがサーバにある関数を直接呼び出し,その戻り値(判定結果)を受け取るという処理です。これは,ネットワークを介して別のコンピュータ上の関数(手続き)をあたかもローカルの関数呼出しのように呼び出す仕組みであるRPC(Remote Procedure Call)を用いることで実現できます。CGIやPHPはWebサーバ上でHTTP経由のリクエストを処理する仕組みであり,設問の“Webブラウザやhttpを用いない”という前提に合いません。XMLはデータ形式であって,関数呼出しの仕組みそのものではありません。

選択肢ごとの解説

  • 誤り。CGI(Common Gateway Interface)は,Webサーバがhttp経由のリクエストに応じて外部プログラムを起動する仕組みであり,Webブラウザやhttpを用いない設問の前提には合いません。
  • 誤り。PHPは,主にWebサーバ上でhttpのリクエストに応じて動的にコンテンツを生成するためのスクリプト言語であり,設問の前提には合いません。
  • 正しい。RPC(Remote Procedure Call)は,ネットワークを介して他のコンピュータ上の関数を,ローカルの関数呼出しと同様の形式で呼び出す仕組みであり,仕様(2)の実現に用いることができます。
  • 誤り。XMLは,データを構造化して記述するためのマークアップ言語(データ形式)であり,関数呼出しの仕組みそのものではありません。
システムアーキテクトの過去問を演習モードで解く