マッシュアップ|情報処理安全確保支援士 平成31年 春期午前Ⅱ試験 問23

出典:平成31年春期 午前Ⅱ 問23 分野:ソフトウェア開発管理技術 / 開発プロセス・ 手法
マッシュアップに該当するものはどれか。
  • ア:既存のプログラムから,そのプログラムの仕様を導き出す。
  • イ:既存のプログラムを部品化し,それらの部品を組み合わせて,新規プログラムを開発する。
  • ウ:クラスライブラリを利用して,新規プログラムを開発する。
  • エ:公開されている複数のサービスを利用して,新たなサービスを提供する。
解説

マッシュアップとは、Web APIなどを通じて公開されている複数のサービスやデータを組み合わせ、新たなWebサービスを提供する手法です。

例えば、地図サービスと店舗情報サービスを組み合わせ、地図上に店舗の所在地や営業時間を表示するサービスなどが該当します。既存サービスを連携させて、新しい価値を生み出す点が特徴です。

したがって、が適切です。

❌他選択肢が誤りの理由
ア:既存のプログラムから,そのプログラムの仕様を導き出す。
⇒リバースエンジニアリングの説明です。既存のプログラムを解析し、設計や仕様、動作原理などを明らかにする手法であり、公開サービスを組み合わせるマッシュアップとは異なります。
イ:既存のプログラムを部品化し,それらの部品を組み合わせて,新規プログラムを開発する。
⇒ソフトウェア再利用やコンポーネント指向開発に関する説明です。既存プログラムの部品を再利用して開発するものであり、ネットワーク経由で公開された複数のサービスを連携させるマッシュアップとは異なります。
ウ:クラスライブラリを利用して,新規プログラムを開発する。
⇒ライブラリを再利用したソフトウェア開発の説明です。クラスライブラリはプログラム内部から利用する部品であり、公開されている複数のWebサービスを組み合わせるマッシュアップとは異なります。
TSUNAGARU-ADVICE

まず押さえたいこと

マッシュアップは、公開されている複数のWebサービスやAPIを組み合わせて、新たなサービスやコンテンツを提供することです。例えば、店舗情報サービスと地図サービスを組み合わせて店舗案内ページを作るように、外部サービスの機能やデータを組み合わせる点が特徴です。

迷ったときの判断軸

既存プログラムから仕様を導き出すものはリバースエンジニアリング、既存プログラムを部品化して組み合わせるものはコンポーネントベース開発、クラスライブラリを使うものはライブラリ利用による開発です。マッシュアップは、公開サービスを組み合わせて新しいサービスを作るものと判断しましょう。

科目Bにつなげるために

科目Bでは、外部API・認証情報・アクセス制御・利用規約・APIキーの管理・外部サービス障害時の影響などと絡めて問われることがあります。マッシュアップでは、便利に連携できる一方で、連携先サービスへの依存や認証情報の保護を意識して設計する視点を持ちましょう。