令和5年度 春期 システムアーキテクト試験 午前Ⅱ 問22

テクノロジOS・ソフトウェアネットワーク

この問題は2023(R5)春 システムアーキテクト 午前IIに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

WebブラウザやHTTPを用いず,独自のGUIとデータ転送機構を用いた,ネットワーク対戦型のゲームを作成する。仕様の (2) の実現に用いることができる仕組みはどれか。

〔仕様〕

  • (1) ゲームは囲碁や将棋のように2人のプレーヤの間で行われ,ゲームの状態はサーバで管理する。プレーヤはそれぞれクライアントプログラムを操作してゲームに参加する。
  • (2) プレーヤが新たな手を打ったとき,クライアントプログラムはサーバにある関数を呼び出す。サーバにある関数は,その手がルールに従っているかどうかを調べて,ルールに従った手であればゲームの状態を変化させ,そうでなければその手が無効であることをクライアントプログラムに知らせる。
  • (3) ゲームの状態に変化があれば,サーバは各クライアントプログラムにその旨を知らせることによってGUIに反映させる。

解答・解説を読む

正解: 選択肢

正解は ウ (RPC) です。

仕様(2)には、「クライアントプログラムはサーバにある関数を呼び出す」と記載されています。このように、ネットワークで接続された別のコンピュータ(サーバ)上にあるプログラムや関数を、あたかも自分のコンピュータ内にあるかのように呼び出して実行させる仕組みを RPC (Remote Procedure Call) と呼びます。

また、設問文には「WebブラウザやHTTPを用いず」と明記されているため、Webに関連する技術である CGI などの選択肢は除外されます。

各選択肢の解説

  • ア (CGI)
    CGI (Common Gateway Interface) は、Webサーバ上でプログラムを実行し、その結果をクライアント(Webブラウザ)に返す仕組みです。設問ではWebブラウザやHTTPを用いないとしているため誤りです。
  • イ (PHP)
    PHP は、動的なWebページを生成するためによく使われるスクリプト言語です。関数を遠隔から呼び出す「仕組み」そのものではないため誤りです。
  • ウ (RPC)
    正解です。 ネットワーク越しにサーバの関数や手続き(プロシージャ)を呼び出す仕組みであり、仕様(2)の記述に合致しています。
  • エ (XML)
    XML (eXtensible Markup Language) は、データを構造化して記述するためのマークアップ言語です。データ形式の一種であり、関数を呼び出す仕組みではないため誤りです。