CRM(Customer Relationship Management)システムの改修に関する次の記述を読んで,設問に答えよ。
C社は,住宅やビルなどのアルミサッシを製造,販売する中堅企業である。取引先の設計・施工会社のニーズにきめ細かく対応するために,自社で開発したCRMシステム(以下,CRMシステムという)を使用している。CRMシステムは,データベースとWebアプリケーションプログラム(以下,Webアプリという)から成り,C社のLAN上にあるPCから利用される。このたび,営業担当者が外出先からスマートフォンやノートPCを用いてCRMシステムを利用できるようにするために,データベースは変更せずにWebアプリを改修することになった。
〔Webアプリの改修方針〕
Webアプリの改修方針を次に示す。
・必要以上の開発コストを掛けない。
・営業担当者が外出先で効率的にCRMシステムを利用できるように,スマートフォンに最適化した画面を追加する。
・将来的にCRMシステム以外の社内システムとも連携できるように拡張性をもたせる。
〔Webアプリの実装方式の検討〕
これらの改修方針を受けて,図1のWebアプリを実装するシステムの構成案を検討した。
図1 Webアプリを実装するシステムの構成案
検討したWebアプリの実装方式を次に示す。
・ユーザーインタフェースとデータ処理を分ける。ユーザーインタフェースは,WebサーバにHTML,Cascading Style Sheets(CSS),画像,スクリプトなどを静的なファイルとして配置する。データ処理は,APがDBから取得したデータをJSON形式のデータで返すWebAPIとして実装する。
・ユーザーインタフェースとなる静的ファイルは,PCとスマートフォンそれぞれのWebブラウザ用に個別に作成し,データ処理用のWebAPIは共用する。
・ユーザーインタフェースの表示速度を向上させるために,①静的ファイルを最適化する。
〔実現可能性の評価〕
〔Webアプリの実装方式の検討〕で示した方式の実現可能性を評価するために,プロトタイプを用いて多くのデータを扱う機能について検証した。その結果,スマートフォンの特定の画面において次の問題が発生した。
・扱うデータ量が増えるに連れて,レスポンスが著しく低下する。
・②スマートフォンのCPU負荷が大きく,頻繁に使用するとバッテリの消耗が激しい。
そこで,これらの問題の原因を調べるために,Webアプリの処理を分析した。レスポンスの悪かった日誌一覧の表示画面を図2に,WebAPIからの応答データを図3に示す。
図2 日誌一覧の表示画面
図3 WebAPIからの応答データ
スマートフォンのWebブラウザから図2の画面をリクエストしてから描画されるまでの一連の処理について,処理ごとに所要時間を測定した結果を表1に示す。
表1 処理ごとに所要時間を測定した結果
表1から,図3の応答データのスマートフォンへの転送処理と,Webブラウザ内でその応答データを加工する処理に多くの時間を要していることが判明した。
〔Webアプリの見直し〕
Webブラウザが画面をリクエストしてから描画されるまでの所要時間の目標値を3秒以内に設定して,それを達成するために,次の三つの方式を検討した。
① スマートフォンのユーザーインタフェースをアプリケーションプログラム(以下,スマホアプリという)として開発して,そのスマホアプリ内でWebAPIからの応答データを加工・描画する方式
② リクエストのあった応答データのうち,Webブラウザに描画するデータだけを返すWebAPIを開発して,スマートフォンのWebブラウザからそのWebAPIを利用する方式
③ ②で開発したWebAPIを1で開発したスマホアプリから利用する方式
各方式について,応答データを加工・描画するソフトウェア又はサーバと,その実現可能性を評価するために,設けた評価項目について整理した結果を表2に示す。各評価項目の評価点に対する重み付けは均一とし,また,将来的な拡張性については各実装方法を設計するタイミングで検討することにした。
なお,〔実現可能性の評価〕においてプロトタイプを用いて検証した方式を方式Pとする。
表2 整理した結果
〔レスポンス時間の試算〕
表2の結果から,方式2について更に検討を進めることになり,そのレスポンスが実用上問題ないか,表1を基に所要時間を試算した。
表1中のNo.2の所要時間について考える。方式2のWebAPIからの応答データのサイズは,図3のデータのサイズの4分の1になり,サーバ側でのデータ転送には時間を要しないものと仮定すると,No.2の所要時間は a ミリ秒となる。
次に,No.3〜No.5の処理時間について考える。No.3の処理はDBで,No.4とNo.5の処理はAPで行われる。処理時間は各機器のCPU処理能力だけに依存すると仮定する。各機器のCPU処理能力は,スマートフォンが10,000MIPS相当,DBが40,000MIPS相当,APが20,000MIPS相当の場合,No.3No.5の処理時間の合計は b ミリ秒となる。
以上の試算の結果,方式2で十分なレスポンスが期待できることから,方式2を採用することにした。
〔システム構成の検討〕
方式2で開発したWebAPIの配置について検討した。図1のAP上に配置する案も検討したが,3将来的な拡張性を考慮した結果,図1のAPとは別に,スマートフォンやノートPCから呼び出されるWebAPIのためのAPを,新たに追加する構成にした。
このシステム構成を採用した結果,問題を解消し,さらに将来的な拡張性をもたせることができた。
設問1 本文中の下線①に該当するものを解答群の中から全て選び,記号で答えよ。
- HTML,CSS,スクリプトなどのコードに,パイプライン処理を有効にする設定を行う。
- HTML,CSS,スクリプトなどのコードに含まれる,余分な改行やコメントを削除する。
- 画像を,BMPやTIFFなどの画像フォーマットにする。
- 画像を,PNGやSVGなどの画像フォーマットにする。
- 全てのファイルをバイトコードに変換して圧縮する。
解答・解説
解答例
ア,イ,エ
解説
ー
設問2 〔実現可能性の評価〕について答えよ。
(1)本文中の下線②の要因として,最も適切なものを解答群の中から選び,記号で答えよ。
- JSON形式の応答データを送受信する処理
- WebブラウザにHTML,CSS,画像ファイルをレンダリングする処理
- スマートフォンのメモリ上で日誌のデータを加工する処理
- 日誌一覧の各担当がログインユーザーか否かを判別する処理
解答・解説
解答例
ウ
解説
ー
(2)図3中のαとβの箇所にある“〔”及び"〕"で囲まれたデータはどのようなデータを表現するものか。データ形式に着目し,"日誌”という単語を用いて,15字以内で答えよ。
解答・解説
解答例
各日誌の構造データ
解説
ー
設問3 表2中の方式2のレスポンスが,方式Pに比べて優れていると評価した理由を二つ挙げ,それぞれ30字以内で答えよ。
解答・解説
解答例
・WebAPIからの応答データサイズが小さくなるため
・データ加工に要する処理時間が短くなるため
解説
ー
設問4 本文中の a , b に入れる適切な数値を答えよ。
解答・解説
解答例
a:200 b:550
解説
ー
設問5 本文中の下線③の拡張性とは何か。40字以内で答えよ。
解答・解説
解答例
CRMシステム以外の社内システムとも連携できるようにすること
解説
ー
IPA公開情報
出題趣旨
昨今,Web システムの構築において,PC だけでなくスマートフォンの Web ブラウザやアプリケーションプログラムなど,様々なユーザーインタフェースに対応することが定着しつつある。
本問では,CRM(Customer Relationship Management)システムの改修を題材として,フロントエンド専用のサーバの配置がレスポンスに与える効果に関する基本的な理解や評価について問う。
採点講評
問 4 では,CRM(Customer Relationship Management)システムの改修を題材に,フロントエンド専用のサーバの配置がレスポンスに与える効果について出題した。全体として正答率は平均的であった。
設問 2(2)は,正答率が低かった。応答データのデータ形式である JSON は,様々なデータ型やデータ構造を組み合わせて複雑なデータ集合を記述することができる。日誌一覧の表示画面と対比して,Web API からの応答データが何を表現するものかを正しく理解し,注意深く解答してほしい。
設問 3 は,正答率がやや低かった。Web アプリケーションプラグラムにおいて,レスポンス時間に影響を及ぼす要因として,ネットワーク上のデータ転送処理や Web ブラウザ内での CPU 処理などがある。それらの処理に要する時間が改善した理由について,もう一歩踏み込んで考えてほしい。