平成29年度 秋期 システムアーキテクト試験 午前Ⅱ 問19
テクノロジ/ネットワークWeb ブラウザや HTTP を用いず,独自の GUI とデータ転送機構を用いた,ネットワーク対戦型のゲームを作成する。仕様の (2) の実現に用いることができる仕組みはどれか。 〔仕様〕 (1) ゲームは囲碁や将棋のように 2 人のプレーヤの間で行われ,ゲームの状態はサーバで管理する。プレーヤはそれぞれクライアントプログラムを操作してゲームに参加する。 (2) プレーヤが新たな手を打ったとき,クライアントプログラムはサーバにある関数を呼び出す。サーバにある関数は,その手がルールに従っているかどうかを調べて,ルールに従った手であればゲームの状態を変化させ,そうでなければその手が無効であることをクライアントプログラムに知らせる。 (3) ゲームの状態に変化があれば,サーバは各クライアントプログラムにその旨を知らせることによって GUI に反映させる。
出典:平成29年度 秋期 システムアーキテクト試験 午前Ⅱ 問19
- アCGI
- イPHP
- ウRPC
- エXML
正解:ウ
解説
設問の仕様 (2) は,クライアントプログラムがサーバにある関数を直接呼び出し,その戻り値(ルールに従っているかどうか)を受け取るという処理であり,これはネットワークを介して離れたコンピュータ上の手続き(関数)をあたかもローカルの手続きのように呼び出す仕組みである RPC(Remote Procedure Call:遠隔手続呼出し)によって実現できます。
選択肢ごとの解説
- ア誤り。CGI(Common Gateway Interface)は,Web サーバがブラウザからのリクエストに応じて外部プログラムを起動するための仕組みであり,独自の GUI をもつクライアントプログラムからサーバの関数を直接呼び出す用途には適していません。
- イ誤り。PHP は,主に Web サーバ上で動作するサーバサイドスクリプト言語であり,Web ブラウザや HTTP を用いない独自のクライアントプログラムからの関数呼出しの仕組みそのものではありません。
- ウ正しい。クライアントプログラムがサーバにある関数を呼び出し,その結果を受け取る仕組みは,RPC(遠隔手続呼出し)によって実現できます。
- エ誤り。XML は,データを構造化して記述するためのマークアップ言語であり,関数を呼び出す仕組みそのものではありません。