JP2014229076A - レスポンス集約装置、レスポンス集約方法及びレスポンス集約プログラム - Google Patents
レスポンス集約装置、レスポンス集約方法及びレスポンス集約プログラム Download PDFInfo
- Publication number
- JP2014229076A JP2014229076A JP2013108273A JP2013108273A JP2014229076A JP 2014229076 A JP2014229076 A JP 2014229076A JP 2013108273 A JP2013108273 A JP 2013108273A JP 2013108273 A JP2013108273 A JP 2013108273A JP 2014229076 A JP2014229076 A JP 2014229076A
- Authority
- JP
- Japan
- Prior art keywords
- response
- item
- unit
- web services
- item value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
【課題】複数のウェブサービスから取得した情報を集約するに当たり、プログラムの開発コストとプログラムの改修コストとを安くするとともに、システムダウン期間を短くすることを目的とする。【解決手段】レスポンス集約装置1は、複数のウェブサービス4から受信したサンプルレスポンスに含まれる各項目の項目値のうち、サンプルレスポンス間で同一の値となる項目値を特定し、サンプルレスポンスが同一の対象に関するコンテンツを示す場合、特定した項目値の項目をマージキーとする。レスポンス集約装置1は、複数のウェブサービス4から送信された実レスポンスをマージキーとした項目をキーとして集約する。【選択図】図1
Description
この発明は、複数のウェブサービスから取得した情報を集約する技術に関する。
ぐるなび(登録商標)、ホットペッパー(登録商標)、食べログ(登録商標)といったウェブサービスが普及し、コンシューマ向けのアプリケーションプログラム(以下、アプリ)等から、これらのウェブサービスが活用されている。ここで、複数のウェブサービスを相互に利用することで、あるウェブサービスによって保持していない情報を他のウェブサービスによって補完すること等が可能であり、より信頼性の高い情報を提供できるようになる。
複数のウェブサービスから取得した情報を集約するプログラムを作成するにあたっては、次の(1)〜(3)の点を想定する必要がある。
(1)ウェブサービスから取得できる情報の形式は、それぞれのウェブサービスで異なる。(2)使用するウェブサービスを第三者が運営している場合、突然I/F(インターフェース)が変わることがある。(3)有益な情報を提供する新たなサービスが出現することがある。
これらのことから、複数のウェブサービスから取得した情報を集約するためには、ウェブサービス毎の情報の形式を意識してプログラムを開発する必要があり、プログラムの開発コストが大きくなる。また、I/F変更が発生する度に集約するためのプログラムの改修が必要となり、プログラムの改修コストが大きくなり、システムダウン期間が長くなる。そのため、利用者に影響を与えずに、ウェブサービスを簡易に追加変更できる仕組みが必要である。
(1)ウェブサービスから取得できる情報の形式は、それぞれのウェブサービスで異なる。(2)使用するウェブサービスを第三者が運営している場合、突然I/F(インターフェース)が変わることがある。(3)有益な情報を提供する新たなサービスが出現することがある。
これらのことから、複数のウェブサービスから取得した情報を集約するためには、ウェブサービス毎の情報の形式を意識してプログラムを開発する必要があり、プログラムの開発コストが大きくなる。また、I/F変更が発生する度に集約するためのプログラムの改修が必要となり、プログラムの改修コストが大きくなり、システムダウン期間が長くなる。そのため、利用者に影響を与えずに、ウェブサービスを簡易に追加変更できる仕組みが必要である。
特許文献1には、ネットワーク装置におけるデータ形式の標準化について記載されている。
ネットワーク装置は、内部の情報をXML(Extensible Markup Language)形式で保持している。保持している内部の情報はウェブサービスとして外部から取得できるようになっている。ネットワーク装置の管理者は各ネットワーク装置の情報を横並びで見たいことがあるが、ネットワーク装置毎のウェブサービスで得られる内部の情報を表すXML形式は異なるため、データ形式を標準化して取得する必要がある。
この課題に対し、特許文献では、XSLT(XML Stylesheet Language Transformations)ファイルを用いて、ネットワーク装置の情報を標準的なXML形式に変換して取得することが記載されている。
ネットワーク装置は、内部の情報をXML(Extensible Markup Language)形式で保持している。保持している内部の情報はウェブサービスとして外部から取得できるようになっている。ネットワーク装置の管理者は各ネットワーク装置の情報を横並びで見たいことがあるが、ネットワーク装置毎のウェブサービスで得られる内部の情報を表すXML形式は異なるため、データ形式を標準化して取得する必要がある。
この課題に対し、特許文献では、XSLT(XML Stylesheet Language Transformations)ファイルを用いて、ネットワーク装置の情報を標準的なXML形式に変換して取得することが記載されている。
しかし、特許文献1では、ネットワーク装置の情報を標準的なXML形式に変換するためのXSLTファイルを自動で生成することについては言及されていない。特許文献1では、ネットワーク装置毎のXSLTファイルは手動で生成される。また、特許文献1では、ネットワーク装置の内部情報であるXML形式のI/F変更が発生した際は、XML形式の仕様変更後の内部構造を理解して、XSLTファイルを再度手動で生成する必要がある。
そのため、特許文献1に記載された技術を利用したとしても、ウェブサービス毎の情報の形式を意識してプログラムを開発する必要があり、プログラムの開発コストが大きい。また、I/F変更が発生する度に集約するためのプログラムの改修が必要となり、プログラムの改修コストが大きく、システムダウン期間が長い。
この発明は、複数のウェブサービスから取得した情報を集約するに当たり、プログラムの開発コストとプログラムの改修コストとを安くするとともに、システムダウン期間を短くすることを目的とする。
そのため、特許文献1に記載された技術を利用したとしても、ウェブサービス毎の情報の形式を意識してプログラムを開発する必要があり、プログラムの開発コストが大きい。また、I/F変更が発生する度に集約するためのプログラムの改修が必要となり、プログラムの改修コストが大きく、システムダウン期間が長い。
この発明は、複数のウェブサービスから取得した情報を集約するに当たり、プログラムの開発コストとプログラムの改修コストとを安くするとともに、システムダウン期間を短くすることを目的とする。
この発明に係るレスポンス集約装置は、
複数のウェブサービスから受信したサンプルレスポンスを入力するレスポンス入力部と、
前記レスポンス入力部が入力したサンプルレスポンスに含まれる各項目の項目値を取得する項目値取得部と、
前記項目値取得部が取得した項目値のうち、前記複数のウェブサービスから受信したサンプルレスポンス間で同一の値となる項目値を特定する同一項目値特定部と、
前記複数のウェブサービスから受信したサンプルレスポンスが同一の対象に関するコンテンツを示す場合、前記同一項目値特定部が特定した項目値の項目をマージキー候補リストに登録するリスト作成部と、
利用者端末から送信されたリクエストに対して前記複数のウェブサービスから送信された実レスポンスを受信するレスポンス受信部と、
前記リスト作成部が作成したマージキー候補リストに登録された項目をキーとして、前記レスポンス受信部が前記複数のウェブサービスから受信した実レスポンスを集約するレスポンス集約部と、
前記レスポンス集約部が集約した実レスポンスを前記利用者端末へ送信するレスポンス送信部と
を備えることを特徴とする。
複数のウェブサービスから受信したサンプルレスポンスを入力するレスポンス入力部と、
前記レスポンス入力部が入力したサンプルレスポンスに含まれる各項目の項目値を取得する項目値取得部と、
前記項目値取得部が取得した項目値のうち、前記複数のウェブサービスから受信したサンプルレスポンス間で同一の値となる項目値を特定する同一項目値特定部と、
前記複数のウェブサービスから受信したサンプルレスポンスが同一の対象に関するコンテンツを示す場合、前記同一項目値特定部が特定した項目値の項目をマージキー候補リストに登録するリスト作成部と、
利用者端末から送信されたリクエストに対して前記複数のウェブサービスから送信された実レスポンスを受信するレスポンス受信部と、
前記リスト作成部が作成したマージキー候補リストに登録された項目をキーとして、前記レスポンス受信部が前記複数のウェブサービスから受信した実レスポンスを集約するレスポンス集約部と、
前記レスポンス集約部が集約した実レスポンスを前記利用者端末へ送信するレスポンス送信部と
を備えることを特徴とする。
この発明に係るレスポンス集約装置では、サンプルレスポンスからマージキーを抽出し、抽出したマージキーに基づき各ウェブサービスから受信した実レスポンスを集約する。これにより、ウェブサービス毎の情報の形式を意識することなく、自動的にマージキーを抽出できるため、プログラムの開発コストとプログラムの改修コストとを安くできるとともに、システムダウン期間を短くすることができる。
実施の形態1.
図1は、実施の形態1に係るレスポンス集約装置1の構成図である。
レスポンス集約装置1は、アプリケーション2を介して複数の利用者3(携帯電話等の利用者端末)と接続されるとともに、複数のウェブサービス4と接続されている。レスポンス集約装置1は、利用者側送受信部10(レスポンス送信部)、リクエスト変換部20、ウェブサービス側送受信部30(レスポンス受信部)、レスポンス変換部40を備える。
レスポンス変換部40は、マージキー抽出部41、項目管理部42、変換定義部43、レスポンス集約部44、データ抽出部45を備える。
図1は、実施の形態1に係るレスポンス集約装置1の構成図である。
レスポンス集約装置1は、アプリケーション2を介して複数の利用者3(携帯電話等の利用者端末)と接続されるとともに、複数のウェブサービス4と接続されている。レスポンス集約装置1は、利用者側送受信部10(レスポンス送信部)、リクエスト変換部20、ウェブサービス側送受信部30(レスポンス受信部)、レスポンス変換部40を備える。
レスポンス変換部40は、マージキー抽出部41、項目管理部42、変換定義部43、レスポンス集約部44、データ抽出部45を備える。
レスポンス集約装置1の処理は、事前準備処理と、レスポンス集約処理との2つに分けられる。
図2は、実施の形態1に係る事前準備処理を示すフローチャートである。
マージキー抽出部41は、管理者等が事前に取得した複数のレスポンスであって、レスポンス集約装置1によって集約したい各ウェブサービス4から取得したレスポンス(以下、サンプルレスポンス)を入力する(S11)。マージキー抽出部41は、入力されたサンプルレスポンスから各ウェブサービスを集約するためのマージキーとする項目を抽出する(S12)。項目管理部42は、マージキーとなるマージキー項目と、マージキーとならない非マージキー項目とを管理する(S13)。
変換定義部43は、レスポンスに含まれる各項目について、マージキー項目か非マージキー項目かに応じて、標準形式へ変換するための変換定義を生成する(S14)。標準形式へ変換するための変換定義としては、XSLTファイル等が考えられる。
マージキー抽出部41は、管理者等が事前に取得した複数のレスポンスであって、レスポンス集約装置1によって集約したい各ウェブサービス4から取得したレスポンス(以下、サンプルレスポンス)を入力する(S11)。マージキー抽出部41は、入力されたサンプルレスポンスから各ウェブサービスを集約するためのマージキーとする項目を抽出する(S12)。項目管理部42は、マージキーとなるマージキー項目と、マージキーとならない非マージキー項目とを管理する(S13)。
変換定義部43は、レスポンスに含まれる各項目について、マージキー項目か非マージキー項目かに応じて、標準形式へ変換するための変換定義を生成する(S14)。標準形式へ変換するための変換定義としては、XSLTファイル等が考えられる。
図3は、実施の形態1に係るレスポンス集約処理を示すフローチャートである。
利用者側送受信部10は、アプリケーション2から利用者3が送信したリクエストを受信する(S21)。リクエスト変換部20は、利用者側送受信部10が受信したリクエストを変換して、ウェブサービス4毎のリクエストを生成する(S22)。ウェブサービス側送受信部30は、リクエスト変換部20が生成した各リクエストを対応するウェブサービス4へ送信する(S23)。
ウェブサービス側送受信部30は、送信したリクエストに対するレスポンス(以下、実レスポンス)を各ウェブサービス4から受信する(S24)。レスポンス集約部44は、ウェブサービス側送受信部30が各ウェブサービス4から受信した実レスポンスを、事前準備処理で生成された変換定義に従い標準形式に変換することにより集約する(S25)。データ抽出部45は、集約された実レスポンスから必要な情報を抽出する(S26)。そして、利用者側送受信部10は、データ抽出部45が抽出した情報をアプリケーション2を介して利用者3へ送信する(S27)。
利用者側送受信部10は、アプリケーション2から利用者3が送信したリクエストを受信する(S21)。リクエスト変換部20は、利用者側送受信部10が受信したリクエストを変換して、ウェブサービス4毎のリクエストを生成する(S22)。ウェブサービス側送受信部30は、リクエスト変換部20が生成した各リクエストを対応するウェブサービス4へ送信する(S23)。
ウェブサービス側送受信部30は、送信したリクエストに対するレスポンス(以下、実レスポンス)を各ウェブサービス4から受信する(S24)。レスポンス集約部44は、ウェブサービス側送受信部30が各ウェブサービス4から受信した実レスポンスを、事前準備処理で生成された変換定義に従い標準形式に変換することにより集約する(S25)。データ抽出部45は、集約された実レスポンスから必要な情報を抽出する(S26)。そして、利用者側送受信部10は、データ抽出部45が抽出した情報をアプリケーション2を介して利用者3へ送信する(S27)。
図4は、実施の形態1に係るマージキー抽出部41の構成図である。
マージキー抽出部41は、レスポンス入力部411、項目値取得部412、同一項目値特定部413、リスト作成部414、リスト記憶部415を備える。
マージキー抽出部41は、レスポンス入力部411、項目値取得部412、同一項目値特定部413、リスト作成部414、リスト記憶部415を備える。
図5は、実施の形態1に係るリスト記憶部415が記憶するマージキー候補リストを示す図である。
マージキー候補リストは、候補項目名が含まれる。候補項目名は、各ウェブサービス4の実レスポンスを集約する際のマージキーの候補となる項目の名称である。
マージキー候補リストは、候補項目名が含まれる。候補項目名は、各ウェブサービス4の実レスポンスを集約する際のマージキーの候補となる項目の名称である。
図6は、実施の形態1に係るマージキー抽出部41の処理を示すフローチャートである。
なお、管理者等は、事前に、レスポンス集約装置1によって集約したい各ウェブサービス4へリクエストを送信して、各ウェブサービス4から複数の対象に対するサンプルレスポンスを取得しておく。ここで、対象とは、例えば、ぐるなび(登録商標)等であれば、飲食店のことである。同一の対象とは同一の飲食店を意味し、異なる対象とは異なる飲食店を意味する。
以下の説明では、2つのウェブサービス4から得られた同一の対象に対する2つのサンプルレスポンスの組を正解ペアと呼び、2つのウェブサービス4から得られた異なる対象に対する2つのサンプルレスポンスの組を不正解ペア1と呼び、1つのウェブサービス4から得られた異なる2つの対象に対する2つのサンプルレスポンスの組を不正解ペア2と呼ぶ。
マージキー抽出部41は、図6に示す処理を、複数の正解ペア、複数の不正解ペア1、複数の不正解ペア2について実行する。
なお、管理者等は、事前に、レスポンス集約装置1によって集約したい各ウェブサービス4へリクエストを送信して、各ウェブサービス4から複数の対象に対するサンプルレスポンスを取得しておく。ここで、対象とは、例えば、ぐるなび(登録商標)等であれば、飲食店のことである。同一の対象とは同一の飲食店を意味し、異なる対象とは異なる飲食店を意味する。
以下の説明では、2つのウェブサービス4から得られた同一の対象に対する2つのサンプルレスポンスの組を正解ペアと呼び、2つのウェブサービス4から得られた異なる対象に対する2つのサンプルレスポンスの組を不正解ペア1と呼び、1つのウェブサービス4から得られた異なる2つの対象に対する2つのサンプルレスポンスの組を不正解ペア2と呼ぶ。
マージキー抽出部41は、図6に示す処理を、複数の正解ペア、複数の不正解ペア1、複数の不正解ペア2について実行する。
まず、レスポンス入力部411は、管理者等の指定に従い、正解ペア又は不正解ペア1又は不正解ペア2に含まれる2つのサンプルレスポンスを入力する(S101)。
次に、項目値取得部412は、変数iを0に初期化し、(S102)、一方のサンプルレスポンスであるレスポンス1のi番目の項目の項目値を取得する(S103)。続いて、項目値取得部412は、変数jを0に初期化し、(S104)、他方のサンプルレスポンスであるレスポンス2のj番目の項目の項目値を取得する(S105)。
なお、例えば、サンプルレスポンスがXMLで記載されている場合には、項目とはXMLのタグのことであり、項目値とはXMLのタグの値のことである。例えば、XMLのタグが飲食店の名称を定義したタグであれば、項目値は飲食店の名称になる。
次に、項目値取得部412は、変数iを0に初期化し、(S102)、一方のサンプルレスポンスであるレスポンス1のi番目の項目の項目値を取得する(S103)。続いて、項目値取得部412は、変数jを0に初期化し、(S104)、他方のサンプルレスポンスであるレスポンス2のj番目の項目の項目値を取得する(S105)。
なお、例えば、サンプルレスポンスがXMLで記載されている場合には、項目とはXMLのタグのことであり、項目値とはXMLのタグの値のことである。例えば、XMLのタグが飲食店の名称を定義したタグであれば、項目値は飲食店の名称になる。
次に、同一項目値特定部413は、S103で取得された項目値と、S105で取得された項目値とが同一であるか否かを判定する(S106)。
リスト作成部414は、S106で項目値が同一であると判定された場合、S101で入力されたのが正解ペアであるか否かを判定する(S107)。リスト作成部414は、S101で入力されたのが正解ペアであると判定した場合には、マージキー候補リストに、その項目の項目名を登録する(S108)。一方、リスト作成部414は、S101で入力されたのが不正解ペア1又は不正解ペア2であると判定した場合には、マージキー候補リストから、その項目の項目名を除外する(S109)。
なお、例えば、サンプルレスポンスがXMLで記載されている場合には、項目の項目名とはXMLのタグの名称のことである。
リスト作成部414は、S106で項目値が同一であると判定された場合、S101で入力されたのが正解ペアであるか否かを判定する(S107)。リスト作成部414は、S101で入力されたのが正解ペアであると判定した場合には、マージキー候補リストに、その項目の項目名を登録する(S108)。一方、リスト作成部414は、S101で入力されたのが不正解ペア1又は不正解ペア2であると判定した場合には、マージキー候補リストから、その項目の項目名を除外する(S109)。
なお、例えば、サンプルレスポンスがXMLで記載されている場合には、項目の項目名とはXMLのタグの名称のことである。
次に、項目値取得部412は、変数jをインクリメントして(S110)、変数jがレスポンス2の項目数未満であれば、処理をS105に処理を戻す(S111)。続いて、項目値取得部412は、変数iをインクリメントして(S112)、変数iがレスポンス1の項目数未満であれば、処理をS103に処理を戻す(S113)。
図7は、実施の形態1に係る項目管理部42の構成図である。
項目管理部42は、項目登録部421、履歴登録部422、別名定義記憶部423、履歴記憶部424を備える。
項目管理部42は、項目登録部421、履歴登録部422、別名定義記憶部423、履歴記憶部424を備える。
図8は、実施の形態1に係る別名定義記憶部423が記憶する別名定義表を示す図である。
別名定義表には、ウェブサービス名、項目名、取得名、キー情報が含まれる。ウェブサービス名は、ウェブサービス4を識別するための名称である。項目名は、リクエストに含まれる項目の名称である。取得名は、ウェブサービス4及び項目毎に割り当てられた別名である。キー情報は、その項目がマージキーであるか否かを示す情報である。
別名定義表には、ウェブサービス名、項目名、取得名、キー情報が含まれる。ウェブサービス名は、ウェブサービス4を識別するための名称である。項目名は、リクエストに含まれる項目の名称である。取得名は、ウェブサービス4及び項目毎に割り当てられた別名である。キー情報は、その項目がマージキーであるか否かを示す情報である。
図9は、実施の形態1に係る履歴記憶部424が記憶する履歴表を示す図である。
履歴表には、取得名、旧項目名、更新日時が含まれる。取得名は、上述した通りである。旧項目名は、更新前の項目名である。更新日時は、項目名が更新された日時である。
履歴表には、取得名、旧項目名、更新日時が含まれる。取得名は、上述した通りである。旧項目名は、更新前の項目名である。更新日時は、項目名が更新された日時である。
図10は、実施の形態1に係る項目管理部42の処理を示すフローチャートである。
項目登録部421は、図6のS103及びS105で項目値が取得された項目の項目名を別名定義表に登録する(S201)。この際、項目登録部421は、どのウェブサービス4から取得した項目であるか分かるように、項目名とともにウェブサービス名も登録する。
項目登録部421は、図6のS103及びS105で項目値が取得された項目の項目名を別名定義表に登録する(S201)。この際、項目登録部421は、どのウェブサービス4から取得した項目であるか分かるように、項目名とともにウェブサービス名も登録する。
次に、履歴登録部422は、前回取得したときと、項目名が更新されているか否かを判定する(S202)。例えば、履歴登録部422は、項目の位置や項目値によって、取得した項目と、前回取得した項目との対応関係を特定し、対応する項目の項目名が異なれば更新されていると判定する。なお、項目の位置とは、店舗名の次に電話番号がきて、電話番号の次に住所がくるという項目の並び順である。
履歴登録部422は、更新されていると判定した場合、前回取得した項目の項目名を、その取得名とともに履歴表に登録し、別名定義表からこの項目のレコードを削除する(S203)。この際、履歴登録部422は、履歴表の更新日時に、登録した日時を登録する。
履歴登録部422は、更新されていると判定した場合、前回取得した項目の項目名を、その取得名とともに履歴表に登録し、別名定義表からこの項目のレコードを削除する(S203)。この際、履歴登録部422は、履歴表の更新日時に、登録した日時を登録する。
項目登録部421は、S201で項目名がマージキー候補リストに登録されている場合には、別名定義表のキー情報に、マージキーであることを示す1を登録し、マージキー候補リストに登録されていない場合には、マージキーでないことを示す0を登録する(S204)。
また、項目登録部421は、S201で登録した項目名に取得名を割り振り、登録する(S205)。なお、項目登録部421は、S202で更新されていると判定された場合、前回取得した項目の取得名を割り振る。つまり、項目名が更新された場合であっても、同じ項目には同じ取得名が割り振られる。
また、項目登録部421は、S201で登録した項目名に取得名を割り振り、登録する(S205)。なお、項目登録部421は、S202で更新されていると判定された場合、前回取得した項目の取得名を割り振る。つまり、項目名が更新された場合であっても、同じ項目には同じ取得名が割り振られる。
図11は、実施の形態1に係る変換定義部43の構成図である。
変換定義部43は、変換定義生成部431、テンプレート記憶部432を備える。
変換定義部43は、変換定義生成部431、テンプレート記憶部432を備える。
図12は、実施の形態1に係るテンプレート記憶部432が記憶するテンプレートを示す図である。
テンプレートは、例えば、XSLTファイルの雛型であり、項目値等を入力することにより、XSLTファイルを作成することができる。
テンプレートには、マージキー用変換テンプレートと、非マージキー用変換テンプレートとがある。マージキー用変換テンプレートは、マージキーとなる項目のXSLTファイルを生成するためのテンプレートであり、非マージキー用変換テンプレートは、マージキーとならない項目のXSLTファイルを生成するためのテンプレートである。
テンプレートは、例えば、XSLTファイルの雛型であり、項目値等を入力することにより、XSLTファイルを作成することができる。
テンプレートには、マージキー用変換テンプレートと、非マージキー用変換テンプレートとがある。マージキー用変換テンプレートは、マージキーとなる項目のXSLTファイルを生成するためのテンプレートであり、非マージキー用変換テンプレートは、マージキーとならない項目のXSLTファイルを生成するためのテンプレートである。
図13は、実施の形態1に係る変換定義部43の処理を示すフローチャートである。
変換定義生成部431は、変数iを0に初期化し(S301)、別名定義記憶部423が記憶する別名定義表から、i番目の項目を取得する(S302)。
変換定義生成部431は、別名定義表のキー情報に基づき、取得した項目がマージキーであるか否かを判定する(S303)。変換定義生成部431は、マージキーであると判定した場合には、マージキー用変換テンプレートを用いて、取得した項目用の変換定義を生成する(S304)。一方、変換定義生成部431は、マージキーでないと判定した場合には、非マージキー用変換テンプレートを用いて、取得した項目用の変換定義を生成する(S305)。
変換定義生成部431は、変数iをインクリメントして(S306)、変数iが別名定義表の項目数未満であれば、処理をS302に処理を戻す(S307)。
変換定義生成部431は、変数iを0に初期化し(S301)、別名定義記憶部423が記憶する別名定義表から、i番目の項目を取得する(S302)。
変換定義生成部431は、別名定義表のキー情報に基づき、取得した項目がマージキーであるか否かを判定する(S303)。変換定義生成部431は、マージキーであると判定した場合には、マージキー用変換テンプレートを用いて、取得した項目用の変換定義を生成する(S304)。一方、変換定義生成部431は、マージキーでないと判定した場合には、非マージキー用変換テンプレートを用いて、取得した項目用の変換定義を生成する(S305)。
変換定義生成部431は、変数iをインクリメントして(S306)、変数iが別名定義表の項目数未満であれば、処理をS302に処理を戻す(S307)。
図14は、実施の形態1に係る利用者側送受信部10の処理を示すフローチャートである。
利用者側送受信部10は、メッセージを受信すると、受信したメッセージが利用者から送信されたリクエストであるか、データ抽出部45から送信された実レスポンスであるかを判定する(S401)。
利用者側送受信部10は、リクエストであると判定した場合には、リクエストを解釈し(S402)、パラメータを取得してリクエスト変換部20へ送信する(S403)。
一方、利用者側送受信部10は、実レスポンスであると判定した場合には、実レスポンスを解釈し(S404)、利用者へ送信する最終的な実レスポンスに成形して、利用者へ送信する(S405)。
利用者側送受信部10は、メッセージを受信すると、受信したメッセージが利用者から送信されたリクエストであるか、データ抽出部45から送信された実レスポンスであるかを判定する(S401)。
利用者側送受信部10は、リクエストであると判定した場合には、リクエストを解釈し(S402)、パラメータを取得してリクエスト変換部20へ送信する(S403)。
一方、利用者側送受信部10は、実レスポンスであると判定した場合には、実レスポンスを解釈し(S404)、利用者へ送信する最終的な実レスポンスに成形して、利用者へ送信する(S405)。
図15は、実施の形態1に係るリクエスト変換部20の構成図である。
リクエスト変換部20は、変換情報記憶部21、変換処理部22を備える。
リクエスト変換部20は、変換情報記憶部21、変換処理部22を備える。
変換情報記憶部21は、リクエストを変換するために必要な変換情報を記憶する記憶装置である。
図16は、実施の形態1に係る変換情報記憶部21が記憶する変換情報を示す図である。
変換情報には、ウェブサービス名、リクエストURL、ウェブサービス利用キーが含まれる。ウェブサービス名は、リクエストの送信先となるウェブサービス4の識別情報である。リクエストURLは、リクエストの送信先のURL(Uniform Resource Locator)である。ウェブサービス利用キーは、ウェブサービス4を利用するための認証キーである。
図16は、実施の形態1に係る変換情報記憶部21が記憶する変換情報を示す図である。
変換情報には、ウェブサービス名、リクエストURL、ウェブサービス利用キーが含まれる。ウェブサービス名は、リクエストの送信先となるウェブサービス4の識別情報である。リクエストURLは、リクエストの送信先のURL(Uniform Resource Locator)である。ウェブサービス利用キーは、ウェブサービス4を利用するための認証キーである。
図17は、実施の形態1に係るリクエスト変換部20の処理を示すフローチャートである。
変換処理部22は、利用者側送受信部10が送信したリクエストを受信する(S501)。すると、変換処理部22は、変換情報に含まれる各ウェブサービス4についてのリクエストURLとウェブサービス利用キーとを用いて、取得したリクエストをウェブサービス4毎のリクエストに変換する(S502)。
変換処理部22は、利用者側送受信部10が送信したリクエストを受信する(S501)。すると、変換処理部22は、変換情報に含まれる各ウェブサービス4についてのリクエストURLとウェブサービス利用キーとを用いて、取得したリクエストをウェブサービス4毎のリクエストに変換する(S502)。
なお、ウェブサービス4によっては、認証キーが利用者毎に定められている。この場合には、変換情報記憶部21は、ウェブサービス名及び利用者毎に、認証キーを記憶する。そして、変換処理部22は、S502でリクエストの送信元の利用者についての認証キーを用いて、取得したリクエストをウェブサービス4毎のリクエストに変換する。
図18は、実施の形態1に係るウェブサービス側送受信部30の処理を示すフローチャートである。
ウェブサービス側送受信部30は、メッセージを受信すると、受信したメッセージがリクエスト変換部20から送信されたリクエストであるか、ウェブサービス4から送信された実レスポンスであるかを判定する(S601)。
ウェブサービス側送受信部30は、リクエストであると判定した場合には、リクエストを対応するウェブサービス4へ送信する(S602)。
一方、ウェブサービス側送受信部30は、実レスポンスであると判定した場合には、実レスポンスをレスポンス集約部44へ送信する(S603)。
ウェブサービス側送受信部30は、メッセージを受信すると、受信したメッセージがリクエスト変換部20から送信されたリクエストであるか、ウェブサービス4から送信された実レスポンスであるかを判定する(S601)。
ウェブサービス側送受信部30は、リクエストであると判定した場合には、リクエストを対応するウェブサービス4へ送信する(S602)。
一方、ウェブサービス側送受信部30は、実レスポンスであると判定した場合には、実レスポンスをレスポンス集約部44へ送信する(S603)。
図19は、実施の形態1に係るレスポンス集約部44の処理を示すフローチャートである。
レスポンス集約部44は、ウェブサービス側送受信部30が送信した各ウェブサービス4から送信された実レスポンスを受信する(S701)。
すると、レスポンス集約部44は、変数i,jを0に初期化し(S702)、受信したi番目の実レスポンスからj番目の項目を取得する(S703)。そして、レスポンス集約部44は、取得した項目に対応する変換定義を用いて、取得した項目を標準形式に変換する(S704)。
レスポンス集約部44は、変数jをインクリメントして(S705)、変数jがi番目の実レスポンスの項目数未満であれば、処理をS703に戻す(S706)。続いて、変数iをインクリメントして(S707)、変数iがウェブサービス4の数未満である場合には、処理をS703に戻す(S708)。
そして、各項目を標準形式に変換した実レスポンスをデータ抽出部45へ送信する(S709)。
レスポンス集約部44は、ウェブサービス側送受信部30が送信した各ウェブサービス4から送信された実レスポンスを受信する(S701)。
すると、レスポンス集約部44は、変数i,jを0に初期化し(S702)、受信したi番目の実レスポンスからj番目の項目を取得する(S703)。そして、レスポンス集約部44は、取得した項目に対応する変換定義を用いて、取得した項目を標準形式に変換する(S704)。
レスポンス集約部44は、変数jをインクリメントして(S705)、変数jがi番目の実レスポンスの項目数未満であれば、処理をS703に戻す(S706)。続いて、変数iをインクリメントして(S707)、変数iがウェブサービス4の数未満である場合には、処理をS703に戻す(S708)。
そして、各項目を標準形式に変換した実レスポンスをデータ抽出部45へ送信する(S709)。
図20は、実施の形態1に係るデータ抽出部45の構成図である。
データ抽出部45は、抽出処理部451、抽出情報記憶部452を備える。
データ抽出部45は、抽出処理部451、抽出情報記憶部452を備える。
図21は、実施の形態1に係る抽出情報記憶部452が記憶する抽出表を示す図である。
抽出表には、抽出名が含まれる。抽出名は、抽出すべき項目を取得名で示したものである。
抽出表には、抽出名が含まれる。抽出名は、抽出すべき項目を取得名で示したものである。
図22は、実施の形態1に係るデータ抽出部45の処理を示すフローチャートである。
抽出処理部451は、レスポンス集約部44から、標準形式に変換された実レスポンスを受信する(S801)。抽出処理部451は、受信した実レスポンスから、抽出表に含まれる抽出名で指定された項目の情報を抽出する(S802)。抽出処理部451は、抽出した項目の情報を利用者側送受信部10へ送信する(S803)。
抽出処理部451は、レスポンス集約部44から、標準形式に変換された実レスポンスを受信する(S801)。抽出処理部451は、受信した実レスポンスから、抽出表に含まれる抽出名で指定された項目の情報を抽出する(S802)。抽出処理部451は、抽出した項目の情報を利用者側送受信部10へ送信する(S803)。
以上のように、実施の形態1に係るレスポンス集約装置1では、マージキー抽出部41に複数の正解ペア、不正解ペア1、不正解ペア2を与えることにより、ウェブサービス4からのレスポンスを集約するために用いるマージキーを絞り込み、抽出することが可能である。
そのため、各ウェブサービス4から得られるレスポンスの構造を理解して、人手でマージキーを抽出することなく、マージキーを抽出することができる。したがって、プログラム開発の手間が減り、プログラムの開発コストを安くすることができる。
また、ウェブサービス4のI/Fが変更された場合にも、人手で新たなマージキーを抽出することなく、新たなマージキーを抽出することが可能である。したがって、ウェブサービス4のI/Fが変更された場合におけるプログラム改修の手間が減り、プログラムの改修コストを安くできるとともに、システムダウン期間を短くすることができる。
そのため、各ウェブサービス4から得られるレスポンスの構造を理解して、人手でマージキーを抽出することなく、マージキーを抽出することができる。したがって、プログラム開発の手間が減り、プログラムの開発コストを安くすることができる。
また、ウェブサービス4のI/Fが変更された場合にも、人手で新たなマージキーを抽出することなく、新たなマージキーを抽出することが可能である。したがって、ウェブサービス4のI/Fが変更された場合におけるプログラム改修の手間が減り、プログラムの改修コストを安くできるとともに、システムダウン期間を短くすることができる。
また、実施の形態1に係るレスポンス集約装置1では、データ抽出部45は、各実レスポンスで用いられる項目名ではなく、別途割り振った取得名(抽出名)を用いて、情報を抽出する。そのため、ウェブサービス4で実レスポンスの形式を変更した場合であっても、単なる項目名の変更等であればプログラムを改修する必要がない。したがって、プログラム改修の手間が減り、プログラムの改修コストを安くできるとともに、システムダウン期間を短くすることができる。
また、実施の形態1に係るレスポンス集約装置1では、変換定義生成部431は、テンプレートに従い、標準形式へ変換するための変換定義を生成する。そのため、項目毎に変換定義を手動で生成する必要がなく、プログラムの開発コストやプログラム改修コストを安くできるとともに、システムダウン期間を短くすることができる。
なお、上記説明では、利用者とレスポンス集約装置1とを仲介するアプリケーション2は1つであった。しかし、図23に示すように、アプリケーション2が複数存在する場合であっても、同様の効果を得ることができる。
図24は、実施の形態1に示したレスポンス集約装置1のハードウェア構成の例を示す図である。
レスポンス集約装置1はコンピュータであり、レスポンス集約装置1の各要素をプログラムで実現することができる。
レスポンス集約装置1のハードウェア構成としては、バスに、演算装置901、外部記憶装置902、主記憶装置903、通信装置904、入出力装置905が接続されている。
レスポンス集約装置1はコンピュータであり、レスポンス集約装置1の各要素をプログラムで実現することができる。
レスポンス集約装置1のハードウェア構成としては、バスに、演算装置901、外部記憶装置902、主記憶装置903、通信装置904、入出力装置905が接続されている。
演算装置901は、プログラムを実行するCPU(Central Processing Unit)等である。外部記憶装置902は、例えばROM(Read Only Memory)やフラッシュメモリ、ハードディスク装置等である。主記憶装置903は、RAM(Random Access Memory)等である。通信装置904は、ネットワークカード等である。入出力装置905は、例えばマウス、キーボード、ディスプレイ装置等である。
プログラムは、通常は外部記憶装置902に記憶されており、主記憶装置903にロードされた状態で、順次演算装置901に読み込まれ、実行される。
プログラムは、利用者側送受信部10、リクエスト変換部20、変換処理部22、ウェブサービス側送受信部30、レスポンス変換部40、マージキー抽出部41、レスポンス入力部411、項目値取得部412、同一項目値特定部413、リスト作成部414、項目管理部42、項目登録部421、履歴登録部422、変換定義部43、変換定義生成部431、レスポンス集約部44、データ抽出部45、抽出処理部451として説明している機能を実現するプログラムである。
更に、外部記憶装置902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置903にロードされ、演算装置901はOSを実行しながら、上記プログラムを実行する。
また、実施の形態1〜4の説明において、「〜の判定」、「〜の受信」、「〜の送信」、「〜の生成」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置903にファイルとして記憶されている。
プログラムは、利用者側送受信部10、リクエスト変換部20、変換処理部22、ウェブサービス側送受信部30、レスポンス変換部40、マージキー抽出部41、レスポンス入力部411、項目値取得部412、同一項目値特定部413、リスト作成部414、項目管理部42、項目登録部421、履歴登録部422、変換定義部43、変換定義生成部431、レスポンス集約部44、データ抽出部45、抽出処理部451として説明している機能を実現するプログラムである。
更に、外部記憶装置902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置903にロードされ、演算装置901はOSを実行しながら、上記プログラムを実行する。
また、実施の形態1〜4の説明において、「〜の判定」、「〜の受信」、「〜の送信」、「〜の生成」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置903にファイルとして記憶されている。
なお、図24の構成は、あくまでレスポンス集約装置1のハードウェア構成の一例を示すものであり、レスポンス集約装置1のハードウェア構成は図24に記載の構成に限らず、他の構成であってもよい。
1 レスポンス集約装置、2 アプリケーション、10 利用者側送受信部、20 リクエスト変換部、21 変換情報記憶部、22 変換処理部、30 ウェブサービス側送受信部、40 レスポンス変換部、41 マージキー抽出部、411 レスポンス入力部、412 項目値取得部、413 同一項目値特定部、414 リスト作成部、415 リスト記憶部、42 項目管理部、421 項目登録部、422 履歴登録部、423 別名定義記憶部、424 履歴記憶部、43 変換定義部、431 変換定義生成部、432 テンプレート記憶部、44 レスポンス集約部、45 データ抽出部、451 抽出処理部、452 抽出情報記憶部。
Claims (6)
- 複数のウェブサービスから受信したサンプルレスポンスを入力するレスポンス入力部と、
前記レスポンス入力部が入力したサンプルレスポンスに含まれる各項目の項目値を取得する項目値取得部と、
前記項目値取得部が取得した項目値のうち、前記複数のウェブサービスから受信したサンプルレスポンス間で同一の値となる項目値を特定する同一項目値特定部と、
前記複数のウェブサービスから受信したサンプルレスポンスが同一の対象に関するコンテンツを示す場合、前記同一項目値特定部が特定した項目値の項目をマージキー候補リストに登録するリスト作成部と、
利用者端末から送信されたリクエストに対して前記複数のウェブサービスから送信された実レスポンスを受信するレスポンス受信部と、
前記リスト作成部が作成したマージキー候補リストに登録された項目をキーとして、前記レスポンス受信部が前記複数のウェブサービスから受信した実レスポンスを集約するレスポンス集約部と、
前記レスポンス集約部が集約した実レスポンスを前記利用者端末へ送信するレスポンス送信部と
を備えることを特徴とするレスポンス集約装置。 - 前記リスト作成部は、前記複数のウェブサービスから受信したサンプルレスポンスが異なる対象に関するコンテンツを示す場合、前記同一項目値特定部が特定した項目値の項目をマージキー候補リストから除外する
ことを特徴とする請求項1に記載のレスポンス集約装置。 - 前記レスポンス集約装置は、さらに、
前記実レスポンスの形式を変換するための変換定義を生成するためのテンプレートとして、マージキー用変換テンプレートと非マージキー用変換テンプレートとを記憶するテンプレート記憶部と、
前記各項目について、前記マージキー候補リストに登録された項目の場合には、前記テンプレート記憶部が記憶したマージキー用変換テンプレートを用いて、その項目についての変換定義を生成し、前記マージキー候補リストに登録されていない項目の場合には、前記テンプレート記憶部が記憶した非マージキー用変換テンプレートを用いて、その項目についての変換定義を生成する変換定義生成部と
を備え、
前記レスポンス集約部は、前記変換定義生成部が生成した変換定義に基づき、前記複数のウェブサービスから受信した実レスポンスを変換することにより、前記複数のウェブサービスから受信した実レスポンスを集約する
ことを特徴とする請求項1又は2に記載のレスポンス集約装置。 - 前記レスポンス集約装置は、さらに、
ウェブサービスと、前記サンプルレスポンスに含まれる各項目に付けられた項目名と毎に、取得名を管理する項目管理部と、
前記項目管理部が管理する取得名によって指定された項目の情報を、前記レスポンス集約部が集約した実レスポンスから抽出するデータ抽出部と
を備え、
前記レスポンス送信部は、前記データ抽出部が抽出した情報を前記利用者端末へ送信する
ことを特徴とする請求項3に記載のレスポンス集約装置。 - 入力装置が、複数のウェブサービスから受信したサンプルレスポンスを入力するレスポンス入力工程と、
処理装置が、前記レスポンス入力工程で入力したサンプルレスポンスに含まれる各項目の項目値を取得する項目値取得工程と、
処理装置が、前記項目値取得工程で取得した項目値のうち、前記複数のウェブサービスから受信したサンプルレスポンス間で同一の値となる項目値を特定する同一項目値特定工程と、
処理装置が、前記複数のウェブサービスから受信したサンプルレスポンスが同一の対象に関するコンテンツを示す場合、前記同一項目値特定工程で特定した項目値の項目をマージキー候補リストに登録するリスト作成工程と、
通信装置が、利用者端末から送信されたリクエストに対して前記複数のウェブサービスから送信された実レスポンスを受信するレスポンス受信工程と、
処理装置が、前記リスト作成工程で作成したマージキー候補リストに登録された項目をキーとして、前記レスポンス受信工程で前記複数のウェブサービスから受信した実レスポンスを集約するレスポンス集約工程と、
通信装置が、前記レスポンス集約工程で集約した実レスポンスを前記利用者端末へ送信するレスポンス送信工程と
を備えることを特徴とするレスポンス集約方法。 - 複数のウェブサービスから受信したサンプルレスポンスを入力するレスポンス入力処理と、
前記レスポンス入力処理で入力したサンプルレスポンスに含まれる各項目の項目値を取得する項目値取得処理と、
前記項目値取得処理で取得した項目値のうち、前記複数のウェブサービスから受信したサンプルレスポンス間で同一の値となる項目値を特定する同一項目値特定処理と、
前記複数のウェブサービスから受信したサンプルレスポンスが同一の対象に関するコンテンツを示す場合、前記同一項目値特定処理で特定した項目値の項目をマージキー候補リストに登録するリスト作成処理と、
利用者端末から送信されたリクエストに対して前記複数のウェブサービスから送信された実レスポンスを受信するレスポンス受信処理と、
前記リスト作成処理で作成したマージキー候補リストに登録された項目をキーとして、前記レスポンス受信処理で前記複数のウェブサービスから受信した実レスポンスを集約するレスポンス集約処理と、
前記レスポンス集約処理で集約した実レスポンスを前記利用者端末へ送信するレスポンス送信処理と
をコンピュータに実行させることを特徴とするレスポンス集約プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013108273A JP2014229076A (ja) | 2013-05-22 | 2013-05-22 | レスポンス集約装置、レスポンス集約方法及びレスポンス集約プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013108273A JP2014229076A (ja) | 2013-05-22 | 2013-05-22 | レスポンス集約装置、レスポンス集約方法及びレスポンス集約プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014229076A true JP2014229076A (ja) | 2014-12-08 |
Family
ID=52128870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013108273A Pending JP2014229076A (ja) | 2013-05-22 | 2013-05-22 | レスポンス集約装置、レスポンス集約方法及びレスポンス集約プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014229076A (ja) |
-
2013
- 2013-05-22 JP JP2013108273A patent/JP2014229076A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10536456B2 (en) | Method and system for identifying user information in social network | |
CN105431844A (zh) | 用于搜索系统的第三方搜索应用 | |
US10223397B1 (en) | Social graph based co-location of network users | |
US20190272169A1 (en) | System and method for generating api devlopment code for integrating platforms | |
CN110659206A (zh) | 基于微服务的模拟架构建立方法、装置、介质及电子设备 | |
CN103890734A (zh) | 遥测文件散列和冲突检测 | |
US10979515B1 (en) | Resource discovery agent computing device, software application, and method | |
CN107368407B (zh) | 信息处理方法和装置 | |
CN111488386B (zh) | 数据查询方法和装置 | |
CN111045928A (zh) | 一种接口数据测试方法、装置、终端及存储介质 | |
CN108737350B (zh) | 一种信息处理方法及客户端 | |
JPWO2010119552A1 (ja) | サービスシステム | |
JP2014229076A (ja) | レスポンス集約装置、レスポンス集約方法及びレスポンス集約プログラム | |
JP2015225447A (ja) | 情報提供装置、情報提供方法、および情報提供プログラム | |
US20170180511A1 (en) | Method, system and apparatus for dynamic detection and propagation of data clusters | |
US9215150B2 (en) | Feature set negotiation framework | |
CN115017185A (zh) | 一种数据处理方法、装置及存储介质 | |
KR101584661B1 (ko) | Rte 기반 빅데이터 분석 시스템 및 방법 | |
JP2011165073A (ja) | 属性情報交換システム、属性情報交換方法、属性情報交換プログラム | |
EP2669856A1 (en) | Information processor and information processing method | |
JP5193977B2 (ja) | イベント通知機能提供システム | |
US10334420B2 (en) | Data-flow control device and data-flow control method | |
US20240004895A1 (en) | Apparatuses, computer-implemented methods, and computer program products for data persistence and use via data graduation | |
JP2021189684A (ja) | 情報処理装置、情報処理システム、及びプログラム | |
JP2010250797A (ja) | 管理サーバ装置 |