ロジックマッシュアップの見分け方を3類型で整理する
基本情報技術者試験 令和6年度 問5 / ソフトウェア開発管理技術 › 開発プロセス・手法
過去問にチャレンジ
複数のWeb サービスの入出力処理を連結させて新たなサービスを提供する,“ロジックマッシュアップ”の例はどれか。
- ア
利用者が選択した飲食店情報のページを表示する際に,他のWebサービスが提供する地図コンテンツをアクセスマップとして表示する。
- イ
利用者が選択した投資商品の情報を表示する際に,関連する経済指標のデータを複数のWebサービスから取得し,グラフに加工して表示する。
- ウ
利用者が入力した予算の範囲で宿泊可能な施設のリストを他のWebサービスから取得し,それらの宿泊施設の空室状況を別のWebサービスから取得して表示する。
- エ
利用者がマウスのドラッグで地図を操作した際に,Webページ全体ではなく一部を読み直すことによって地図をスクロールして表示する。
会話形式の解説
講師今回はマッシュアップの問題です。マッシュアップは、複数のWebサービスやWeb API(外部から機能を呼び出すための窓口)を組み合わせて、新しいサービスを作る手法です。プレゼンテーション、データ、ロジックの3つの類型があり、そのうちロジックマッシュアップを見分けられるかが問われています。
受験者問題文に「複数のWebサービス」とあるので、複数のサービスからデータを取ってグラフにする投資商品の例が当てはまりそうだと思いました。
講師そこが引っかけになりやすいところです。ロジックマッシュアップは、前段のサービスの出力を後段のサービスの入力に使って、処理をつなぐ類型です。投資商品の例では各サービスからデータを集めていますが、あるサービスの結果を使って別のサービスに問い合わせてはいません。
受験者集めたデータを並べて加工しているだけ、ということですか。
講師そのとおりです。複数のサービスから得たデータを統合・加工して表示するものは、データマッシュアップに当たります。では、出力が次の入力につながっている選択肢はどれでしょうか。
受験者宿泊施設の例だと、予算の範囲で施設のリストを取得して、そのリストの施設について別のサービスに空室状況を問い合わせています。最初の結果が次の問合せに使われています。
講師はい。前段のサービスの出力である施設リストが、後段のサービスへの入力になっています。処理がつながっているので、これがロジックマッシュアップの例で、正解です。
受験者飲食店のページに地図を表示する例は、地図を取ってきているので、これもデータマッシュアップでしょうか。
講師あれは他サービスの地図コンテンツを、画面に組み込んで表示しているだけです。データを統合・加工しているわけでも、処理をつないでいるわけでもないので、プレゼンテーションマッシュアップに当たります。
受験者地図をドラッグしたときに一部だけ読み直す例は、どの類型になりますか。
講師それはAjaxという、ページ全体ではなく一部だけを非同期に更新する技術の説明です。複数のサービスを組み合わせる話ではないので、どの類型にも当たりません。「地図」という言葉につられないよう注意してください。
受験者整理すると、画面に表示するだけならプレゼンテーション、集めて加工するならデータ、出力を次の入力に使うならロジック、ということですね。
講師そのとおりです。「複数のWebサービス」という言葉があっても、ロジックとは限りません。あるサービスの結果を使って次のサービスに問い合わせているかどうかを確かめれば、迷わずに選べます。
まとめ
マッシュアップは、複数のWebサービスやWeb APIを組み合わせて新しいサービスを作る手法で、プレゼンテーション・データ・ロジックの3類型に分けられます。他サービスのコンテンツを画面に表示するだけならプレゼンテーション、複数サービスのデータを統合・加工するならデータマッシュアップです。前段のサービスの出力を後段のサービスの入力に使って処理をつなぐものがロジックマッシュアップで、宿泊施設のリストを使って空室状況を問い合わせる例がこれに当たります。ページの一部だけを非同期に更新するAjaxは、マッシュアップとは別の概念です。
解答・解説
正解はウです
この問題のテーマ
マッシュアップには3つの類型があります。この問題は、そのうち複数のWebサービスの処理をつなぐ「ロジックマッシュアップ」を見分けられるかを問うものです。
解き方の考え方
マッシュアップは、プレゼンテーション、データ、ロジックの3類型に分けて考えます。他サービスのコンテンツを画面に表示するだけならプレゼンテーション、複数サービスのデータを集めて加工するならデータ、あるサービスの出力を別のサービスの入力に使って処理をつなぐならロジックです。各選択肢について、あるサービスで得た結果が次のサービスへの問合せに使われているかを確かめれば、正解を選べます。
選択肢ごとの解説
- ×ア 利用者が選択した飲食店情報のページを表示する際に,他のWebサービスが提供する地図コンテンツをアクセスマップとして表示する。アの、飲食店ページに他サービスの地図をアクセスマップとして表示する例は、他サービスのコンテンツを画面に組み込んでいるだけです。サービス同士の処理はつながっていないので、プレゼンテーションマッシュアップに当たります。
- ×イ 利用者が選択した投資商品の情報を表示する際に,関連する経済指標のデータを複数のWebサービスから取得し,グラフに加工して表示する。イの、複数のサービスから経済指標を取得してグラフにする例は、集めたデータを統合・加工して表示するものです。あるサービスの出力を別のサービスの入力に使ってはいないため、データマッシュアップに当たります。
- ○ウ 利用者が入力した予算の範囲で宿泊可能な施設のリストを他のWebサービスから取得し,それらの宿泊施設の空室状況を別のWebサービスから取得して表示する。ウでは、予算の範囲で検索した宿泊施設のリスト(前段のサービスの出力)を使って、別のサービスに空室状況を問い合わせています(後段のサービスへの入力)。サービス間で出力と入力がつながっているので、ロジックマッシュアップの例です。
- ×エ 利用者がマウスのドラッグで地図を操作した際に,Webページ全体ではなく一部を読み直すことによって地図をスクロールして表示する。エの、ページ全体ではなく一部だけを読み直して地図をスクロールする仕組みは、Ajaxによる非同期通信の説明です。複数のサービスを組み合わせる話ではないため、どのマッシュアップの類型にも当たりません。
補足
イのように「複数のWebサービス」という語があっても、データを並べて加工しているだけならロジックマッシュアップではありません。あるサービスの結果を使って次のサービスに問い合わせているかどうかで判断します。エのAjaxはページの一部だけを非同期に更新する技術で、複数のサービスを組み合わせるマッシュアップとは別の概念です。
POINT
- マッシュアップは、複数のWeb APIやサービスを組み合わせて新しいサービスを作る手法です。
- プレゼンテーションマッシュアップは、他サービスのコンテンツを画面に表示する類型です。
- データマッシュアップは、複数のサービスから得たデータを統合・加工して表示する類型です。
- ロジックマッシュアップは、前段のサービスの出力を後段のサービスの入力に使い、処理をつなぐ類型です。
