JP2016151881A - Api aggregation device and api compatible method - Google Patents

Api aggregation device and api compatible method Download PDF

Info

Publication number
JP2016151881A
JP2016151881A JP2015028802A JP2015028802A JP2016151881A JP 2016151881 A JP2016151881 A JP 2016151881A JP 2015028802 A JP2015028802 A JP 2015028802A JP 2015028802 A JP2015028802 A JP 2015028802A JP 2016151881 A JP2016151881 A JP 2016151881A
Authority
JP
Japan
Prior art keywords
api
enabler
information
application
request information
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.)
Granted
Application number
JP2015028802A
Other languages
Japanese (ja)
Other versions
JP6475037B2 (en
Inventor
亮介 松浦
Ryosuke Matsuura
亮介 松浦
崇 歌原
Takashi Utahara
崇 歌原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015028802A priority Critical patent/JP6475037B2/en
Publication of JP2016151881A publication Critical patent/JP2016151881A/en
Application granted granted Critical
Publication of JP6475037B2 publication Critical patent/JP6475037B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide information on a function associated with a function failure for an application even if one of a plurality of combined APIs fails in functioning.SOLUTION: An API aggregation device 24 is connected between an application 25a and enablers 27a-27d of a communication system through APIs 26a and 28a-28d. In a case of a function failure such that when request information is transmitted from the application 25a to the desired enabler 27b through the APIs 26b, 28b, response information matching contents of the request information is not transmitted, the API aggregation device 24 performs API compatible processing to send response information from the corresponding enabler 27c, made previously to correspond to the enabler 27b in the function failure state, back to the application 25a through the corresponding to API 28c connecting with the corresponding enabler 27c.SELECTED DRAWING: Figure 2

Description

本発明は、複数のAPI(Application Programming Interface)を集約したアプリケーションから、リクエストを受け付けたAPI又はイネーブラが機能不全の場合でも所望の情報をユーザに提供することが可能なAPI集約装置及びAPI互換方法に関する。   The present invention provides an API aggregating apparatus and an API compatible method capable of providing a user with desired information even when an API or an enabler that receives a request from an application that aggregates a plurality of APIs (Application Programming Interfaces) is malfunctioning. About.

近年、プログラムであるスクラッチで開発していたような機能、地図描画や認証等の共通機能が、情報インターフェイスであるAPIという形で提供されてきている。APIを活用したアプリケーション(以下、アプリと略すこともある)の開発では、複数のAPIを組み合わせる(マッシュアップする)ことで、早く、安く、多様な機能のアプリを開発することができ、様々な企業が自社機能を実現するAPIに注目している。つまり、ソフトウェア開発において、APIを活用したソフトウェア開発により、幾つかのAPIを組み合わせて検証を含む開発期間の短縮、開発コストを削減することが実施されている。   In recent years, functions such as those developed by scratch as a program and common functions such as map drawing and authentication have been provided in the form of API as an information interface. In the development of applications that use APIs (hereinafter abbreviated as apps), by combining (mashing up) multiple APIs, it is possible to develop apps with various functions quickly and cheaply. Companies are paying attention to APIs that realize their functions. That is, in software development, shortening the development period including verification and reducing development cost by combining several APIs by software development utilizing API.

提供されるAPIについては、利用状況をAPI提供者にフィードバックする等の代償として、無償で提供されることが多い。APIはグーグル、アマゾン等のユーザへ製品を提供しているベンダが、無償で公開、提供している場合が多い。   The provided API is often provided free of charge as a compensation for feeding back the usage status to the API provider. APIs are often provided and provided free of charge by vendors who provide products to users such as Google and Amazon.

例えば、図14に示すように、位置情報取得機能10に繋がるAPI10aと、グルメ検索機能11に繋がるAPI11aと、レコメンド機能12に繋がるAPI12aとが集約されているとする。この際に、ユーザが飲食店を検索する場合、スマートフォン(スマホと略すこともある)にアプリケーション13をインストールし、そのアプリ13からインターネットを介して各API10a〜12aにアクセスして所望のグルメ情報を取得することができる。   For example, as illustrated in FIG. 14, it is assumed that an API 10 a connected to the position information acquisition function 10, an API 11 a connected to the gourmet search function 11, and an API 12 a connected to the recommendation function 12 are aggregated. At this time, when a user searches for a restaurant, the application 13 is installed on a smartphone (sometimes abbreviated as a smartphone), and each API 10a to 12a is accessed from the application 13 via the Internet to obtain desired gourmet information. Can be acquired.

この場合、アプリ13からリクエスト情報14qがAPI10aを介して位置情報取得機能10に送信され、位置情報取得機能10がAPI10aを介して位置情報であるレスポンス情報14pをアプリ13へ返す。これにより、スマホに飲食店の位置が表示される。次に、ユーザが、アプリ13でその位置の周辺にどの様な飲食店があるか検索する。この検索によるリクエスト情報15qがAPI11aを介してグルメ検索機能11に送信され、グルメ検索機能11がAPI11aを介して「店」の情報であるレスポンス情報15pをアプリ13へ返す。これにより、スマホに飲食店の情報が表示される。   In this case, request information 14q is transmitted from the application 13 to the position information acquisition function 10 via the API 10a, and the position information acquisition function 10 returns response information 14p, which is position information, to the application 13 via the API 10a. Thereby, the position of the restaurant is displayed on the smartphone. Next, the user searches the app 13 for what kind of restaurant is around the position. Request information 15q by this search is transmitted to the gourmet search function 11 via the API 11a, and the gourmet search function 11 returns response information 15p, which is information of “store”, to the application 13 via the API 11a. Thereby, the restaurant information is displayed on the smartphone.

次に、ユーザが、アプリ13で飲食店の中から嗜好する飲食物を検索する。この検索によるリクエスト情報16qがAPI12aを介してレコメンド機能12に送信され、レコメンド機能12がAPI12aを介してユーザが嗜好する飲食物の情報を含むレスポンス情報16pをアプリ13へ返す。これにより、スマホにユーザが嗜好する飲食物が表示される。
この種の技術として非特許文献1に記載のものがある。
Next, the user searches for food and drinks that the user prefers from restaurants using the application 13. Request information 16q by this search is transmitted to the recommendation function 12 via the API 12a, and the recommendation function 12 returns response information 16p including information of foods and drinks preferred by the user via the API 12a to the application 13. Thereby, the food and drink which a user likes on a smartphone are displayed.
There exists a thing of a nonpatent literature 1 as this kind of technique.

「セキュアプログラミング講座−Webアプリケーション編−第8章マッシュアップ」、[online]、Copyright 2013、IPA独立行政法人、情報処理推進機構、[平成27年1月26日検索]、インターネット〈URL:https://www.ipa.go.jp/security/awareness/vendor/programmingv2/web.html〉"Secure Programming Course-Web Application-Chapter 8 Mashup", [online], Copyright 2013, IPA Incorporated Administrative Agency, Information Processing Promotion Organization, [January 26, 2015 search], Internet <URL: https: //www.ipa.go.jp/security/awareness/vendor/programmingv2/web.html>

しかし、APIを複数組み合わせてアプリを作成した場合、組み合わせた内の1つのAPIでも機能しなくなると、組合されたAPI全体が機能しなくなり、アプリを提供するサービスが停止してしまうという問題がある。   However, when an application is created by combining a plurality of APIs, if one of the combined APIs does not function, the combined API does not function as a whole, and the service that provides the application stops. .

図14の例では、グルメ検索機能11が×印で示すように機能しなくなった場合、このグルメ検索機能11を含む位置情報取得機能10及びレコメンド機能12の全体が機能しなくなり、アプリ13を提供するサービスが停止してしまう。   In the example of FIG. 14, when the gourmet search function 11 does not function as indicated by a cross, the position information acquisition function 10 and the recommendation function 12 including the gourmet search function 11 do not function and the application 13 is provided. Service to be stopped.

本発明は、このような背景に鑑みてなされたものであり、複数組み合わせたAPIの1つが機能不全となった場合でも、その機能不全のAPIに係る機能の情報をアプリケーションに提供することができるAPI集約装置及びAPI互換方法を提供することを課題とする。   The present invention has been made in view of such a background, and even when one of a plurality of combined APIs becomes malfunctioning, it is possible to provide information on functions related to the malfunctioning API to an application. It is an object of the present invention to provide an API aggregation device and an API compatible method.

前記した課題を解決するため、請求項1に記載の発明は、所定の目的を少なくとも通信を行って実現するイネーブラに繋がるAPIを複数組み合わせたアプリケーションが、所望の情報を取得するためのリクエスト情報を前記APIを介して前記イネーブラへ送信し、前記送信されたリクエスト情報を受信した前記イネーブラが前記リクエスト情報に応じたレスポンス情報を、前記APIを介して前記アプリケーションへ返信する通信システムにおいて、前記アプリケーションと前記イネーブラとの間に少なくとも前記APIを介して接続されたAPI集約装置であって、前記アプリケーションから所望のイネーブラへ前記APIを介して前記リクエスト情報を送信した際に、当該リクエスト情報の内容に適合したレスポンス情報が返信されない機能不全の場合、当該機能不全のイネーブラに予め対応付けられた対応イネーブラからのレスポンス情報を、当該対応イネーブラに繋がる対応APIを介して当該アプリケーションへ返信するAPI処理機能部を備えることを特徴とするAPI集約装置である。   In order to solve the above-described problem, the invention according to claim 1 is directed to request information for an application that combines a plurality of APIs connected to an enabler that achieves at least a predetermined purpose by communicating to obtain desired information. In the communication system in which the enabler that has transmitted to the enabler via the API and has received the transmitted request information returns response information corresponding to the request information to the application via the API, the application and An API aggregating apparatus connected to the enabler via at least the API, and adapted to the content of the request information when the request information is transmitted from the application to the desired enabler via the API Response information sent back In the case of a malfunction, it is provided with an API processing function unit that returns response information from a corresponding enabler previously associated with the malfunctioning enabler to the application through a corresponding API connected to the corresponding enabler. API aggregation device.

この構成によれば、複数組み合わせたAPIの何れかが機能不全となった場合でも、その機能不全のAPIに係る機能の情報を、そのAPIに係る対応APIを介してアプリケーションに提供することができる。少なくとも前記APIを介してというのは、アプリケーションからAPI集約装置に繋がるAPIとイネーブラに繋がるAPIとは、API集約装置を介する際にAPIのパラメータ等の形式が置き換えられている場合がある。形式を置き換える場合は、置き換える形式の対応関係をAPI集約装置で保持する。   According to this configuration, even when any one of a plurality of combined APIs malfunctions, information on functions related to the malfunctioning API can be provided to the application via the corresponding API related to the API. . At least via the API, the API connected from the application to the API aggregation device and the API connected to the enabler may have their API parameters and the like replaced in the API aggregation device. When replacing the format, the correspondence of the replacement format is held in the API aggregation device.

請求項2に係る発明は、前記API処理機能部は、前記API毎に繋がる機能に互換性が有る場合に、その互換性の有るAPIの対応関係を示すAPI互換情報を記憶するデータベースと、前記アプリケーションから送信されるリクエスト情報を受信したイネーブラが返信するレスポンス情報を受信した際に、当該レスポンス情報が予め定められた規定の内容に不適合の場合、当該不適合のレスポンス情報を返信したイネーブラに繋がるAPIに係る前記対応APIが、前記データベースのAPI互換情報に存在すれば、互換動作可能と判断する判断部と、前記互換動作可能と判断された際に、前記不適合のレスポンス情報を返信したイネーブラへのリクエスト情報を、前記対応APIに繋がる対応イネーブラへのリクエスト情報に変換し、この変換されたリクエスト情報を対応イネーブラへ送信する変換部と、前記変換されたリクエスト情報を受信した対応イネーブラから返信されるレスポンス情報を、前記アプリケーションへ返信する送信部と、を備えることを特徴とする請求項1に記載のAPI集約装置である。   According to a second aspect of the present invention, when the API processing function unit is compatible with a function connected to each API, the database stores API compatibility information indicating a correspondence relationship of the compatible API, and When response information returned by the enabler that has received the request information transmitted from the application is received, if the response information does not conform to a predetermined content, an API that leads to the enabler that has returned the non-conforming response information If the corresponding API exists in the API compatible information of the database, a determination unit that determines that compatible operation is possible, and an enabler that has returned the nonconforming response information when it is determined that compatible operation is possible. The request information is converted into request information for a corresponding enabler connected to the corresponding API. A conversion unit that transmits the converted request information to the corresponding enabler, and a transmission unit that returns response information returned from the corresponding enabler that has received the converted request information to the application. The API aggregating apparatus according to claim 1.

この構成によれば、APIやイネーブラ等が機能不全となった場合でも、それを判定し、API処理機能部が機能不全となったAPIに係る対応API及び対応イネーブラへ切り替える互換切替動作を行って、対応イネーブラに適合するリクエスト情報を対応APIを介して対応イネーブラへ送信する。これにより、API処理機能部が対応イネーブラから返信されるレスポンス情報をアプリケーションへ返信する。このため、アプリケーションを有するスマートフォン等の端末機において、所望のレスポンス情報を得ることができる。API集約装置に接続するイネーブラに繋がるAPIが、接続される前からAPI集約装置へ繋がるAPIのAPIポリシーと合致しない場合には、API集約装置でAPIのパラメータ等の形式を置き換えている場合がある。そこで、その形式を置き換える場合は、置き換える形式の対応関係をAPI集約装置で保持する。   According to this configuration, even when an API, an enabler, or the like becomes malfunctioning, it is determined, and a compatible switching operation is performed to switch the API processing function unit to the corresponding API and the corresponding enabler related to the malfunctioned API. , Request information suitable for the corresponding enabler is transmitted to the corresponding enabler via the corresponding API. Thus, the API processing function unit returns response information returned from the corresponding enabler to the application. For this reason, desired response information can be obtained in a terminal such as a smartphone having an application. If the API connected to the enabler connected to the API aggregation device does not match the API policy of the API connected to the API aggregation device before being connected, the API aggregation device may replace the format of API parameters and the like. . Therefore, when the format is replaced, the correspondence relationship of the replacement format is held in the API aggregation device.

請求項3に係る発明は、前記API処理機能部は、前記アプリケーションから送信されたリクエスト情報を蓄積する蓄積部を更に備え、前記判断部は、前記アプリケーションから送信されるリクエスト情報を受信したイネーブラから返信されたレスポンス情報を受信した際に、当該受信したレスポンス情報が、前記蓄積されたリクエスト情報の内容に不適合の場合に、前記イネーブラ及び前記APIを含む通信経路の双方の機能不全と判断し、この機能不全と判断した通信経路上の当該イネーブラに繋がるAPIに係る前記対応APIが、前記データベースのAPI互換情報に存在すれば、互換動作可能と判断することを特徴とする請求項2に記載のAPI集約装置である。   According to a third aspect of the present invention, the API processing function unit further includes a storage unit that stores the request information transmitted from the application, and the determination unit includes an enabler that receives the request information transmitted from the application. When receiving the returned response information, if the received response information is incompatible with the contents of the accumulated request information, it is determined that both the enabler and the communication path including the API are malfunctioning, 3. The compatible operation is determined to be possible if the corresponding API related to the API connected to the enabler on the communication path determined to be malfunctioning exists in the API compatible information of the database. It is an API aggregation device.

この構成によれば、次のような作用効果を得ることができる。アプリケーションへ送信されたリクエスト情報を一旦蓄積しておき、その後、アプリケーションからのリクエスト情報を受信したイネーブラからの返信レスポンス情報を受信する。判断部は、その受信したレスポンス情報が、蓄積されたリクエスト情報の内容に不適合の場合に機能不全と判断することができるので、正確に機能不全と判断することができる。   According to this configuration, the following operational effects can be obtained. Request information transmitted to the application is temporarily stored, and then response response information is received from the enabler that has received the request information from the application. Since the determination unit can determine that the received response information is malfunctioning when it does not conform to the contents of the accumulated request information, it can accurately determine malfunction.

請求項4に係る発明は、前記判断部は、前記リクエスト情報を受信した前記イネーブラからの返信レスポンス情報が、所定時間内に受信できなかった場合に、イネーブラ及びAPIを含む通信経路の双方の機能不全と判断し、この機能不全と判断した通信経路の当該イネーブラに繋がるAPIに係る前記対応APIが、前記データベースのAPI互換情報に存在する際に、互換動作可能と判断することを特徴とする請求項2に記載のAPI集約装置である。   According to a fourth aspect of the present invention, when the response response information from the enabler that has received the request information is not received within a predetermined time, the determination unit functions both of the enabler and the communication path including the API. It is determined that a compatible operation is possible when the corresponding API related to the API connected to the enabler of the communication path determined to be defective is present in the API compatible information of the database. The API aggregation device according to Item 2.

この構成によれば、アプリケーションへ送信されたリクエスト情報を受信したイネーブラからの返信レスポンス情報が、所定時間内に受信できなかった際に機能不全と判断するので、タイマを設けるだけ等の簡単な構成で正確に、機能不全を判断することができる。   According to this configuration, the response response information from the enabler that has received the request information transmitted to the application is determined to be malfunctioning when it cannot be received within a predetermined time. Can accurately determine the malfunction.

請求項5に係る発明は、前記判断部は、前記リクエスト情報を受信した前記イネーブラからの返信レスポンス情報がエラー情報である場合に、イネーブラ及びAPIを含む通信経路の双方の機能不全と判断し、この機能不全と判断した通信経路の当該イネーブラに繋がるAPIに係る前記対応APIが、前記データベースのAPI互換情報に存在する際に、互換動作可能と判断することを特徴とする請求項2に記載のAPI集約装置である。   In the invention according to claim 5, the determination unit determines that both of the communication path including the enabler and the API are malfunctioning when the response information from the enabler that has received the request information is error information. 3. The compatible operation according to claim 2, wherein when the corresponding API related to the API connected to the enabler of the communication path determined to be malfunctioning exists in the API compatible information of the database, the compatible operation is determined. It is an API aggregation device.

この構成によれば、アプリケーションへ送信されたリクエスト情報を受信したイネーブラからの返信レスポンス情報がエラー情報であることを検出するだけで機能不全と判断するので、簡単な構成で正確に、機能不全を判断することができる。   According to this configuration, it is determined that the malfunction is detected only by detecting that the response information returned from the enabler that has received the request information transmitted to the application is error information. Judgment can be made.

請求項6に係る発明は、前記変換部は、前記判断部で前記互換動作可能と判断された際に、前記対応APIに繋がる対応イネーブラへのリクエスト情報の送信後に当該対応イネーブラから返信されたレスポンス情報を、前記不適合のレスポンス情報を返信したイネーブラから本来適正に出力されるレスポンス情報に整合するように変換し、前記送信部は、前記整合されたレスポンス情報を前記アプリケーションへ返信することを特徴とする請求項2〜5の何れか1項に記載のAPI集約装置である。   According to a sixth aspect of the present invention, when the converting unit determines that the compatible operation is possible, the response returned from the corresponding enabler after transmitting request information to the corresponding enabler connected to the corresponding API. The information is converted so as to be matched with the response information that is originally properly output from the enabler that has returned the non-conforming response information, and the transmission unit returns the matched response information to the application. The API aggregation device according to any one of claims 2 to 5.

この構成によれば、APIやイネーブラ等が機能不全となった場合でも、API処理機能部が機能不全となったAPIに係る対応API及び対応イネーブラへ切り替える互換切替動作を行う。この際、変換部は、対応イネーブラから返信されたレスポンス情報を、機能不全のイネーブラから本来適正に出力されるレスポンス情報としてアプリケーションへ返信する。このため、アプリケーションを有するスマートフォン等の端末機では、イネーブラ等の機能不全による互換切替動作を意識することなく、所望の情報を見ることができる。つまり、アプリケーションの可用性向上によりユーザはサービスを継続して受けることができるようになる。   According to this configuration, even when an API, an enabler, or the like becomes malfunctioning, the compatibility switching operation is performed in which the API processing function unit switches to the corresponding API and the corresponding enabler related to the malfunctioned API. At this time, the conversion unit returns the response information returned from the corresponding enabler to the application as response information that is originally properly output from the malfunction enabler. For this reason, in a terminal device such as a smartphone having an application, it is possible to view desired information without being aware of the compatibility switching operation due to malfunction of an enabler or the like. In other words, users can continue to receive services by improving application availability.

請求項7に係る発明は、所定の目的を少なくとも通信を行って実現するイネーブラに繋がるAPIを複数組み合わせたアプリケーションが、所望の情報を取得するためのリクエスト情報を前記APIを介して前記イネーブラへ送信し、前記送信されたリクエスト情報を受信した前記イネーブラが前記リクエスト情報に応じたレスポンス情報を、前記APIを介して前記アプリケーションへ返信する通信システムにおいて、前記アプリケーションと前記イネーブラとの間に少なくとも前記APIを介して接続されたAPI集約装置によるAPI集約方法であって、前記API集約装置は、前記アプリケーションから所望のイネーブラへ前記APIを介して前記リクエスト情報を送信した際に、当該リクエスト情報の内容に適合したレスポンス情報が返信されない機能不全の場合、当該機能不全のイネーブラに予め対応付けられた対応イネーブラからのレスポンス情報を、当該対応イネーブラに繋がる対応APIを介して当該アプリケーションへ返信するステップを実行することを特徴とするAPI互換方法である。   In the invention according to claim 7, an application that combines a plurality of APIs connected to an enabler that realizes at least a predetermined purpose by communication transmits request information for obtaining desired information to the enabler via the API. In the communication system in which the enabler that has received the transmitted request information returns response information corresponding to the request information to the application via the API, at least the API between the application and the enabler. In the API aggregation method by the API aggregation device connected via the API, the API aggregation device transmits the request information to the desired enabler from the application to the content of the request information. Applicable response information In the case of a malfunction that is not returned, it is characterized by executing a step of returning response information from a corresponding enabler associated with the malfunctioning enabler in advance to the application via a corresponding API connected to the corresponding enabler. API compatible method.

この方法によれば、複数組み合わせたAPIの何れかが機能不全となった場合でも、その機能不全のAPIに係る機能の情報を、そのAPIに係る対応APIを介してアプリケーションに提供することができる。   According to this method, even when any one of a plurality of combined APIs malfunctions, information on the function related to the malfunctioning API can be provided to the application via the corresponding API related to the API. .

本発明によれば、複数組み合わせたAPIの1つが機能不全となった場合でも、その機能不全のAPIに係る機能の情報をアプリケーションに提供することができるAPI集約装置及びAPI互換方法を提供することができる。   According to the present invention, it is possible to provide an API aggregating apparatus and an API compatible method capable of providing application information on functions related to a malfunctioning API even when one of a plurality of combined APIs malfunctions. Can do.

本発明の実施形態に係るAPI集約装置を含む通信システムの構成を示すブロック図である。It is a block diagram which shows the structure of the communication system containing the API aggregation apparatus which concerns on embodiment of this invention. 本実施形態のAPI集約装置によるAPI互換処理の動作を説明するためのブロック図である。It is a block diagram for demonstrating operation | movement of the API compatibility process by the API aggregation apparatus of this embodiment. 本実施形態のAPI集約装置の特徴構成を示すブロック図である。It is a block diagram which shows the characteristic structure of the API aggregation apparatus of this embodiment. (a)リクエスト情報の構成を示す図、(b)レスポンス情報の構成を示す図である。(A) It is a figure which shows the structure of request information, (b) It is a figure which shows the structure of response information. (a)リクエスト情報の具体例を示す図、(b)レスポンス情報の具体例を示す図である。(A) It is a figure which shows the specific example of request information, (b) It is a figure which shows the specific example of response information. (a)API互換動作の第1パターンの説明図、(b)API互換動作の第2パターンの説明である。(A) It is explanatory drawing of the 1st pattern of API compatible operation | movement, (b) It is description of the 2nd pattern of API compatible operation | movement. (a)API互換動作の第3パターンの説明図、(b)API互換動作の第4パターンの説明である。(A) It is explanatory drawing of the 3rd pattern of API compatible operation | movement, (b) It is description of the 4th pattern of API compatible operation | movement. 本実施形態のAPI集約装置による第2パターンの互換動作を説明するためのブロック図である。It is a block diagram for demonstrating the compatible operation | movement of the 2nd pattern by the API aggregation apparatus of this embodiment. 第2パターンの互換動作において送受信されるリクエスト情報の具体例を示す図である。It is a figure which shows the specific example of the request information transmitted / received in the compatible operation | movement of a 2nd pattern. 第2パターンの互換動作において送受信されるレスポンス情報の具体例を示す図である。It is a figure which shows the specific example of the response information transmitted / received in the compatible operation | movement of a 2nd pattern. (a)リクエスト情報のパラメータ(リクエストパラメータ)の具体例を示す図、(b)レスポンス情報のパラメータ(レスポンスパラメータ)の具体例を示す図である。(A) The figure which shows the specific example of the parameter (request parameter) of request information, (b) The figure which shows the specific example of the parameter (response parameter) of response information. 本実施形態のAPI集約装置による第2パターンの互換動作を説明するための第1のフローチャートである。It is a 1st flowchart for demonstrating the compatible operation | movement of the 2nd pattern by the API aggregation apparatus of this embodiment. 本実施形態のAPI集約装置による第2パターンの互換動作を説明するための第2のフローチャートである。It is a 2nd flowchart for demonstrating the compatible operation | movement of the 2nd pattern by the API aggregation apparatus of this embodiment. 従来のアプリケーションからAPIを介した各機能へのアクセスにより、所望情報を取得する際の動作を説明するためのブロック図である。It is a block diagram for demonstrating the operation | movement at the time of acquiring desired information by access to each function via API from the conventional application.

以下、本発明の実施形態を、図面を参照して説明する。
<実施形態の構成>
図1は、本発明の実施形態に係るAPI集約装置を含む通信システムの構成を示すブロック図である。
図1に示す通信システム20は、API集約装置24と、m個のアプリケーション25a〜25mと、j個のAPI26a〜26jと、n個イネーブラ27a,27b,27c,27d,〜27nと、n個のAPI28a,28b,28c,28d,〜28nとを備えて構成されている。
Embodiments of the present invention will be described below with reference to the drawings.
<Configuration of Embodiment>
FIG. 1 is a block diagram showing a configuration of a communication system including an API aggregation device according to an embodiment of the present invention.
The communication system 20 shown in FIG. 1 includes an API aggregation device 24, m applications 25a to 25m, j APIs 26a to 26j, n enablers 27a, 27b, 27c, 27d, to 27n, and n APIs 28a, 28b, 28c, 28d, to 28n.

j個のAPI26a〜26jは、API集約装置24とm個のアプリケーション25a〜25mとの間に接続ており、m個のアプリケーション25a〜25mとは個数が異なる。また、n個のAPI28a〜28nは、API集約装置24とn個のイネーブラ27a〜27nとの間に接続ており、n個のイネーブラ27a〜27nと同数である。   The j APIs 26a to 26j are connected between the API aggregation device 24 and the m applications 25a to 25m, and the number is different from the m applications 25a to 25m. The n APIs 28a to 28n are connected between the API aggregation device 24 and the n enablers 27a to 27n, and the same number as the n enablers 27a to 27n.

各々のアプリケーション(アプリ)25a〜25mは、クラウド等に存在し、言い換えれば、インターネットのWEB(World Wide Web)上に存在し、インターネットに接続されている。例えば、スマートフォン(スマホ)やパーソナルコンピュータ等の端末機に、アプリ(例えば25a)をインストールし、このクライアントのアプリ25aからインターネット上のアプリサーバ(図示せず)にアクセスする。アプリサーバにはプログラミングコードが書かれており、このコードの中にAPI集約装置24のAPI26a〜26jを実行するというソースコードが書かれている。このソースコードを実行すると、インターネットを介してAPI集約装置24まで信号が伝わり、API28a〜28nにアクセスする。このアクセスが行われると、API集約装置24に繋がっている例えば位置情報取得機能としてのイネーブラ27aのAPI28aから、「位置情報」を取得し、これをアプリサーバを介してスマートフォンに返すといった仕組みになっている。   Each application (application) 25a to 25m exists in the cloud or the like, in other words, exists on the Internet WEB (World Wide Web) and is connected to the Internet. For example, an application (for example, 25a) is installed in a terminal such as a smartphone (smartphone) or a personal computer, and an application server (not shown) on the Internet is accessed from the application 25a of the client. Programming code is written in the application server, and source code for executing APIs 26a to 26j of the API aggregation device 24 is written in the code. When this source code is executed, a signal is transmitted to the API aggregation device 24 via the Internet, and the APIs 28a to 28n are accessed. When this access is made, the “location information” is acquired from, for example, the API 28a of the enabler 27a as the location information acquisition function connected to the API aggregation device 24, and this is returned to the smartphone via the application server. ing.

イネーブラ27a〜27nは、通信処理機能を備え、位置検索や必要情報等のユーザが所望する情報を提供する等、何らかの目的を果たすための機能を有する装置である。本実施形態では、例えば1つのイネーブラ27が1つの機能を持つものとする。1つの機能とは、例えば位置情報取得機能、グルメ検索機能及びレコメンド機能等の何れか1つの機能である。但し、1つのイネーブラ27は、位置情報取得機能、グルメ検索機能、レコメンド機能の3つの機能を併せ持ったり、2つの機能を併せ持ったりできる。当然のことながら、3つを超える機能を持つ場合もある。   The enablers 27a to 27n are devices having a communication processing function and a function for achieving some purpose, such as providing information desired by the user such as position search and necessary information. In the present embodiment, for example, one enabler 27 has one function. One function is any one of a position information acquisition function, a gourmet search function, a recommendation function, and the like. However, one enabler 27 can have three functions of a position information acquisition function, a gourmet search function, and a recommendation function, or can have two functions. Of course, there may be more than three functions.

API集約装置24は、利用したいAPIの機能が不全(機能不全)となった際に、その不全となった機能に互換性のある予め対応付けられた機能のAPIを利用する処理を行う。このAPI集約装置24は、API処理機能部21、開発者ポータル機能部22及び保守運用機能部23を備える。   When the API function to be used becomes insufficiency (function insufficiency), the API aggregating apparatus 24 performs a process of using an API having a function associated with the function that is compatible with the function in question. The API aggregation device 24 includes an API processing function unit 21, a developer portal function unit 22, and a maintenance operation function unit 23.

但し、機能不全とは、アプリケーションからのリクエスト情報の内容に適合したレスポンス情報が、APIを介したイネーブラからアプリケーションへ返信されて来ない場合をいう。具体的には、機能不全とは、API単独の機能不全、APIが繋がるイネーブラ単独の機能不全、API及びイネーブラ双方の機能不全、APIが繋がる通信回線の断線や通信設備の不具合等の機能不全を含むものとする。後述には、適宜その何れかの表現を用いる。   However, malfunction means a case where response information suitable for the content of request information from the application is not returned from the enabler via the API to the application. Specifically, dysfunction means malfunction of API alone, failure of enabler alone connected to API, malfunction of both API and enabler, disconnection of communication line connected to API, malfunction of communication equipment, etc. Shall be included. In the following, any one of the expressions is used as appropriate.

更に具体的には、機能不全は、例えばイネーブラとしてのグルメ検索機能等の機能であれば、ハード的又はソフト的に壊れているか、メンテナンス中で動作不能となっている等の理由で、本来行うべき正常な動作を行わない状態をいう。   More specifically, if the function is a function such as a gourmet search function as an enabler, it is originally performed because it is broken in hardware or software, or is inoperable during maintenance. A state in which normal operation should not be performed.

また、機能不全は、後述するように、レスポンス情報がリクエスト情報の内容に適合していない場合(不適合の場合)や、エラー情報が含まれる場合、全てのレスポンス情報が受信できない場合に、機能不全とすることができる。   In addition, as described later, malfunctions occur when the response information does not conform to the content of the request information (non-conformity), when error information is included, or when all response information cannot be received. It can be.

開発者ポータル機能部(ポータル機能部ともいう)22は、開発者がAPI集約装置24に、事前に利用する複数のAPIに対応関係を持たせる登録処理を行う。例えば、API28bとAPI28cとに何らかの共通要素がある(互換関係がある)場合に、それらAPI28bとAPI28cとが対応関係を持つように登録する。   The developer portal function unit (also referred to as portal function unit) 22 performs a registration process in which the developer causes the API aggregation device 24 to have a correspondence relationship with a plurality of APIs used in advance. For example, when there is some common element (there is a compatibility relationship) between the API 28b and the API 28c, the API 28b and the API 28c are registered so as to have a correspondence relationship.

APIの対応関係は、自APIが望むレスポンス情報が、他APIから得られる関係となっていることが必要条件である。言い換えれば、2つのAPIの全体のレスポンス情報中に、少なくとも共通のレスポンス情報があることが互換性があることであり、この互換性がある場合に、対応付けを行う。この対応付けは、一方のAPIから他方のAPIへ、又は他方のAPIから一方のAPIに対応付ける一方通行の対応付けでもよい。また、一方のAPIと他方のAPIとが双方向に対応付けられていてもよい。   The correspondence relationship between APIs is a necessary condition that the response information desired by the own API is obtained from other APIs. In other words, the fact that there is at least common response information in the response information of the entire two APIs is compatibility, and if there is compatibility, association is performed. This association may be a one-way association from one API to the other API or from the other API to one API. Also, one API and the other API may be associated in both directions.

なお、一方のAPIに対応付けられたAPIを、対応APIという。図1では、API28bにAPI28cが対応付けられているので、対応API28cという。また、イネーブラ27bにイネーブラ27cが対応付けられているので、対応イネーブラ27cという。つまり、対応APIといった場合、この対応APIに繋がるイネーブラも同様に対応イネーブラという。   An API associated with one API is referred to as a corresponding API. In FIG. 1, since the API 28c is associated with the API 28b, it is referred to as a corresponding API 28c. In addition, since the enabler 27c is associated with the enabler 27b, it is referred to as a corresponding enabler 27c. That is, in the case of a corresponding API, an enabler connected to the corresponding API is also referred to as a corresponding enabler.

API処理機能部21は、イネーブラ27a〜27n側の所定のAPI(例えば28bと28c)に互換性がある場合に対応付けを行い、利用中の例えばAPI28bのイネーブラ27bが機能不全である場合に、このAPI28bに係る対応API28cに切替え、この切替えたAPI28cに接続されたイネーブラ27cを利用して、その不全となった機能を維持するAPI互換処理(単に、互換処理ともいう)を行う。   The API processing function unit 21 performs association when predetermined APIs (for example, 28b and 28c) on the side of the enablers 27a to 27n are compatible, and when the enabler 27b of the API 28b being used is malfunctioning, The API 28c is switched to the corresponding API 28c, and the enabler 27c connected to the switched API 28c is used to perform an API compatible process (also simply referred to as a compatible process) for maintaining the malfunctioning function.

この互換処理を、図2を参照して具体的に説明する。但し、本実施形態では、図2に示すように、イネーブラ27aは位置情報取得機能27aであり、イネーブラ27bはAグルメ検索機能27b、イネーブラ27cはBグルメ検索機能27c、イネーブラ27dはレコメンド機能27dであるとする。また、Aグルメ検索機能27bとBグルメ検索機能27cとは、異なる企業が提供する飲食店情報を特定する検索機能である。位置情報取得機能27aにAPI28aが繋がり、Aグルメ検索機能27bにAPI28bが繋がり、Bグルメ検索機能27cにAPI28cが繋がり、レコメンド機能27dにAPI28dが繋がっている。また、各API28a〜28dを組み合わせてアプリ25aが作成されているとする。なお、位置情報取得機能27a、Aグルメ検索機能27b、Bグルメ検索機能27c、レコメンド機能27dを、単に、機能27a、機能27b、機能27c、機能27dと称す場合もある。   This compatibility process will be specifically described with reference to FIG. However, in this embodiment, as shown in FIG. 2, the enabler 27a is a location information acquisition function 27a, the enabler 27b is an A gourmet search function 27b, the enabler 27c is a B gourmet search function 27c, and the enabler 27d is a recommend function 27d. Suppose there is. The A gourmet search function 27b and the B gourmet search function 27c are search functions that specify restaurant information provided by different companies. The API 28a is connected to the position information acquisition function 27a, the API 28b is connected to the A gourmet search function 27b, the API 28c is connected to the B gourmet search function 27c, and the API 28d is connected to the recommendation function 27d. Further, it is assumed that the application 25a is created by combining the APIs 28a to 28d. The position information acquisition function 27a, the A gourmet search function 27b, the B gourmet search function 27c, and the recommendation function 27d may be simply referred to as a function 27a, a function 27b, a function 27c, and a function 27d.

この構成において、アプリケーション25aがAPI28aを介して位置情報取得機能27aから位置情報を取得した後に、API28bを介してAグルメ検索機能27bにレスポンス情報でアクセスしたとする。この際、Aグルメ検索機能27bが×印で示すように機能不全の場合、このレスポンス情報は返ってこない。この際、API集約装置24が、Aグルメ検索機能27bと互換性があるBグルメ検索機能27cに切替え、Bグルメ検索機能27cからAPI28cを介して、その不全となったAグルメ検索機能27bと同等なレスポンスを返すことになる。これによって、Bグルメ検索機能27cからのレスポンス情報が、Aグルメ検索機能27bのレスポンス情報としてアプリ25aに返信される。   In this configuration, it is assumed that after the application 25a acquires the position information from the position information acquisition function 27a via the API 28a, the A gourmet search function 27b is accessed with the response information via the API 28b. At this time, if the A gourmet search function 27b is malfunctioning as indicated by a cross, this response information is not returned. At this time, the API aggregation device 24 switches to the B gourmet search function 27c compatible with the A gourmet search function 27b, and is equivalent to the failed A gourmet search function 27b via the API 28c from the B gourmet search function 27c. Response will be returned. Thereby, the response information from the B gourmet search function 27c is returned to the application 25a as the response information of the A gourmet search function 27b.

また、API処理機能部21は、認証機能、トラフィック制御機能及びIF変換機能を有する。
認証機能は、APIがインターネットに公開され、様々なユーザに使用されるため、誰に使用されているかをユーザID等で認証する機能である。
トラフィック制御機能は、検索等のための通信が使用され過ぎるとAPI集約装置24等が破損するので、破損しないようにトラフィック制御を行う機能である。
The API processing function unit 21 has an authentication function, a traffic control function, and an IF conversion function.
The authentication function is a function of authenticating who is using the API with a user ID or the like because the API is published on the Internet and used by various users.
The traffic control function is a function for performing traffic control so as not to damage the API aggregation device 24 and the like because the API aggregation device 24 and the like are damaged when communication for searching or the like is excessively used.

IF機能は、アプリ25a〜25mからのリクエスト情報又はレスポンス情報の変換を行う機能である。この機能によれば、例えば、軽量なデータ記述言語の1つであるJSON(JavaScript(登録商標) Object Notation)形式を、構造化されたデータを交換するための言語であるXML(Extensible Markup Language)形式に変換することができる。   The IF function is a function for converting request information or response information from the applications 25a to 25m. According to this function, for example, the JSON (JavaScript (registered trademark) Object Notation) format, which is one of lightweight data description languages, is replaced by XML (Extensible Markup Language), which is a language for exchanging structured data. Can be converted to a format.

図1に戻って、保守運用機能部23は、API集約装置24を保守する処理、実際にAPIをAPI集約装置24に接続する処理、実際にAPI互換処理が実行されているか否かを判定する処理等を行う。更に、保守運用機能部23は、検索等のための通信のトラフィック量を分析するトラフィック分析機能や、API集約装置24からグルメ検索機能等のAPIにリクエスト情報を送れるようにするエンジニアリング機能を有する。   Returning to FIG. 1, the maintenance operation function unit 23 determines whether processing for maintaining the API aggregating device 24, processing for actually connecting the API to the API aggregating device 24, and whether API compatibility processing is actually executed. Perform processing. Furthermore, the maintenance operation function unit 23 has a traffic analysis function for analyzing the traffic volume of communication for search and the like, and an engineering function that enables request information to be sent from the API aggregation device 24 to an API such as a gourmet search function.

次に、図3にAPI集約装置24の特徴構成を示す。このAPI集約装置24は、信号受信部21aと、信号情報蓄積部(蓄積部ともいう)21bと、信号送信部21cと、互換動作実行判断部(判断部ともいう)21dと、互換動作実行部(実行部ともいう)21eと、API互換情報DB(DBともいう)21fと、信号変換部21gと、開発者ポータル機能部22とを備えて構成されている。   Next, FIG. 3 shows a characteristic configuration of the API aggregation device 24. The API aggregation device 24 includes a signal reception unit 21a, a signal information storage unit (also referred to as storage unit) 21b, a signal transmission unit 21c, a compatible operation execution determination unit (also referred to as determination unit) 21d, and a compatible operation execution unit. It includes 21e (also referred to as an execution unit), an API compatible information DB (also referred to as DB) 21f, a signal conversion unit 21g, and a developer portal function unit 22.

但し、破線枠21で囲む次の要素がAPI処理機能部21(図1参照)の機能を分割した構成要素である。即ち、信号受信部21a、信号情報蓄積部21b、信号送信部21c、互換動作実行判断部21d、互換動作実行部21e、API互換情報DB21f及び信号変換部21gが、API処理機能部21の構成要素である。   However, the next element enclosed by the broken line frame 21 is a component obtained by dividing the function of the API processing function unit 21 (see FIG. 1). That is, the signal receiving unit 21a, the signal information accumulating unit 21b, the signal transmitting unit 21c, the compatible operation execution determining unit 21d, the compatible operation executing unit 21e, the API compatible information DB 21f, and the signal converting unit 21g are components of the API processing function unit 21. It is.

なお、API互換情報DB21fは請求項記載のデータベースを構成し、信号情報蓄積部21bは請求項記載の蓄積部、互換動作実行判断部21dは請求項記載の判断部、信号変換部21gは請求項記載の変換部、信号送信部21cは請求項記載の送信部を構成する。   The API compatible information DB 21f constitutes a database described in the claims, the signal information storage unit 21b is the storage unit described in the claims, the compatible operation execution determination unit 21d is the determination unit described in the claims, and the signal conversion unit 21g is the claim. The conversion unit and the signal transmission unit 21c described above constitute the transmission unit described in the claims.

ここで、図3のAPI集約装置24で用いられるリクエスト情報とレスポンス情報の構成を、図4を参照して説明する。
図4(a)に示すように、リクエスト情報qは、メソッド及びURI(Uniform Resource Identifier)を有するリクエスト部qrと、ヘッダ情報及び認証情報を有するヘッダ部qhと、データ形式及びパラメータを有するボディ部qbとから構成されている。
Here, the configuration of request information and response information used in the API aggregation device 24 of FIG. 3 will be described with reference to FIG.
As shown in FIG. 4A, the request information q includes a request part qr having a method and a URI (Uniform Resource Identifier), a header part qh having header information and authentication information, and a body part having a data format and parameters. qb.

図4(b)に示すように、レスポンス情報pは、ステータスコードを有するレスポンス部prと、ヘッダ情報を有するヘッダ部phと、データ形式及びパラメータを有するボディ部pbとから構成されている。   As shown in FIG. 4B, the response information p includes a response part pr having a status code, a header part ph having header information, and a body part pb having a data format and parameters.

次に、図5(a)及び(b)に、リクエスト情報qとレスポンス情報pの構成例を示し、その説明を行う。
図5(a)に示すリクエスト情報qにおいて、リクエスト部qrの情報は、例えば、「POST/apiName/v1/calls」である。「POST」がメソッドであり、「apiName/v1/calls」がURIである。
ヘッダ部qhの情報は、例えば、「Authorization API−KEY:h47tq384」である。「Authorization」がヘッダ情報であり、「API−KEY:h47tq384」が認証情報である。
Next, FIGS. 5A and 5B show configuration examples of the request information q and the response information p, which will be described.
In the request information q shown in FIG. 5A, the information of the request part qr is “POST / apiName / v1 / calls”, for example. “POST” is a method, and “apiName / v1 / calls” is a URI.
The information of the header part qh is, for example, “Authorization API-KEY: h47tq384”. “Authorization” is header information, and “API-KEY: h47tq384” is authentication information.

ボディ部qbの情報は、例えば、「{“name”:“Alice” “from”:”0422−59−1111” “to”:“0422−59−2222”}」である。{}内の全ての文字列がパラメータである。データ形式は、例えばJSON形式である。   The information of the body part qb is, for example, “{“ name ”:“ Alice ”“ from ”:“ 0422-59-1111 ”“ to ”:“ 0422-59-2222 ”}”. All character strings in {} are parameters. The data format is, for example, the JSON format.

次に、図5(b)に示すレスポンス情報pにおいて、レスポンス部prの情報は、例えば、「200 OK」であり、これがステータスコードである。
ヘッダ部phの情報は、例えば、「Location http://xxx/aaa/v1/bb」であり、これがヘッダ情報である。
Next, in the response information p shown in FIG. 5B, the information in the response part pr is, for example, “200 OK”, which is a status code.
The information of the header part ph is, for example, “Location http: // xxx / aaa / v1 / bb”, which is header information.

ボディ部pbの情報は、例えば、「{“id”:“001”}」であり、これがパラメータである。データ形式は、例えばJSON形式である。   The information of the body part pb is, for example, “{“ id ”:“ 001 ”}”, which is a parameter. The data format is, for example, the JSON format.

図3に戻って、DB21fは、API互換情報を記憶するものである。API互換情報は、前述したように、複数のAPIに繋がる機能に何らかの互換性がある場合に、その互換性を有するAPIの対応関係を示す情報である。API互換情報には、差分パラメータ、類似率等が有る。   Returning to FIG. 3, the DB 21 f stores API compatibility information. As described above, the API compatibility information is information indicating a correspondence relationship between APIs having compatibility when functions connected to a plurality of APIs have some compatibility. The API compatible information includes a difference parameter, a similarity rate, and the like.

差分パラメータについて説明する。例えば、一方のAPI28bに係るリクエスト情報に、パラメータとして送信元の電話番号と送信先の電話番号が保持されており、他方のAPI28cに係るリクエスト情報に、パラメータとして送信元の電話番号と送信先のURL(Uniform Resource Locator)が保持されているとする。この場合、パラメータは共通であるが、電話番号とURLとに差分があるので、これを差分パラメータという。
類似率は、2つのAPI28b,28cに係る各全体情報における類似した情報の比率である。例えば、類似率は、全体情報(例えば100)から差分パラメータ等の差分(例えば20)を減算した結果(80)が、全体情報(100)に占める割合である。
The difference parameter will be described. For example, in the request information related to one API 28b, the telephone number of the transmission source and the telephone number of the transmission destination are held as parameters, and in the request information related to the other API 28c, the telephone number of the transmission source and the transmission destination are set as parameters. Assume that a URL (Uniform Resource Locator) is held. In this case, although the parameters are common, there is a difference between the telephone number and the URL, and this is called a difference parameter.
The similarity rate is a ratio of similar information in each of the overall information related to the two APIs 28b and 28c. For example, the similarity rate is the ratio of the total information (100) to the result (80) obtained by subtracting a difference (eg, 20) such as a difference parameter from the overall information (eg, 100).

ポータル機能部22は、DB21fから、矢印Y0で示す信号により、API処理機能部21により公開されているAPIに互換性のあるAPI互換情報を取得し、このAPI互換情報に応じて各APIを対応付けて登録する。   The portal function unit 22 acquires API compatible information compatible with the API published by the API processing function unit 21 from the DB 21f by a signal indicated by the arrow Y0, and supports each API according to the API compatible information. Add and register.

ここで、アプリ開発者30は、図示せぬ通信端末機により、矢印Y1で示す信号により、API利用時に利用するAPIと、これに対応付けられているAPIとを、ポータル機能部22から選択し、これらの選択したAPIを、破線矢印Y2で示す信号によりアプリ25aに関連付ける。   Here, the application developer 30 selects an API to be used when using the API and an API associated with the API from the portal function unit 22 using a communication terminal (not shown) by a signal indicated by an arrow Y1. These selected APIs are associated with the application 25a by a signal indicated by a dashed arrow Y2.

アプリ25aは、矢印Y3で示す信号により、API集約装置24を介して、当該アプリ25aに関連付けられたAPI(例えば図1の28b)に向けてリクエスト情報を送信する。この送信されたリクエスト情報は、API集約装置24の信号受信部21aで受信される。   The application 25a transmits request information to an API (for example, 28b in FIG. 1) associated with the application 25a via the API aggregation device 24 by a signal indicated by an arrow Y3. The transmitted request information is received by the signal receiving unit 21a of the API aggregation device 24.

信号受信部21aは、矢印Y4で示す信号により、受信したリクエスト情報を蓄積部21bに記憶して蓄積する。また、信号受信部21aは、矢印Y5で示す信号により、同リクエスト情報を信号送信部21cへ出力する。   The signal receiving unit 21a stores and accumulates the received request information in the accumulating unit 21b according to the signal indicated by the arrow Y4. Further, the signal reception unit 21a outputs the request information to the signal transmission unit 21c by a signal indicated by an arrow Y5.

信号送信部21cは、矢印Y6で示す信号により、そのリクエスト情報をAPI28b(図1参照)を介してイネーブラ27bへ送信する。
イネーブラ27bは、受信したリクエスト情報に応じたレスポンス情報を、矢印Y7で示す信号により、API28b(図1参照)を介して信号受信部21aへ送信する。
信号受信部21aは、イネーブラ27bから受信したレスポンス情報を、矢印Y8で示す信号により、判断部21dへ出力する。
The signal transmission unit 21c transmits the request information to the enabler 27b via the API 28b (see FIG. 1) by a signal indicated by an arrow Y6.
The enabler 27b transmits response information corresponding to the received request information to the signal receiving unit 21a via the API 28b (see FIG. 1) as a signal indicated by an arrow Y7.
The signal receiving unit 21a outputs the response information received from the enabler 27b to the determination unit 21d using a signal indicated by an arrow Y8.

判断部21dは、信号受信部21aからレスポンス情報を受信すると、蓄積部21bから矢印Y9で示す信号により、受信したレスポンス情報に対応するリクエスト情報を取得する。更に、判断部21dは、DB21fから矢印Y10で示す信号により、ポータル機能部22で先に取得され、矢印Y3で示したリクエスト情報の送信契機となったAPI互換情報を取得する。   When receiving the response information from the signal receiving unit 21a, the determining unit 21d acquires request information corresponding to the received response information from the accumulation unit 21b using a signal indicated by an arrow Y9. Further, the determination unit 21d acquires the API compatible information that was previously acquired by the portal function unit 22 and that triggered the transmission of the request information indicated by the arrow Y3 by the signal indicated by the arrow Y10 from the DB 21f.

更に、判断部21dは、上記の取得したリクエスト情報へのレスポンス情報の対応関係から、当該レスポンス情報の送信元のイネーブラ27bが正常か、機能不全かを判断する。この機能不全とは、(1)レスポンス情報を受信せず、タイムアウトとなった場合、(2)レスポンス情報としてエラー情報が返ってきた場合、(3)所望以外のレスポンス情報が返ってきた場合等である。   Further, the determination unit 21d determines whether the enabler 27b that is the transmission source of the response information is normal or malfunctioning from the correspondence relationship of the response information to the acquired request information. This malfunction is (1) when response information is not received and a timeout occurs, (2) when error information is returned as response information, (3) when response information other than desired is returned, etc. It is.

判断部21dの判断において、レスポンス情報の内容がリクエスト情報の内容に適合していれば、正常なので、この場合、レスポンス情報は、実行部21e及び信号変換部21gを通過して信号送信部21cから、API26b(図1参照)を介してアプリ25aへ返信される。   In the determination by the determination unit 21d, if the content of the response information matches the content of the request information, it is normal. In this case, the response information passes through the execution unit 21e and the signal conversion unit 21g and is transmitted from the signal transmission unit 21c. , It is returned to the application 25a via the API 26b (see FIG. 1).

一方、レスポンス情報の内容がリクエスト情報の内容と全く対応していなかったり、レスポンス情報の内容が、この送信元のイネーブラ27bの機能不全を示す情報である場合、判断部21dは、イネーブラ27bが機能不全と判断する。   On the other hand, when the content of the response information does not correspond to the content of the request information at all, or the content of the response information is information indicating a malfunction of the enabler 27b of the transmission source, the determination unit 21d determines that the enabler 27b is functioning. Judged as incomplete.

この機能不全と判断した判断部21dは、先に取得したAPI互換情報によりAPI互換動作(互換動作ともいう)が可能か否かを判断する。つまり、レスポンス情報の送信元のイネーブラ27bに、他のイネーブラが対応付けられているか否かを判断する。対応付けられていない場合、判断部21dは互換動作が不可能と判断する。この場合、判断部21dは、矢印Y11で示す信号により、実行部21eへ互換動作不可能の情報を出力する。この情報を受けた実行部21eは、エラー情報を、矢印Y12,Y13,Y14で示す信号により、実行部21e及び信号変換部21gを介して信号送信部21cから、API26b(図1参照)を更に介してアプリ25aへ返信する。これにより、アプリ25aに係る例えばスマートフォンのユーザは、所望の検索内容が検索不能であることを認識できる。   The determination unit 21d that has determined that the function is malfunctioning determines whether an API compatible operation (also referred to as a compatible operation) is possible based on the previously acquired API compatibility information. That is, it is determined whether or not another enabler is associated with the enabler 27b that is the transmission source of the response information. If they are not associated with each other, the determination unit 21d determines that the compatible operation is impossible. In this case, the determination unit 21d outputs information indicating that the compatible operation is not possible to the execution unit 21e by a signal indicated by an arrow Y11. Upon receiving this information, the execution unit 21e further sends error information to the API 26b (see FIG. 1) from the signal transmission unit 21c via the execution unit 21e and the signal conversion unit 21g according to the signals indicated by the arrows Y12, Y13, and Y14. Through the application 25a. Thereby, the user of the smartphone related to the application 25a can recognize that the desired search content cannot be searched.

一方、レスポンス情報の送信元のイネーブラ27bに、他のイネーブラ(例えば27c)が対応付けられている場合、判断部21dは互換動作が可能と判断する。この場合、判断部21dは、矢印Y11で示す信号により、実行部21eへ互換動作可能の情報を出力する。互換動作可能を受けた実行部21eは、矢印Y12で示す信号により、機能不全のイネーブラ27b及びこれに対応付けられたイネーブラ27cのAPI互換情報を信号変換部21gへ出力する。   On the other hand, when another enabler (for example, 27c) is associated with the enabler 27b that is the transmission source of the response information, the determination unit 21d determines that a compatible operation is possible. In this case, the determination unit 21d outputs information indicating that the compatible operation is possible to the execution unit 21e by a signal indicated by an arrow Y11. The execution unit 21e that has received the compatible operation outputs the API compatible information of the malfunction enabler 27b and the enabler 27c associated therewith to the signal conversion unit 21g by the signal indicated by the arrow Y12.

信号変換部21gは、機能不全のイネーブラ27bへAPI28bを介して送信されたリクエスト情報を、対応イネーブラ27cに繋がる対応API28cへのリクエスト情報に変換し、これを、矢印Y13で示す信号により、信号送信部21cへ出力する。信号送信部21cは、その対応API28cへのリクエスト情報を、矢印Y15で示す信号により、API28c(図1参照)を介して対応イネーブラ27cへ送信する。   The signal conversion unit 21g converts the request information transmitted to the malfunctioning enabler 27b via the API 28b into request information to the corresponding API 28c connected to the corresponding enabler 27c, and this signal is transmitted by a signal indicated by an arrow Y13. To the unit 21c. The signal transmission unit 21c transmits request information to the corresponding API 28c to the corresponding enabler 27c via the API 28c (see FIG. 1) by a signal indicated by an arrow Y15.

対応イネーブラ27cは、受信したリクエスト情報に応じたレスポンス情報を、矢印Y16で示す信号により信号受信部21aへ送信する。この信号受信部21aは、受信したレスポンス情報を、矢印Y17で示す信号により信号変換部21gへ出力する。   The corresponding enabler 27c transmits response information corresponding to the received request information to the signal receiving unit 21a by a signal indicated by an arrow Y16. The signal reception unit 21a outputs the received response information to the signal conversion unit 21g as a signal indicated by an arrow Y17.

信号変換部21gは、対応イネーブラ27cから受信したレスポンス情報を、機能不全のイネーブラ27bから本来適性に出力されるレスポンス情報に整合するように変換し、この変換されたレスポンス情報を、矢印Y18で示す信号により、信号送信部21cへ入力する。信号送信部21cは、その入力されたレスポンス情報を、矢印Y14で示す信号により、API26bを介してアプリ25aへ送信する。   The signal conversion unit 21g converts the response information received from the corresponding enabler 27c so as to match the response information originally output properly from the malfunctioning enabler 27b, and the converted response information is indicated by an arrow Y18. The signal is input to the signal transmission unit 21c. The signal transmission unit 21c transmits the input response information to the application 25a via the API 26b by a signal indicated by an arrow Y14.

この際、アプリ25aへのレスポンス情報が、対応イネーブラ27c(又は対応API28c)からの情報である内容を付してもよい。また、対応イネーブラ27c(又は対応API28c)からの応答であるレスポンス情報が、アプリ25aの所望の応答になるようにレスポンス情報を変更して、アプリ25aへ返信してもよい。この場合、図4(b)に示したレスポンス情報pのレスポンス部pr、ヘッダ部ph及びボディ部pbの何れかの情報を変更することになる。例えば、図5(b)に示すボディ部pbでは、データ形式がJSON形式であるが、これをXML形式に変換することができる。   At this time, the response information to the application 25a may be added with content that is information from the corresponding enabler 27c (or the corresponding API 28c). Further, the response information may be changed so that the response information that is a response from the corresponding enabler 27c (or the corresponding API 28c) becomes a desired response of the application 25a and returned to the application 25a. In this case, any information of the response part pr, the header part ph, and the body part pb of the response information p shown in FIG. 4B is changed. For example, in the body part pb shown in FIG. 5B, the data format is the JSON format, but this can be converted into the XML format.

なお、信号変換部21gは、上述したように、対応イネーブラ27cから受信したレスポンス情報を、本来適性に出力されるレスポンス情報に整合するように変換するが、この変換を行わず、その受信したレスポンス情報をアプリ25aへ送信するようにしてもよい。   Note that, as described above, the signal conversion unit 21g converts the response information received from the corresponding enabler 27c so as to match the response information that is originally properly output, but does not perform this conversion, and the received response Information may be transmitted to the application 25a.

このような構成の図3に示すAPI集約装置24は、各機能部を、リクエスト情報に対する処理部と、レスポンス情報に対する処理部とを分けて構成してもよい。   In the API aggregation device 24 shown in FIG. 3 having such a configuration, each functional unit may be configured by dividing a processing unit for request information and a processing unit for response information.

次に、前述した互換動作のパターンについて説明する。互換動作のパターンは、図6及び図7に示すように、第1〜第4の4つのパターンがある。図6(a)に第1パターン、(b)に第2パターン、図7(a)に第3パターン、(b)に第4パターンを示す。但し、全てのパターンにおいて、イネーブラ27bにイネーブラ27cが対応付けられているとする。これにより、各イネーブラ27b,27cに繋がるAPI28bにAPI28cが対応付けられ、また、アプリ25a側のAPI26bにAPI26cが対応付けられている。   Next, the compatibility operation pattern described above will be described. As shown in FIGS. 6 and 7, the compatible operation patterns include the first to fourth patterns. 6A shows the first pattern, FIG. 6B shows the second pattern, FIG. 7A shows the third pattern, and FIG. 6B shows the fourth pattern. However, in all patterns, it is assumed that the enabler 27c is associated with the enabler 27b. Thus, the API 28c is associated with the API 28b connected to each enabler 27b, 27c, and the API 26c is associated with the API 26b on the application 25a side.

図6(a)及び(b)に示す第1及び第2パターンは、互換動作として、×印で示す機能不全となったイネーブラ27bに繋がるAPI28bに代わりに、矢印q3で示すように、アプリ25a側の対応API26cにリクエストする場合のパターンである。   In the first and second patterns shown in FIGS. 6A and 6B, as the compatible operation, as shown by an arrow q3 in place of the API 28b connected to the enabler 27b that has failed, the application 25a This is a pattern for making a request to the corresponding API 26c on the side.

図6(a)に示す第1パターンは、アプリ25aから矢印q1,q2で示すように、API26b、API集約装置24、API28bを介してイネーブラ27bへリクエスト情報を送信したが、イネーブラ27bが×印で示すように機能不全であり、この不全内容のレスポンス情報が、矢印p1で示すようにAPI集約装置24に返ってきた場合である。この場合、API集約装置24は、互換動作が可能か否かを判断し、可能な場合に、矢印q3で示すように、アプリ25a側のAPI26cにリクエスト情報を送信する。   In the first pattern shown in FIG. 6A, request information is transmitted from the application 25a to the enabler 27b via the API 26b, the API aggregation device 24, and the API 28b, as indicated by arrows q1 and q2. In this case, the function is malfunctioning, and the response information of the malfunction content is returned to the API aggregation device 24 as indicated by an arrow p1. In this case, the API aggregation device 24 determines whether or not the compatible operation is possible, and if possible, transmits request information to the API 26c on the application 25a side as indicated by an arrow q3.

このリクエスト情報は、矢印q4で示すように対応API28cを介して対応イネーブラ27cへ送信される。これにより、対応イネーブラ27cがそのリクエスト情報に応じたレスポンス情報を、矢印p2で示すようにAPI集約装置24へ送信する。API集約装置24は、対応イネーブラ27cから受信したレスポンス情報を、機能不全のイネーブラ27bから本来適性に出力されるレスポンス情報に整合するように変換し、この変換されたレスポンス情報を、矢印p3,p4で示すように、API26bを介してアプリ25aへ返信する。   This request information is transmitted to the corresponding enabler 27c via the corresponding API 28c as indicated by the arrow q4. Accordingly, the corresponding enabler 27c transmits response information corresponding to the request information to the API aggregation device 24 as indicated by an arrow p2. The API aggregating apparatus 24 converts the response information received from the corresponding enabler 27c so as to match the response information originally output properly from the malfunctioning enabler 27b, and converts the converted response information into the arrows p3 and p4. As shown by, it returns to the application 25a via the API 26b.

図6(b)に示す第2パターンにおいて、矢印q1,q2,p1,q3,q4,p2の順序で示す動作は、第1パターンと同様である。この後、矢印p2で示す対応イネーブラ27cからのレスポンス情報を受信したAPI集約装置24は、対応イネーブラ27cから受信したレスポンス情報を、機能不全のイネーブラ27bから本来適性に出力されるレスポンス情報に整合するように変換し、この変換されたレスポンス情報を、矢印p5で示すように、API26cを介してアプリ25aへ返信する。   In the second pattern shown in FIG. 6B, the operations shown in the order of arrows q1, q2, p1, q3, q4, and p2 are the same as those in the first pattern. Thereafter, the API aggregating apparatus 24 that has received the response information from the corresponding enabler 27c indicated by the arrow p2 matches the response information received from the corresponding enabler 27c with the response information originally output from the malfunctioning enabler 27b. The response information thus converted is returned to the application 25a via the API 26c as indicated by an arrow p5.

図7(a)及び(b)に示す第3及び第4パターンは、互換動作として、×印で示す機能不全となったイネーブラ27bに繋がるAPI28bに代わりに、矢印q5で示すように、対応イネーブラ27c側の対応API28cにリクエストする場合のパターンである。   The third and fourth patterns shown in FIGS. 7A and 7B are compatible enablers as shown by an arrow q5 in place of the API 28b connected to the enabler 27b that has malfunctioned as indicated by a cross. This is a pattern for making a request to the corresponding API 28c on the 27c side.

図7(a)に示す第3パターンにおいて、矢印q1,q2,p1の順序で示す動作は、第1パターンと同様である。この後、矢印q4で示すように、機能不全のイネーブラ27bからの不全内容のレスポンス情報を受信したAPI集約装置24は、互換動作が可能か否かを判断し、可能な場合に、矢印q5で示すように、対応API28cを介して対応イネーブラ27cへリクエスト情報を送信する。   In the third pattern shown in FIG. 7A, operations in the order of arrows q1, q2, and p1 are the same as those in the first pattern. Thereafter, as indicated by an arrow q4, the API aggregation device 24 that has received the response information of the failure content from the malfunction enabler 27b determines whether or not the compatible operation is possible. As shown, the request information is transmitted to the corresponding enabler 27c via the corresponding API 28c.

このリクエスト情報は、矢印q4で示すように対応API28cを介して対応イネーブラ27cへ送信される。これにより、対応イネーブラ27cがそのリクエスト情報に応じたレスポンス情報を、矢印p2で示すようにAPI集約装置24へ送信する。API集約装置24は、対応イネーブラ27cから受信したレスポンス情報を、機能不全のイネーブラ27bから本来適性に出力されるレスポンス情報に整合するように変換し、この変換されたレスポンス情報を、矢印p3,p4で示すように、API26bを介してアプリ25aへ返信する。これにより、アプリ25aに係る例えばスマートフォンのユーザは、所望の検索内容を確認することができる。   This request information is transmitted to the corresponding enabler 27c via the corresponding API 28c as indicated by the arrow q4. Accordingly, the corresponding enabler 27c transmits response information corresponding to the request information to the API aggregation device 24 as indicated by an arrow p2. The API aggregating apparatus 24 converts the response information received from the corresponding enabler 27c so as to match the response information originally output properly from the malfunctioning enabler 27b, and converts the converted response information into the arrows p3 and p4. As shown by, it returns to the application 25a via the API 26b. Thereby, the user of the smart phone which concerns on the application 25a can confirm desired search content, for example.

図7(b)に示す第4パターンにおいて、矢印q1,q2,p1,q5,q4,p2の順序で示す動作は、第3パターンと同様である。この後、矢印p2で示す対応イネーブラ27cからのレスポンス情報を受信したAPI集約装置24は、対応イネーブラ27cから受信したレスポンス情報を、機能不全のイネーブラ27bから本来適性に出力されるレスポンス情報に整合するように変換し、この変換されたレスポンス情報を、矢印p5で示すように、API26cを介してアプリ25aへ返信する。   In the fourth pattern shown in FIG. 7B, the operations shown in the order of arrows q1, q2, p1, q5, q4, and p2 are the same as those in the third pattern. Thereafter, the API aggregating apparatus 24 that has received the response information from the corresponding enabler 27c indicated by the arrow p2 matches the response information received from the corresponding enabler 27c with the response information originally output from the malfunctioning enabler 27b. The response information thus converted is returned to the application 25a via the API 26c as indicated by an arrow p5.

このような第1〜第4パターンの互換動作は、図3に示したAPI集約装置24の判断部21dが互換動作可能と判断した際に、実行部21eを介して信号送信部21cが行うようになっている。実質的には、信号送信部21cに第1〜第4パターンの何れか1つの互換動作を行うためのプログラムや回路が予め形成されている。   Such compatible operation of the first to fourth patterns is performed by the signal transmission unit 21c via the execution unit 21e when the determination unit 21d of the API aggregation device 24 illustrated in FIG. 3 determines that the compatible operation is possible. It has become. In practice, a program and a circuit for performing any one of the compatible operations of the first to fourth patterns are formed in advance in the signal transmission unit 21c.

<実施形態の動作>
次に、本実施形態に係るAPI集約装置24による互換動作を説明する。但し、互換動作として上述した第2パターンの場合を代表して説明する。図8に第2パターンの構成図を示す。
<Operation of Embodiment>
Next, a compatible operation by the API aggregation device 24 according to the present embodiment will be described. However, the case of the second pattern described above as a compatible operation will be described as a representative. FIG. 8 shows a configuration diagram of the second pattern.

また、図9に第2パターンの互換動作において送受信されるリクエスト情報qの具体例を示し、図10にレスポンス情報pの具体例を示し、図11(a)にリクエスト情報のパラメータ(リクエストパラメータ)の具体例を示し、図11(b)にレスポンス情報のパラメータ(レスポンスパラメータ)の具体例を示す。これらの図9〜図11に示すリクエスト情報q及びレスポンス情報pの具体例は、図4(a)及び(b)に示したリクエスト情報q及びレスポンス情報pの基本構成に対応している。   FIG. 9 shows a specific example of request information q transmitted and received in the second pattern compatible operation, FIG. 10 shows a specific example of response information p, and FIG. 11A shows request information parameters (request parameters). FIG. 11B shows a specific example of response information parameters (response parameters). The specific examples of the request information q and the response information p shown in FIGS. 9 to 11 correspond to the basic configuration of the request information q and the response information p shown in FIGS. 4 (a) and 4 (b).

図9に示すリクエスト情報qは、当該リクエスト情報qのリクエスト項目(リクエスト形式)として、メソッド種別、URI形式、ヘッダ情報、認証情報、データ形式を記載している。図10に示すレスポンス情報pは、当該レスポンス情報pのレスポンス項目(レスポンス形式)として、ステータスコード、ヘッダ情報、データ形式を記載している。   The request information q shown in FIG. 9 describes the method type, URI format, header information, authentication information, and data format as request items (request format) of the request information q. The response information p shown in FIG. 10 describes a status code, header information, and data format as response items (response format) of the response information p.

本互換動作を行うための互換性の例では、パラメータの互換性について説明する。但し、パラメータ以外にも互換性を保つことが可能である。APIを集約する本実施形態のAPI集約装置24(図8参照)では、受信したリクエスト情報q及び、送信するレスポンス情報p、送受信する信号の全てについて互換のための変換を可能とする機能を持つ。例えば、認証情報(具体例は図5参照)が異なる場合に、当該認証情報を統一すること、図10に示すデータ形式を異なる形式に変換、例えばJSON形式をXML形式に変換(又はXML形式をJSON形式に変換)することが可能である。つまり、データ形式が異なっていても互換性を保つことができる。   In the compatibility example for performing this compatibility operation, parameter compatibility will be described. However, it is possible to maintain compatibility other than parameters. The API aggregating apparatus 24 (see FIG. 8) that aggregates APIs has a function that enables conversion for compatibility with respect to all of received request information q, transmitted response information p, and transmitted / received signals. . For example, if the authentication information (see FIG. 5 for a specific example) is different, unify the authentication information, convert the data format shown in FIG. 10 into a different format, for example, convert the JSON format to the XML format (or change the XML format) (Converted into JSON format). That is, compatibility can be maintained even if the data formats are different.

図8に示すAグルメ検索機能27bとBグルメ検索機能27cとは、前述したように、異なる企業が提供する飲食店情報を特定する検索機能である。アプリ25aから各検索機能27b,27cに、図11(a)に示すリクエストパラメータとしての店舗名と、緯度及び経度とをリクエスト情報で与えると、図11(b)に示すレスポンスパラメータとしての住所、カテゴリ及びURLがレスポンス情報として返信されるようになっている。   The A gourmet search function 27b and the B gourmet search function 27c shown in FIG. 8 are search functions for specifying restaurant information provided by different companies, as described above. When the store name, latitude, and longitude as request parameters shown in FIG. 11A are given to the search functions 27b and 27c from the application 25a as request information, an address as a response parameter shown in FIG. The category and URL are returned as response information.

図9のURI形式に示すように、Aグルメ検索機能27bの送信先は、「http://api.sample.com/gourmetA/」となっている。これは、APIを集約するAPI集約装置24で該当のAPIを公開するときに、「http://api.sample.com/」というようにドメイン名を共通化してAPIをリストとして公開しているためである。   As shown in the URI format of FIG. 9, the transmission destination of the A gourmet search function 27b is “http://api.sample.com/goulmetA/”. This is because when the API is released by the API aggregating apparatus 24 that aggregates the API, the API is listed as a list with a common domain name such as “http://api.sample.com/”. Because.

図11(a)及び(b)に示すAグルメ検索機能27b及びBグルメ検索機能27cの各々は、リクエスト情報q及びレスポンス情報pの各々に含むパラメータの意味は全く同じで、名称が異なる場合を示している。例えば、店舗名を表すAグルメ検索機能27bでは「name」が、Bグルメ検索機能27cでは「ShopName」となっているが、全く同じ内容を表している。このため、その単語の比較対象リストを、API互換情報DB21f(図3参照)に保持することで互換性を表すことができる。また、API26b,26cでは、異なるAPIであっても同じ意味のパラメータは同じパラメータ名で設計している。   Each of the A gourmet search function 27b and the B gourmet search function 27c shown in FIGS. 11 (a) and 11 (b) has the same meaning of parameters included in each of the request information q and the response information p, and the names are different. Show. For example, “name” is displayed in the A gourmet search function 27b representing the store name, and “ShopName” is displayed in the B gourmet search function 27c. Therefore, compatibility can be expressed by holding the comparison target list of the word in the API compatibility information DB 21f (see FIG. 3). In APIs 26b and 26c, parameters having the same meaning are designed with the same parameter names even if they are different APIs.

このような内容のリクエスト情報q及びレスポンス情報pが用いられる場合において、本実施形態のAPI集約装置24による第2パターンの場合の互換動作を、図12及び図13に示すフローチャートを参照して説明する。   When the request information q and the response information p having such contents are used, the compatible operation in the case of the second pattern by the API aggregation device 24 of the present embodiment will be described with reference to the flowcharts shown in FIGS. To do.

但し、ユーザが図示せぬスマホで飲食店情報を検索するものとする。この際に、スマホに図8に示すアプリケーション25aをインストールし、そのアプリ25aからインターネットを介して各API28a〜28dにアクセスして、各機能27a〜27dから所望の飲食店情報を取得するものとする。   However, the user searches for restaurant information on a smartphone (not shown). At this time, the application 25a shown in FIG. 8 is installed on the smartphone, and the APIs 28a to 28d are accessed from the application 25a via the Internet, and desired restaurant information is acquired from the functions 27a to 27d. .

図12に示すステップS1において、アプリケーション25aが飲食店の位置情報取得のためのリクエスト情報qを、矢印q11で示す信号により、API26a、API集約装置24、API28aを介して位置情報取得機能27aへ送信する。このリクエスト情報qを受信した位置情報取得機能27aは、リクエスト情報qに応じた位置情報のレスポンス情報pを、矢印p11で示す信号により、API28a、API集約装置24、API26aを介してアプリ25aへ返信する。これにより、アプリ25aで飲食店の位置情報が取得される。   In step S1 shown in FIG. 12, the application 25a transmits request information q for restaurant location information acquisition to the location information acquisition function 27a via the API 26a, the API aggregation device 24, and the API 28a by a signal indicated by an arrow q11. To do. The position information acquisition function 27a that has received the request information q returns response information p of the position information corresponding to the request information q to the application 25a via the API 28a, the API aggregation device 24, and the API 26a by a signal indicated by an arrow p11. To do. Thereby, the location information of the restaurant is acquired by the application 25a.

これにより、スマホに飲食店の位置が表示され、ユーザは、その位置の周辺にどの様な飲食店があるかを検索可能となる。ここでユーザが、スマホにおいて、その飲食店検索のための操作を行ったとすると、次のような動作が実行される。   Thereby, the position of the restaurant is displayed on the smartphone, and the user can search what kind of restaurant is around the position. If the user performs an operation for searching for the restaurant on the smartphone, the following operation is executed.

ステップS2において、アプリ25aはAPI集約装置24に対して、Aグルメ検索機能27bのAPI26b「例えば図9に示すhttp://api.sample.com/gourmetA」に、次の文字列のリクエスト情報q(矢印q12)を送信する。
このリクエスト情報qは、例えば「GET http://api.sample.com/gourmetA?name=xxx&latitude=36.124&longitude=136.224」である。
このリクエスト情報qは、API集約装置24の蓄積部21b(図3)に一旦記憶(蓄積)される。
In step S2, the application 25a sends the request information q of the next character string to the API 26b of the A gourmet search function 27b “for example, http://api.sample.com/gourmetA” shown in FIG. (Arrow q12) is transmitted.
The request information q is “GET http://sample.sample.com/ourmetA?name=xxx&latitude=36.124&longitude=136.224”, for example.
The request information q is temporarily stored (accumulated) in the accumulation unit 21b (FIG. 3) of the API aggregation device 24.

次に、ステップS3において、API集約装置24は、上記ステップS2で受信したリクエスト情報qを、矢印q13で示す信号により、API28b「例えば図9に示すhttp://shopA.xsample.com/searchGourmetA」を介してAグルメ検索機能27bへ送信する。   Next, in step S3, the API aggregating apparatus 24 uses the API 28b “for example, http://shopA.xsample.com/searchGourmetA” shown in FIG. To A gourmet search function 27b.

この送信されるリクエスト情報qは、例えば「GET http://shopA.xsample.com/searchGourmetA?name=xxx&latitude=36.124&longitude=136.224」である。   The request information q to be transmitted is, for example, “GET http://shopA.xsample.com/searchGourmetA?name=xxx&latitud=36.124&longitude=136.224”.

ステップS4において、Aグルメ検索機能27bは、受信したリクエスト情報qに応じたレスポンス情報pを、矢印p13で示す信号により、API28bを介してAPI集約装置24へ返信する。   In step S4, the A gourmet search function 27b returns response information p corresponding to the received request information q to the API aggregation device 24 via the API 28b by a signal indicated by an arrow p13.

ここで、ステップS5において、API集約装置24は、上記ステップS4で受信されたレスポンス情報pが、タイムアウトとならず適正に受信されたか否かを判断する。この結果、適正に受信された場合(Yes)、ステップS6において、API集約装置24は、レスポンス情報pにエラー情報が無いか否かを判断する。この結果、エラー情報が無ければ(Yes)、ステップS7において、API集約装置24は、上記ステップS3で記憶したリクエスト情報を蓄積部21bから取得する。   Here, in step S5, the API aggregating apparatus 24 determines whether or not the response information p received in step S4 has been properly received without timing out. As a result, if it is properly received (Yes), in step S6, the API aggregation device 24 determines whether or not there is error information in the response information p. As a result, if there is no error information (Yes), in step S7, the API aggregation device 24 acquires the request information stored in step S3 from the storage unit 21b.

ステップS8において、API集約装置24は、上記ステップS5で受信されたレスポンス情報pが、上記ステップS7で取得されたリクエスト情報qの内容に適合しており、所望のレスポンス情報pか否かを判断する。この結果、所望のレスポンス情報pであれば(Yes)、ステップS9に進む。   In step S8, the API aggregating apparatus 24 determines whether or not the response information p received in step S5 matches the content of the request information q acquired in step S7 and is the desired response information p. To do. As a result, if the response information is desired p (Yes), the process proceeds to step S9.

ステップS9において、API集約装置24は、所望のレスポンス情報pがAPI28bに係る対応API(又は対応機能)28cからのレスポンス情報が否かを判断する。この結果が、対応API(又は対応機能)からのレスポンス情報で無ければ(No)、ステップS10において、API集約装置24は、レスポンス情報をAPI26bを介してアプリ25aへ返信(図8には矢印で示さず)する。これにより、アプリ25aに係るスマートフォンのユーザは、所望の検索内容を確認することができる。   In step S9, the API aggregation device 24 determines whether or not the desired response information p is response information from the corresponding API (or corresponding function) 28c related to the API 28b. If this result is not response information from the corresponding API (or corresponding function) (No), in step S10, the API aggregation device 24 returns the response information to the application 25a via the API 26b (in FIG. 8, an arrow indicates Not shown). Thereby, the user of the smart phone which concerns on the application 25a can confirm desired search content.

一方、上記ステップS5において、タイムアウトとなりレスポンス情報pが受信されなかったと判断(No)された場合、上記ステップS6において、レスポンス情報pにエラー情報があると判断(No)された場合、上記ステップS8において、レスポンス情報pが所望のレスポンス情報でないと判断(No)された場合の、何れかの場合は、図13に示すステップS11へ進む。但し、それらステップS5,S6,S8の何れかの判断が(No)の場合は、Aグルメ検索機能27bが機能不全の場合である。   On the other hand, if it is determined in step S5 that the response information p has not been received due to a timeout (No), or if it is determined in step S6 that the response information p has error information (No), step S8 is performed. If it is determined that the response information p is not the desired response information (No), the process proceeds to step S11 shown in FIG. However, when any of these steps S5, S6, and S8 is (No), the A gourmet search function 27b is malfunctioning.

ステップS11において、API集約装置24は、レスポンス情報pを受信したAグルメ検索機能27bに繋がるAPI28bのAPI互換情報を、DB21fから検索して取得する。   In step S11, the API aggregation device 24 searches the DB 21f for API compatible information of the API 28b connected to the A gourmet search function 27b that has received the response information p, and acquires the API compatible information.

ステップS12において、API集約装置24は、その取得したAPI互換情報により、Aグルメ検索機能27bの互換動作が可能か否かを判断する。この結果、不可能(No)と判断された場合、ステップS13において、API集約装置24は、レスポンス情報pとしてエラー情報をアプリ25aへ返信(図8には矢印で示さず)する。これにより、アプリ25aに係るスマートフォンのユーザは、所望の検索内容が検索不能であることを認識できる。   In step S12, the API aggregation device 24 determines whether or not the compatible operation of the A gourmet search function 27b is possible based on the acquired API compatibility information. As a result, if it is determined as impossible (No), in step S13, the API aggregation device 24 returns error information as response information p to the application 25a (not shown by an arrow in FIG. 8). Thereby, the user of the smart phone which concerns on the application 25a can recognize that the desired search content is unsearchable.

一方、上記ステップS12において、互換動作が可能(Yes)と判断された場合、ステップS14において、API集約装置24は、図8に示すAグルメ検索機能27bへAPI26b,28bを介して送信されたリクエスト情報q12を、Aグルメ検索機能27bに対応付けられたBグルメ検索機能27cに繋がる対応API26cへのリクエスト情報qcに変換する。   On the other hand, if it is determined in step S12 that the compatible operation is possible (Yes), in step S14, the API aggregation device 24 sends the request transmitted via the APIs 26b and 28b to the A gourmet search function 27b shown in FIG. The information q12 is converted into request information qc to the corresponding API 26c connected to the B gourmet search function 27c associated with the A gourmet search function 27b.

この変換されたリクエスト情報qcは、ステップS15において、図8に矢印q14で示す信号により対応API26cへ送信され、更に、API集約装置24から矢印q15で示す信号により、API28cを介してBグルメ検索機能27cへ送信される。   In step S15, the converted request information qc is transmitted to the corresponding API 26c by the signal indicated by the arrow q14 in FIG. 8, and further, the B gourmet search function via the API 28c is received from the API aggregation device 24 by the signal indicated by the arrow q15. 27c.

但し、上記の矢印q14で示すリクエスト情報qcは、例えば図9に示すBグルメ検索機能27cのAPI26cのURI形式の「GET http://api.sample.com/gourmetB?shop=xxx&lat=36.124&long=136.224」である。   However, the request information qc indicated by the arrow q14 is, for example, “GET http://sample.com/ourmetB?shop=xxx&lat=36.124&long” in the URI format of the API 26c of the B gourmet search function 27c shown in FIG. = 136.224 ".

また、矢印q15で示すリクエスト情報qcは、例えば図9に示すBグルメ検索機能27cのAPI28cのURI形式の「GET http://shopB.ysample.com/shopSearchB?ShopName=xxx&Lattitude=36.124&Longitude=136.224」である。   Further, the request information qc indicated by the arrow q15 is, for example, “GET http://shopB.ysample.com/shopSearchB?ShopName=xxx&Lattitude=36.de1&L36 .224 ".

Bグルメ検索機能27cは、図12に示すステップS4において、受信したリクエスト情報qcに応じたレスポンス情報pcを、矢印p14で示す信号により、API28cを介してAPI集約装置24へ返信する。   In step S4 shown in FIG. 12, the B gourmet search function 27c returns response information pc corresponding to the received request information qc to the API aggregation device 24 via the API 28c by a signal indicated by an arrow p14.

上記の矢印p14で示すレスポンス情報pcは、例えば「ShopAddress:住所、GenreName:お店ジャンル、ShopUrl:店舗URL」である。   The response information pc indicated by the arrow p14 is, for example, “ShopAddress: address, GenreName: shop genre, ShopUrl: shop URL”.

次に、上述したステップS5,S6,S8の判断結果がNoであれば、ステップS11へ進み、以降上述した処理が同様に行われる。この際、図13のステップS11,S12と進み、ステップS12においてBグルメ検索機能27cの次のグルメ検索機能が無いので、Noと判定され、ステップS13においてエラー情報がアプリ25aへ送信されて処理が終了する。   Next, if the determination result of step S5, S6, S8 mentioned above is No, it will progress to step S11 and subsequent processing mentioned above is performed similarly. At this time, the process proceeds to steps S11 and S12 of FIG. 13, and since there is no gourmet search function next to the B gourmet search function 27c in step S12, it is determined No, and error information is transmitted to the application 25a in step S13 and the process is performed. finish.

一方、ステップS5,S6,S8の判断結果がYesであれば、ステップS9において、API集約装置24は、受信したレスポンス情報pcが対応API(又は対応機能)からのレスポンス情報が否かを判断する。この結果が、対応API(又は対応機能)としてのAPI28cを介したBグルメ検索機能27cからのレスポンス情報pcで有れば(Yes)、ステップS16に進む。   On the other hand, if the determination results in steps S5, S6, and S8 are Yes, in step S9, the API aggregation device 24 determines whether the received response information pc is response information from the corresponding API (or corresponding function). . If this result is the response information pc from the B gourmet search function 27c via the API 28c as the corresponding API (or corresponding function) (Yes), the process proceeds to step S16.

ステップS16において、API集約装置24は、レスポンス情報pcを、機能不全のAグルメ検索機能27bから本来適性に出力されるレスポンス情報pb1に整合するように変換する。
この変換されたレスポンス情報pb1は、例えば「address:住所、category:お店ジャンル、url:店舗URL」となる。
In step S16, the API aggregating apparatus 24 converts the response information pc so as to match the response information pb1 that is originally properly output from the malfunctioning A gourmet search function 27b.
The converted response information pb1 is, for example, “address: address, category: store genre, url: store URL”.

そして、ステップS10において、API集約装置24は、その変換したレスポンス情報pb1を、図8の矢印p15で示す信号により、API26cを介してアプリ25aへ送信する。これにより、アプリ25aに係るスマートフォンのユーザは、所望の検索内容を確認することができる。   In step S10, the API aggregation device 24 transmits the converted response information pb1 to the application 25a via the API 26c by a signal indicated by an arrow p15 in FIG. Thereby, the user of the smart phone which concerns on the application 25a can confirm desired search content.

なお、ユーザが、スマホのアプリ13で検索した飲食店から、更に、嗜好する飲食物を検索したとする。この場合、その検索によるリクエスト情報qdが、矢印q16で示す信号により、API26d、API集約装置24、API28dを介してレコメンド機能27dへ送信される。レコメンド機能27dは、ユーザが嗜好する飲食物の情報であるレスポンス情報pdを、矢印p16で示す信号により、API28d、API集約装置24、API26dを介してアプリ25aへ返信する。これにより、アプリ25aでユーザが嗜好する飲食物の情報が取得されて表示される。   It is assumed that the user further searches for a favorite food and drink from the restaurant searched by the smartphone application 13. In this case, the request information qd by the search is transmitted to the recommendation function 27d via the API 26d, the API aggregation device 24, and the API 28d by a signal indicated by an arrow q16. The recommendation function 27d returns response information pd, which is information of food and drink that the user likes, to the application 25a via the API 28d, the API aggregation device 24, and the API 26d by a signal indicated by an arrow p16. Thereby, the information of the food and drink which a user likes with the application 25a is acquired and displayed.

<実施形態の効果>
以上説明した本実施形態のAPI集約装置24は、図2に示す通信システムのアプリケーション25aとイネーブラ27a〜27dとの間に少なくともAPI26a,28a〜28dを介して接続されている。通信システムは、所定の目的を少なくとも通信を行って実現するイネーブラ27a〜27dに繋がるAPI28a〜28dを複数組み合わせたアプリケーション25aを有する。このアプリケーション25aが、所望の情報を取得するためのリクエスト情報を、情報インターフェイスであるAPI26a,28a〜28dを介してイネーブラ27へ送信する。この送信したリクエスト情報を受信したイネーブラ27a〜27dが当該リクエスト情報に応じたレスポンス情報を、API28a〜28d,26aを介してアプリケーション25aへ返信するようになっている。但し、「少なくともAPIAPI26a,28a〜28dを介して」というのは、アプリケーション25aからAPI集約装置24に繋がるAPI26aとイネーブラ27a〜27dに繋がるAPI28a〜28dとは、API集約装置24を介する際にAPI28a〜28dのパラメータ等の形式が置き換えられている場合がある。形式を置き換える場合は、置き換える形式の対応関係をAPI集約装置24で保持する。
<Effect of embodiment>
The API aggregation device 24 of the present embodiment described above is connected between the application 25a and the enablers 27a to 27d of the communication system shown in FIG. 2 via at least the APIs 26a and 28a to 28d. The communication system includes an application 25a in which a plurality of APIs 28a to 28d connected to enablers 27a to 27d that realize at least a predetermined purpose by communicating. The application 25a transmits request information for acquiring desired information to the enabler 27 via the APIs 26a and 28a to 28d which are information interfaces. The enablers 27a to 27d that have received the transmitted request information return response information corresponding to the request information to the application 25a via the APIs 28a to 28d and 26a. However, “at least via the API APIs 26 a and 28 a to 28 d” means that the API 26 a connected from the application 25 a to the API aggregation device 24 and the APIs 28 a to 28 d connected to the enablers 27 a to 27 d when the API 28 a to the API aggregation device 24 is passed. In some cases, the format of 28d parameters and the like is replaced. When replacing the format, the API aggregation device 24 holds the correspondence relationship of the replacement format.

本実施形態の特徴は、アプリケーション25aから所望のイネーブラ27bへAPI26b,28bを介してリクエスト情報を送信した際に、当該リクエスト情報の内容に適合したレスポンス情報が返信されない機能不全の場合、当該機能不全のイネーブラ27bに予め対応付けられた対応イネーブラ27cからのレスポンス情報を、当該対応イネーブラ27cに繋がる対応API28cを介して当該アプリケーション25aへ返信するAPI処理機能部21を備えることにある。   A feature of the present embodiment is that when request information is transmitted from the application 25a to a desired enabler 27b via the APIs 26b and 28b, if the response information suitable for the content of the request information is not returned, The API processing function unit 21 returns response information from the corresponding enabler 27c previously associated with the enabler 27b to the application 25a via the corresponding API 28c connected to the corresponding enabler 27c.

これによって、複数組み合わせたAPI28a〜28dの何れかが機能不全となった場合でも、その機能不全の例えばAPI28bに係る機能の情報を、そのAPI28bに係る対応API28cを介してアプリケーション25aに提供することができる。   As a result, even when any one of the plurality of combined APIs 28a to 28d becomes malfunctioning, the function information relating to the malfunctioning API 28b, for example, can be provided to the application 25a via the corresponding API 28c relating to the API 28b. it can.

API処理機能部21は、DB21fと、判断部21d、変換部としての信号変換部21gと、送信部としての信号送信部21cとを備える構成とした。
DB21fは、API毎に繋がる機能に何らかの互換性が有る場合に、その互換性の有るAPI28b,28cの対応関係を示すAPI互換情報を記憶する。
The API processing function unit 21 includes a DB 21f, a determination unit 21d, a signal conversion unit 21g as a conversion unit, and a signal transmission unit 21c as a transmission unit.
The DB 21f stores API compatibility information indicating the correspondence between the compatible APIs 28b and 28c when there is some compatibility in the functions connected to each API.

判断部21dは、アプリケーション25aから送信されるリクエスト情報を受信したイネーブラ27bからの返信レスポンス情報を受信した際に、当該受信レスポンス情報が予め定められた規定の内容に不適合の場合、又は、当該受信レスポンス情報が当該リクエスト情報の内容に不適合の場合、当該不適合のレスポンス情報を返信したイネーブラ27bに繋がるAPI28bに係る対応API28cが、DB21fのAPI互換情報に存在すれば、互換動作可能と判断する。   The determination unit 21d receives the reply response information from the enabler 27b that has received the request information transmitted from the application 25a, and if the reception response information does not conform to the predetermined content, or the reception When the response information is incompatible with the content of the request information, if the corresponding API 28c related to the API 28b connected to the enabler 27b that has returned the non-compliant response information is present in the API compatible information of the DB 21f, it is determined that the compatible operation is possible.

信号変換部21gは、判断部21dで互換動作可能と判断された際に、不適合のレスポンス情報を返信したイネーブラ27bへの送信リクエスト情報を、対応API28cに繋がる対応イネーブラ27cへのリクエスト情報に変換し、この変換されたリクエスト情報を対応イネーブラ27cへ送信する。
信号送信部21cは、変換されたリクエスト情報を受信した対応イネーブラ27から返信されるレスポンス情報を、アプリケーション25aへ返信する。
When the determination unit 21d determines that the compatible operation is possible, the signal conversion unit 21g converts the transmission request information to the enabler 27b that returned the non-conforming response information into request information to the corresponding enabler 27c connected to the corresponding API 28c. The converted request information is transmitted to the corresponding enabler 27c.
The signal transmission unit 21c returns response information returned from the corresponding enabler 27 that has received the converted request information to the application 25a.

この構成によれば、API28bやイネーブラ27b等が機能不全となった場合でも、API処理機能部21が機能不全となったAPI28bに係る対応API28c及び対応イネーブラ27cへ切り替える互換切替動作を行って、対応イネーブラ27cへの適合リクエスト情報を対応API28cを介して対応イネーブラ27cへ送信し、これにより対応イネーブラ27cから返信されるレスポンス情報をアプリケーション25aへ返信する。このため、アプリケーション25aを有するスマートフォン等の端末機において、所望のレスポンス情報を得ることができる。但し、API集約装置24に接続するイネーブラ27cに繋がるAPI28cが、接続される前からAPI集約装置24へ繋がるAPI28bのAPIポリシーと合致しない場合には、API集約装置24でAPI28cのパラメータ等の形式を置き換えている場合がある。そこで、その形式を置き換える場合は、置き換える形式の対応関係をAPI集約装置24で保持する。   According to this configuration, even when the API 28b, the enabler 27b, or the like becomes malfunctioning, the compatible switching operation is performed by switching the API processing function unit 21 to the corresponding API 28c and the corresponding enabler 27c related to the malfunctioned API 28b. The adaptation request information for the enabler 27c is transmitted to the corresponding enabler 27c via the corresponding API 28c, and thereby the response information returned from the corresponding enabler 27c is returned to the application 25a. For this reason, desired response information can be obtained in a terminal such as a smartphone having the application 25a. However, if the API 28c connected to the enabler 27c connected to the API aggregating device 24 does not match the API policy of the API 28b connected to the API aggregating device 24 before being connected, the API aggregating device 24 sets the API 28c parameter format, etc. It may be replaced. Therefore, when replacing the format, the API aggregation device 24 holds the correspondence relationship of the replacement format.

また、この構成の場合、後述するような、対応API28cのレスポンス情報を、元のAPI28bのレスポンス情報に合った形への変換処理を行わない。このため、実行速度のオーバーヘッドがかからないというメリットがある。レスポンス情報は、API集約装置24で提供しているAPI28cからレスポンスが返るため、互換性を考慮したAPI設計をAPI集約装置24で行うことで、レスポンス時の変換処理や互換動作を意識したアプリ開発を考慮せず互換動作を行うことができる。   In this configuration, the response information of the corresponding API 28c, which will be described later, is not converted into a form that matches the response information of the original API 28b. For this reason, there is a merit that the overhead of execution speed is not applied. Since response information is returned from the API 28c provided by the API aggregation device 24, an API development that considers compatibility is performed by the API aggregation device 24, so that application development that is conscious of conversion processing and compatible operations at the time of response is performed. Compatible operation can be performed without considering the above.

更に、この構成の場合、対応API28cを実行する際は、API集約装置24からAPI28cにリクエストを送る。このため、API集約装置24から提供するAPIの設計ポリシーを、リクエスト情報(メソッド・パラメータ等)に対する互換性を考慮した設計にしておく。この設計により、互換動作を行う際にリクエスト情報の複雑な変換処理をしなくても軽微の変更(リクエスト情報の宛先の変更等)で再送すればよいため、互換動作による実行速度のオーバーヘッドの削減を行うことが可能となる。また、互換動作のための変換処理をAPI集約装置24にて新規に実装する際に開発コストを削減することができる。   Further, in the case of this configuration, when the corresponding API 28c is executed, a request is sent from the API aggregation device 24 to the API 28c. For this reason, the API design policy provided from the API aggregation device 24 is designed in consideration of compatibility with request information (method, parameter, etc.). This design reduces the execution speed overhead due to the compatibility operation because it is sufficient to retransmit with minor changes (change of the destination of the request information, etc.) without performing complicated conversion processing of the request information when performing the compatibility operation. Can be performed. Further, the development cost can be reduced when a conversion process for compatible operation is newly implemented in the API aggregation device 24.

次に、API処理機能部21は、アプリケーション25aから送信されたリクエスト情報を蓄積する蓄積部21bを更に備える。この際に、判断部21dは、蓄積されたと同じリクエスト情報を受信したイネーブラ27bからの返信レスポンス情報が、所定時間内に受信できなかった場合にイネーブラ27b及びAPI28bを含む通信経路の機能不全と判断し、この機能不全と判断した通信経路に介在するAPI28bに係る対応API28cが、DB21fのAPI互換情報に存在する際に、互換動作可能と判断するようにした。   Next, the API processing function unit 21 further includes a storage unit 21b that stores request information transmitted from the application 25a. At this time, the determination unit 21d determines that the communication path including the enabler 27b and the API 28b is malfunctioning when the response response information from the enabler 27b that has received the same accumulated request information cannot be received within a predetermined time. When the corresponding API 28c related to the API 28b intervening in the communication path determined to be malfunctioning exists in the API compatibility information of the DB 21f, it is determined that the compatible operation is possible.

この構成によれば、次のような作用効果を得ることができる。アプリケーション25aへ送信されたリクエスト情報を蓄積部21bに一旦蓄積しておき、その後、アプリケーション25aからのリクエスト情報を受信したイネーブラ27bからの返信レスポンス情報を受信する。判断部21dが、その受信したレスポンス情報が、蓄積されたリクエスト情報の内容に不適合の場合に機能不全と判断することができるので、正確に機能不全と判断することができる。   According to this configuration, the following operational effects can be obtained. The request information transmitted to the application 25a is temporarily stored in the storage unit 21b, and then the response response information from the enabler 27b that has received the request information from the application 25a is received. Since the determination unit 21d can determine that the received response information is malfunctioning when it does not conform to the content of the accumulated request information, it can accurately determine that the response is malfunctioning.

次に、判断部21dは、リクエスト情報を受信したイネーブラ27bからの返信レスポンス情報が、所定時間内に受信できなかった場合にイネーブラ27b及びAPI28bを含む通信経路の機能不全と判断し、この機能不全と判断した通信経路に介在するAPI28bに係る対応API28cが、DB21fのAPI互換情報に存在する際に、互換動作可能と判断するようにした。   Next, the determination unit 21d determines that the communication path including the enabler 27b and the API 28b is malfunctioning when the reply response information from the enabler 27b that has received the request information cannot be received within a predetermined time. When the corresponding API 28c related to the API 28b interposed in the communication path determined to exist is present in the API compatible information of the DB 21f, it is determined that the compatible operation is possible.

この構成によれば、アプリケーション25aへ送信されたリクエスト情報を受信したイネーブラ27bからの返信レスポンス情報が、所定時間内に受信できなかった際に機能不全と判断するので、タイマを設けるだけ等の簡単な構成で正確に、機能不全を判断することができる。   According to this configuration, the response response information from the enabler 27b that has received the request information transmitted to the application 25a is determined to be malfunctioning when it cannot be received within a predetermined time. It is possible to accurately determine a malfunction with a simple configuration.

次に、判断部21dは、リクエスト情報を受信したイネーブラ27bからの返信レスポンス情報がエラー情報である場合にイネーブラ27b及びAPI28bを含む通信経路の機能不全と判断し、この機能不全と判断した通信経路上のAPI28bに係る対応API28cが、DB21fのAPI互換情報に存在する際に、互換動作可能と判断するようにした。   Next, the determination unit 21d determines that the communication path including the enabler 27b and the API 28b is malfunctioning when the reply response information from the enabler 27b that has received the request information is error information. When the corresponding API 28c related to the above API 28b exists in the API compatible information of the DB 21f, it is determined that the compatible operation is possible.

この構成によれば、アプリケーション25aへ送信されたリクエスト情報を受信したイネーブラ27bからの返信レスポンス情報がエラー情報であることを検出するだけで機能不全と判断するので、簡単な構成で正確に、機能不全を判断することができる。   According to this configuration, it is determined that the function is malfunctioning simply by detecting that the response response information from the enabler 27b that has received the request information transmitted to the application 25a is error information. Can determine failure.

次に、信号変換部21gは、判断部21dで互換動作可能と判断された際に、対応API28cに繋がる対応イネーブラ27cへのリクエスト情報の送信後に当該対応イネーブラ27cから返信されたレスポンス情報を、不適合のレスポンス情報を返信したイネーブラ27bから本来適正に出力されるレスポンス情報に整合するように変換する。更に、信号送信部21cは、その整合されたレスポンス情報をアプリケーション25aへ返信するようにした。   Next, when the signal converting unit 21g determines that the compatible operation is possible by the determining unit 21d, the signal converting unit 21g uses the response information returned from the corresponding enabler 27c after transmitting the request information to the corresponding enabler 27c connected to the corresponding API 28c. Is converted so as to be consistent with the response information that is originally properly output from the enabler 27b that has returned the response information. Further, the signal transmission unit 21c returns the matched response information to the application 25a.

この構成によれば、API28bやイネーブラ27b等が機能不全となった場合でも、API処理機能部21が機能不全となったAPI28bに係る対応API28c及び対応イネーブラ27cへ切り替える互換切替動作を行う。この際、信号変換部21gは、対応イネーブラ27cから返信されたレスポンス情報を、機能不全のイネーブラ27bから本来適正に出力されるレスポンス情報としてアプリケーション25aへ返信する。このため、アプリケーション25aを有するスマートフォン等の端末機では、イネーブラ27等の機能不全による互換切替動作を意識することなく、所望の情報を見ることができる。つまり、アプリケーション25aの可用性向上によりユーザはサービスを継続して受けることができるようになる。   According to this configuration, even when the API 28b, the enabler 27b, or the like becomes malfunctioning, the compatibility switching operation is performed in which the API processing function unit 21 switches to the corresponding API 28c and the corresponding enabler 27c related to the malfunctioning API 28b. At this time, the signal conversion unit 21g returns the response information returned from the corresponding enabler 27c to the application 25a as response information originally output properly from the malfunctioning enabler 27b. For this reason, in a terminal such as a smartphone having the application 25a, desired information can be viewed without being aware of the compatibility switching operation due to malfunction of the enabler 27 or the like. That is, the user can continue to receive the service by improving the availability of the application 25a.

また、この構成の場合、イネーブラ27cからのレスポンス情報によるレスポンスが、元のAPI28bの動作として動くため、アプリ25aは互換動作を意識せずアプリ開発を行うことができる。   In the case of this configuration, since the response based on the response information from the enabler 27c moves as the operation of the original API 28b, the application 25a can develop the application without being aware of the compatible operation.

次に、API集約装置24は、次のAPI互換方法を実行する。即ち、API集約装置24は、アプリケーション25aから所望のイネーブラ27へAPIを介してリクエスト情報を送信した際に、当該リクエスト情報の内容に適合したレスポンス情報が返信されない機能不全の場合に、当該機能不全のイネーブラ27に予め対応付けられた対応イネーブラ27からのレスポンス情報を、当該対応イネーブラ27に繋がる対応APIを介して当該アプリケーション25aへ返信するステップを実行する。
このAPI互換方法によれば、複数組み合わせたAPI28a〜28dの何れかが機能不全となった場合でも、その機能不全のAPI28bに係る機能の情報を、そのAPI28bに係る対応API28cを介してアプリケーション25aに提供することができる。
Next, the API aggregation device 24 executes the following API compatible method. That is, when the API aggregation device 24 transmits request information from the application 25a to the desired enabler 27 via the API, if the response information conforming to the content of the request information is not returned, the API aggregation device 24 The step of returning response information from the corresponding enabler 27 previously associated with the enabler 27 to the application 25a via the corresponding API connected to the corresponding enabler 27 is executed.
According to this API compatible method, even when any of the plurality of combined APIs 28a to 28d becomes malfunctioning, the function information related to the malfunctioning API 28b is sent to the application 25a via the corresponding API 28c related to the API 28b. Can be provided.

その他、具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。   In addition, the specific configuration can be appropriately changed without departing from the gist of the present invention.

20 通信システム
21 API処理機能部
21a 信号受信部
21b 信号情報蓄積部(蓄積部)
21c 信号送信部
21d 互換動作実行判断部(判断部)
21e 互換動作実行部(実行部)
21f API互換情報DB(データベース)
21g 信号変換部
22 開発者ポータル機能部
23 保守運用機能部
24 API集約装置
25a〜25m アプリケーション
26a〜26j,28a〜28n API
27a〜27n イネーブラ
27a 位置情報取得機能(イネーブラ)
27b Aグルメ検索機能(イネーブラ)
27c Bグルメ検索機能(イネーブラ)
27d レコメンド機能(イネーブラ)
20 Communication System 21 API Processing Function Unit 21a Signal Reception Unit 21b Signal Information Storage Unit (Storage Unit)
21c Signal transmission unit 21d Compatible operation execution determination unit (determination unit)
21e Compatible operation execution unit (execution unit)
21f API compatible information DB (database)
21g Signal conversion unit 22 Developer portal function unit 23 Maintenance operation function unit 24 API aggregation device 25a-25m Application 26a-26j, 28a-28n API
27a-27n Enabler 27a Location information acquisition function (Enabler)
27b A gourmet search function (enabler)
27c B gourmet search function (enabler)
27d Recommend function (enabler)

Claims (7)

所定の目的を少なくとも通信を行って実現するイネーブラに繋がるAPIを複数組み合わせたアプリケーションが、所望の情報を取得するためのリクエスト情報を前記APIを介して前記イネーブラへ送信し、前記送信されたリクエスト情報を受信した前記イネーブラが前記リクエスト情報に応じたレスポンス情報を、前記APIを介して前記アプリケーションへ返信する通信システムにおいて、前記アプリケーションと前記イネーブラとの間に少なくとも前記APIを介して接続されたAPI集約装置であって、
前記アプリケーションから所望のイネーブラへ前記APIを介して前記リクエスト情報を送信した際に、当該リクエスト情報の内容に適合したレスポンス情報が返信されない機能不全の場合、当該機能不全のイネーブラに予め対応付けられた対応イネーブラからのレスポンス情報を、当該対応イネーブラに繋がる対応APIを介して当該アプリケーションへ返信するAPI処理機能部
を備えることを特徴とするAPI集約装置。
An application combining a plurality of APIs connected to an enabler that realizes a predetermined purpose by performing at least communication transmits request information for obtaining desired information to the enabler via the API, and the transmitted request information In the communication system in which the enabler that has received the response returns response information corresponding to the request information to the application via the API, an API aggregation connected at least via the API between the application and the enabler A device,
When the request information is transmitted from the application to a desired enabler via the API, in the case of a malfunction that does not return response information suitable for the content of the request information, the request information is associated in advance with the malfunction enabler. An API aggregating apparatus comprising: an API processing function unit that returns response information from a corresponding enabler to the application via a corresponding API connected to the corresponding enabler.
前記API処理機能部は、
前記API毎に繋がる機能に互換性が有る場合に、その互換性の有るAPIの対応関係を示すAPI互換情報を記憶するデータベースと、
前記アプリケーションから送信されるリクエスト情報を受信したイネーブラが返信するレスポンス情報を受信した際に、当該レスポンス情報が予め定められた規定の内容に不適合の場合、当該不適合のレスポンス情報を返信したイネーブラに繋がるAPIに係る前記対応APIが、前記データベースのAPI互換情報に存在すれば、互換動作可能と判断する判断部と、
前記互換動作可能と判断された際に、前記不適合のレスポンス情報を返信したイネーブラへのリクエスト情報を、前記対応APIに繋がる対応イネーブラへのリクエスト情報に変換し、この変換されたリクエスト情報を対応イネーブラへ送信する変換部と、
前記変換されたリクエスト情報を受信した対応イネーブラから返信されるレスポンス情報を、前記アプリケーションへ返信する送信部と、
を備えることを特徴とする請求項1に記載のAPI集約装置。
The API processing function unit
A database that stores API compatibility information indicating a correspondence relationship between compatible APIs when the functions connected to each API are compatible;
When response information returned by the enabler that has received the request information transmitted from the application is received, if the response information does not conform to a predetermined content, the enabler that has returned the non-conforming response information is connected. A determination unit that determines that compatible operation is possible if the corresponding API related to the API exists in the API compatibility information of the database;
When it is determined that the compatible operation is possible, the request information to the enabler that has returned the non-conforming response information is converted into the request information to the corresponding enabler connected to the corresponding API, and the converted request information is converted to the corresponding enabler. A converter to transmit to,
Response information returned from the corresponding enabler that has received the converted request information, a transmission unit that returns the response information to the application,
The API aggregation device according to claim 1, further comprising:
前記API処理機能部は、
前記アプリケーションから送信されたリクエスト情報を蓄積する蓄積部を更に備え、
前記判断部は、前記アプリケーションから送信されるリクエスト情報を受信したイネーブラから返信されたレスポンス情報を受信した際に、当該受信したレスポンス情報が、前記蓄積されたリクエスト情報の内容に不適合の場合に、前記イネーブラ及び前記APIを含む通信経路の双方の機能不全と判断し、この機能不全と判断した通信経路上の当該イネーブラに繋がるAPIに係る前記対応APIが、前記データベースのAPI互換情報に存在すれば、互換動作可能と判断する
ことを特徴とする請求項2に記載のAPI集約装置。
The API processing function unit
A storage unit for storing the request information transmitted from the application;
When the determination unit receives the response information returned from the enabler that has received the request information transmitted from the application, and the received response information is incompatible with the content of the accumulated request information, If it is determined that both the enabler and the communication path including the API are malfunctioning, and the corresponding API related to the API connected to the enabler on the communication path determined to be malfunctioning is present in the API compatible information of the database The API aggregating apparatus according to claim 2, wherein the compatible operation is determined.
前記判断部は、前記リクエスト情報を受信した前記イネーブラからの返信レスポンス情報が、所定時間内に受信できなかった場合に、イネーブラ及びAPIを含む通信経路の双方の機能不全と判断し、この機能不全と判断した通信経路の当該イネーブラに繋がるAPIに係る前記対応APIが、前記データベースのAPI互換情報に存在する際に、互換動作可能と判断する
ことを特徴とする請求項2に記載のAPI集約装置。
The determination unit determines that both the enabler and the communication path including the API are malfunctioning when the reply response information from the enabler that has received the request information is not received within a predetermined time. 3. The API aggregating apparatus according to claim 2, wherein when the corresponding API related to the API connected to the enabler of the communication path determined to be present is present in the API compatible information of the database, the compatible operation is determined. .
前記判断部は、前記リクエスト情報を受信した前記イネーブラからの返信レスポンス情報がエラー情報である場合に、イネーブラ及びAPIを含む通信経路の双方の機能不全と判断し、この機能不全と判断した通信経路の当該イネーブラに繋がるAPIに係る前記対応APIが、前記データベースのAPI互換情報に存在する際に、互換動作可能と判断する
ことを特徴とする請求項2に記載のAPI集約装置。
The determination unit determines that both of the communication path including the enabler and the API are malfunctioning when the reply response information from the enabler that has received the request information is error information, and the communication path that has been determined to be malfunctioning. The API aggregation device according to claim 2, wherein when the corresponding API related to the API connected to the enabler is present in the API compatible information of the database, the compatible operation is determined.
前記変換部は、前記判断部で前記互換動作可能と判断された際に、前記対応APIに繋がる対応イネーブラへのリクエスト情報の送信後に当該対応イネーブラから返信されたレスポンス情報を、前記不適合のレスポンス情報を返信したイネーブラから本来適正に出力されるレスポンス情報に整合するように変換し、
前記送信部は、前記整合されたレスポンス情報を前記アプリケーションへ返信する
ことを特徴とする請求項2〜5の何れか1項に記載のAPI集約装置。
When the determination unit determines that the compatible operation is possible, the conversion unit returns response information returned from the corresponding enabler after transmitting request information to the corresponding enabler connected to the corresponding API, as the non-conforming response information. Is converted to match the response information that is properly output from the enabler that returned
The API aggregating apparatus according to any one of claims 2 to 5, wherein the transmitting unit returns the matched response information to the application.
所定の目的を少なくとも通信を行って実現するイネーブラに繋がるAPIを複数組み合わせたアプリケーションが、所望の情報を取得するためのリクエスト情報を前記APIを介して前記イネーブラへ送信し、前記送信されたリクエスト情報を受信した前記イネーブラが前記リクエスト情報に応じたレスポンス情報を、前記APIを介して前記アプリケーションへ返信する通信システムにおいて、前記アプリケーションと前記イネーブラとの間に少なくとも前記APIを介して接続されたAPI集約装置によるAPI集約方法であって、
前記API集約装置は、
前記アプリケーションから所望のイネーブラへ前記APIを介して前記リクエスト情報を送信した際に、当該リクエスト情報の内容に適合したレスポンス情報が返信されない機能不全の場合、当該機能不全のイネーブラに予め対応付けられた対応イネーブラからのレスポンス情報を、当該対応イネーブラに繋がる対応APIを介して当該アプリケーションへ返信するステップ
を実行することを特徴とするAPI互換方法。
An application combining a plurality of APIs connected to an enabler that realizes a predetermined purpose by performing at least communication transmits request information for obtaining desired information to the enabler via the API, and the transmitted request information In the communication system in which the enabler that has received the response returns response information corresponding to the request information to the application via the API, an API aggregation connected at least via the API between the application and the enabler An API aggregation method by a device,
The API aggregation device includes:
When the request information is transmitted from the application to a desired enabler via the API, in the case of a malfunction that does not return response information suitable for the content of the request information, the request information is associated in advance with the malfunction enabler. An API compatible method comprising: executing a step of returning response information from the corresponding enabler to the application via a corresponding API connected to the corresponding enabler.
JP2015028802A 2015-02-17 2015-02-17 API aggregation device and API compatible method Active JP6475037B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015028802A JP6475037B2 (en) 2015-02-17 2015-02-17 API aggregation device and API compatible method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015028802A JP6475037B2 (en) 2015-02-17 2015-02-17 API aggregation device and API compatible method

Publications (2)

Publication Number Publication Date
JP2016151881A true JP2016151881A (en) 2016-08-22
JP6475037B2 JP6475037B2 (en) 2019-02-27

Family

ID=56695392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015028802A Active JP6475037B2 (en) 2015-02-17 2015-02-17 API aggregation device and API compatible method

Country Status (1)

Country Link
JP (1) JP6475037B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019133622A (en) * 2018-02-02 2019-08-08 富士通株式会社 Mapping of api parameter
WO2022130708A1 (en) * 2020-12-16 2022-06-23 株式会社日立製作所 Arithmetic device and common resource generation method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006195709A (en) * 2005-01-13 2006-07-27 Hitachi Ltd Web service system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006195709A (en) * 2005-01-13 2006-07-27 Hitachi Ltd Web service system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
吉川貴,外3名: "柔軟なインタフェース適応のためのWebサービスグループ管理機構", マルチメディア,分散,協調とモバイル(DICOMO 2003)シンポジウム論文集, vol. 第2003巻,第9号, JPN6018000702, 4 June 2003 (2003-06-04), JP, pages 637 - 640 *
吉川貴,外3名: "耐障害性・応答性向上のためのモバイルWebサービスプラットフォーム", 情報処理学会研究報告 2003−MBL−24, vol. 第2003巻,第21号, JPN6018000701, 7 March 2003 (2003-03-07), JP, pages 37 - 44 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019133622A (en) * 2018-02-02 2019-08-08 富士通株式会社 Mapping of api parameter
JP7206687B2 (en) 2018-02-02 2023-01-18 富士通株式会社 API parameter mapping
WO2022130708A1 (en) * 2020-12-16 2022-06-23 株式会社日立製作所 Arithmetic device and common resource generation method

Also Published As

Publication number Publication date
JP6475037B2 (en) 2019-02-27

Similar Documents

Publication Publication Date Title
JP6811263B2 (en) Publication and discovery of M2M-IOT services
CN105122931B (en) Electronic equipment and the method that personal cloud device is registered in its portal user server
US7925735B2 (en) Network-based application late binding
CN104247333B (en) System and method for the management of network service
US8775671B2 (en) Managing information exchange between business entities
US8527584B2 (en) Method and apparatus for providing service mobility across service deployment boundaries
US20130304666A1 (en) Managing Information Exchange Between Business Entities
CN101997903A (en) Method and system for processing hypertext transfer protocol request
CN103095479A (en) Method and device of business configuration
US9826051B2 (en) Content integration framework
EP2635051A1 (en) Application shop system and application development method using the application shop system
US20110137980A1 (en) Method and apparatus for using service of plurality of internet service providers
US10397356B2 (en) Systems and methods for determining a destination location for transmission of packetized data in a network system based on an application server attribute
US20160072901A1 (en) System and Method To Provide A Network-Based Service
CN102075506A (en) Method and system for remote equipment management
JP2016151881A (en) Api aggregation device and api compatible method
US20140156786A1 (en) Hybrid objects
EP2897344B1 (en) Content integration framework
CN111901412B (en) Data processing method and computer readable storage medium
US11521250B2 (en) Method and apparatus for providing digital product using user account synchronization
Jin et al. IoT device management architecture based on proxy
Dave et al. Ponte message broker bridge configuration using MQTT and CoAP protocol for interoperability of IoT
Passini et al. Developing self-adaptive service-oriented mobile applications: a framework based on dynamic deployment
US11663117B2 (en) Customizable decision service
US20110320527A1 (en) Method and system for managing a web-domain request

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180822

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190131

R150 Certificate of patent or registration of utility model

Ref document number: 6475037

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150