今回の動画では、令和5年度 春期 応用情報技術者試験 午後問4「システムアーキテクチャ」を題材に、ITニュース配信サービスの再構築プロジェクトを通じて、現代的なWebシステム設計の要点を丁寧に解説していきます。テーマは、SPA(Single Page Application)構成やレスポンシブWebデザイン、キャッシュサーバによる性能改善、さらにWeb APIの応答時間の試算など、実務でも直結する内容ばかりです。近年のWeb開発トレンドを凝縮したような問題であり、午後試験対策はもちろん、Webエンジニアとしての基礎力を高めたい方にも大いに役立つ内容となっています。 問題の背景となるのは、従来のサーバサイド中心のWebシステムから、SPA構成のモダンなWebアプリケーションへの移行です。Q社は、OSやフレームワークの保守切れをきっかけに、ニュース配信サービスのシステム更改を進めることになりました。新システムでは、同一のWebサイトでPC、タブレット、スマートフォンといった複数デバイスに対応する必要があり、CSSによるレスポンシブWebデザインや、クライアント側での画面描画を重視したSPA構成が採用されています。動画の序盤では、この構成変更の意図と、サーバサイドレンダリング中心の従来型システムとの違いを整理し、試験問題の全体像をつかみやすく解説します。 設問1に対応するパートでは、SPAの基本構造とレスポンシブWebデザインについて扱います。画面のレイアウトを複数種類のHTMLで切り替えるのではなく、一つのHTMLとCSSの組み合わせで多様な画面サイズに対応する考え方、JSON形式を用いたWeb APIとのデータ連携の仕組みなど、午後問題に頻出の概念を押さえます。ここでは、なぜSPA構成が選ばれたのか、サーバとクライアントの役割分担がどのように変化するのかを丁寧に解説し、設問中の用語や選択肢が自然に理解できるようにします。 本問で特に正答率が低かったとされるのが、設問2のWeb API応答時間の計算です。キャッシュサーバを導入した構成において、インメモリ型のキャッシュとNoSQL型のキャッシュで応答時間がどのように変わるのか、さらにニュース一覧を表示する際にどのAPIが何回呼び出されるのかを正しく把握することが求められました。平均応答時間を求めるためには、単に一回あたりのアクセス時間を覚えているだけでは不十分であり、実際に画面表示のたびに何回APIが呼ばれ、そのうちキャッシュヒットとキャッシュミスがどの程度の割合で発生するかを読み解く必要があります。 動画の中盤では、この応答時間計算の部分を図解しながらじっくり解説します。ITNewsHeadline などのWeb APIがどの画面で、どの回数呼び出されるのか、問題文中の記述をもとに時系列でトレースし、試験で多くの受験者がつまずいた「呼び出し回数の見落とし」を防ぐ読み方を紹介します。その上で、キャッシュサーバをインメモリDBで構成した場合とNoSQL型で構成した場合の性能差を比較し、どの構成が応答時間の短縮に寄与するのかを具体的な数値を用いて解説します。単なる計算問題としてではなく、アーキテクチャの違いがユーザー体験にどう影響するかを意識しながら学べる構成になっています。 続く設問3では、システムに高い負荷がかかった場合の挙動と、その結果として利用者にどのような不具合が発生するかが問われました。本問では、アプリケーションサーバのCPU使用率が一定以上に達した際に、キャッシュ更新処理をスキップするという制御が行われる設定が導入されています。一見するとサーバ負荷を下げる賢い工夫のように見えますが、その影響としてニュース一覧や関連記事一覧が更新されないという事象が発生し得ます。つまり、バックエンドの高負荷は、画面上では「情報が更新されない」「最新記事がいつまでも表示されない」といった形で現れます。 動画では、この挙動を問題文のシーケンスに沿って分析し、CPU使用率を条件とした制御がどの処理を止めてしまうのか、その結果利用者がどのような違和感を覚えるのかを論理的に導き出します。ここでは、システム内部の設定やパラメータの変更が、ユーザー体験にどう影響するかを考える力が問われており、単に「負荷が高いと不具合が起きる」という曖昧な理解では解答できません。午後試験の文章題を解く際の、原因と結果を結びつける読み方も併せて解説します。 また、SPA特有のアクセス解析の課題もこの問題の重要なテーマです。従来のページ遷移型Webサイトでは、HTMLの取得ごとにWebサーバのアクセスログが残るため、ログを分析することでユーザーのページ遷移の経路をある程度把握することができました。しかしSPAでは、初回にHTMLとJavaScriptを読み込んだ後の画面遷移は、クライアント側のJavaScriptによって制御されます。そのため、サーバ側のアクセスログだけを見ていても、記事Aから記事Bへ画面遷移したといった情報が記録されない場合があります。動画では、なぜSPA構成だとサーバログにページ遷移の情報が残りにくいのか、アクセス解析を行うにはクライアントサイドでイベントを明示的に送信する必要があることなど、実務でも重要な観点を紹介します。 このように、本問は単なる理論問題にとどまらず、現代的なWebシステムで実際に起こり得る設計上の課題を多角的に扱っていることが特徴です。SPA構成の利点と注意点、キャッシュサーバによる負荷分散と応答時間短縮、LFUなどのキャッシュ管理方式の考え方、高負荷時の制御がもたらすユーザー影響、ログに基づくアクセス解析の限界など、応用情報技術者試験の枠を超えた実践的な知識が詰め込まれています。 午後試験でシステムアーキテクチャ分野を選択する方はもちろん、WebエンジニアとしてモダンなWebアプリケーションの構成を体系的に理解したい方にも、この問題をきちんと押さえておくことは大きな意味があります。動画を通じて、試験で問われた要素を一つずつ整理しながら、なぜその設計になるのか、どこで受験者が間違えやすいのかを明確にし、設問の背景にあるアーキテクチャの考え方までしっかり身につけていきましょう。令和5年度 春期 午後問4を通じて、SPAとキャッシュ設計、API性能見積もりの基礎から応用までを一緒に攻略していきます。 出典:独立行政法人情報処理推進機構(IPA)