JP2017041158A - Api conversion table generator, api conversion table generation method, and api conversion table generation program - Google Patents
Api conversion table generator, api conversion table generation method, and api conversion table generation program Download PDFInfo
- Publication number
- JP2017041158A JP2017041158A JP2015163309A JP2015163309A JP2017041158A JP 2017041158 A JP2017041158 A JP 2017041158A JP 2015163309 A JP2015163309 A JP 2015163309A JP 2015163309 A JP2015163309 A JP 2015163309A JP 2017041158 A JP2017041158 A JP 2017041158A
- Authority
- JP
- Japan
- Prior art keywords
- api
- conversion table
- data
- mapping
- unit
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、API(Application Program Interface)リクエストの変換テーブルを生成するAPI変換テーブル生成装置、API変換テーブル生成方法、および、API変換テーブル生成プログラムに関する。 The present invention relates to an API conversion table generation device, an API conversion table generation method, and an API conversion table generation program that generate a conversion table for an API (Application Program Interface) request.
近年のネットワークの高速化とウェブブラウザの普及により、インターネットを経由して所定の処理を提供するAPIが広く普及している。このAPIは、インターネット経由で或るサーバ上にあるプログラムや管理データなどを、他のサーバや端末などから呼び出して利用するための手順やデータ形式などを定めた規約であり、コンピュータプログラムの機能を呼び出して利用するための規約であるAPIに擬えて呼ばれている。 With the recent increase in network speed and the spread of web browsers, APIs that provide predetermined processing via the Internet have become widespread. This API is a rule that defines the procedure and data format for calling and using programs and management data on a server via the Internet from other servers and terminals. It is called by imitating an API that is a convention for calling and using.
開発者は、APIを活用することによって、容易にエンドユーザ向けアプリケーションを開発することができる。またAPIの提供者は、このAPIを活用したアプリケーションにより、自社のサービスやコンテンツをエンドユーザ等に訴求することができる。例えば通信キャリアは、ネットワーク機能やオペレーション機能をAPIとしてエンドユーザ向けアプリケーションの開発を促し、自社の通信サービスをエンドユーザ等に訴求することができる。 Developers can easily develop applications for end users by using APIs. In addition, API providers can appeal their services and content to end users, etc., using applications that utilize this API. For example, a communication carrier can promote development of an application for an end user by using a network function or an operation function as an API, and can appeal its communication service to an end user or the like.
また近年では、スマートフォン等のデバイスが多様化し、また市場がグローバル化して、ニッチな領域への事業者の新規参入が容易になった。このような中で、APIを収益確保可能な形で提供することが重要である。これらサービスの実現と収益確保のためには、事業者間でAPIの連携(マッシュアップ)が容易であることが望ましい。APIの連携を可能とするには、APIの技術標準を定め、これに準拠した標準APIに統一することが望まれる。 In recent years, devices such as smartphones have diversified, and the market has become global, making it easier for businesses to enter new niche areas. Under such circumstances, it is important to provide APIs in a form that can secure profits. In order to realize these services and secure profits, it is desirable that APIs (mashups) be easy between operators. To enable API linkage, it is desirable to define API technical standards and unify them into standard APIs that conform to them.
例えば非特許文献1には、この標準APIのモデルについて記載されている。この非特許文献1の発行元であるTM(TeleManagement) FORUMは、相互運用のできる情報通信システムのネットワーク管理を実現するため、業界標準の検討と、それに基づく製品化の促進、業界の活性化を目的に設立された非営利の業界団体であり、複数事業者を跨ったサービスを提供するための標準APIについて検討している。
For example, Non-Patent
図13(a)は、TMF(TeleManagement FORUM)の標準APIで採用されたREST(REpresentational State Transfer)形式のGETリクエストの例を示し、図13(b)はレスポンスの例を示している。
このようにREST形式のAPIでは、HTTP(Hypertext Transfer Protocol)のメソッドである「GET」でシステムに処理要求を伝え、HTTPのレスポンスで応答を受け取る。なおREST形式では、HTTPの5つメソッドである「GET」「POST」「PUT」「PATCH」「DELETE」で処理要求を伝えることができる。
FIG. 13A shows an example of a GET request in the REST (REpresentational State Transfer) format adopted by the standard API of TMF (TeleManagement FORUM), and FIG. 13B shows an example of a response.
As described above, in the REST format API, a processing request is transmitted to the system by “GET” which is an HTTP (Hypertext Transfer Protocol) method, and a response is received by an HTTP response. In the REST format, processing requests can be transmitted by using five HTTP methods “GET”, “POST”, “PUT”, “PATCH”, and “DELETE”.
上記したように、事業者間連携を行う場合は、例えばTMFの標準に準拠した共通的なAPI(以下、共通API)などに統一することが望ましい。一方で既存システムでは、環境やサービスの独自性によりAPIも独自に開発されており、共通APIとの間の差分が生じる。
よって共通APIと独自APIとの間の差分を吸収し、独自APIを共通API規定に合わせて変換する変換テーブルを作成し、独自APIに手を入れることなく共通APIと同様に処理を実行可能とすることが望ましい。しかし、このような変換テーブルの作成には多くの工数や費用を要する。
As described above, when cooperation between providers is performed, for example, it is desirable to unify to a common API (hereinafter referred to as a common API) conforming to the TMF standard. On the other hand, in existing systems, APIs are also developed independently due to the uniqueness of the environment and services, and a difference from the common API occurs.
Therefore, it is possible to absorb the difference between the common API and the original API, create a conversion table that converts the original API according to the common API rules, and execute the same processing as the common API without changing the original API. It is desirable to do. However, creating such a conversion table requires a lot of man-hours and costs.
本発明は、前記した問題を解決し、一のAPIを他のAPI規定に合わせたAPIに変換する変換テーブルを自動生成することを課題とする。 An object of the present invention is to solve the above-described problems and automatically generate a conversion table for converting one API into an API that conforms to another API specification.
前記課題を解決するため、請求項1に記載の発明では、第1のAPIと第2のAPIとの差分を吸収するAPI変換テーブルを生成するAPI変換テーブル生成装置であって、前記第1,第2のAPIの間で、類似度が高いデータまたはグループを一対一でマッピングさせるマッピング部と、前記マッピング部によるマッピングに基づいて、前記API変換テーブルを作成する変換テーブル作成部と、を備えることを特徴とするAPI変換テーブル生成装置とした。
In order to solve the above-mentioned problem, the invention according to
このようにすることで、一のAPIを他のAPI規定に合わせたAPIに変換する変換テーブルを自動生成することができる。 By doing so, it is possible to automatically generate a conversion table for converting one API into an API that conforms to other API specifications.
請求項2に記載の発明では、前記第1,第2のAPIのリソースモデルのツリー構造を作成するAPIツリー作成部を更に備える、ことを特徴とする請求項1に記載のAPI変換テーブル生成装置とした。
The API conversion table generation device according to
このようにすることで、高速に第1,第2のAPIのリソースモデルのマッピングを行うことができる。 By doing so, it is possible to perform mapping of the resource models of the first and second APIs at high speed.
請求項3に記載の発明では、前記マッピング部は、前記ツリー構造の最下層のデータの類似度によりマッピングを行う、ことを特徴とする請求項2に記載のAPI変換テーブル生成装置とした。 According to a third aspect of the present invention, in the API conversion table generating device according to the second aspect, the mapping unit performs mapping based on the similarity of the data in the lowest layer of the tree structure.
このようにすることで、容易に第1,第2のAPIのリソースモデルのマッピングを行うことができる。 By doing so, it is possible to easily map the resource models of the first and second APIs.
請求項4に記載の発明では、前記マッピング部は、前記ツリー構造の最下層のデータの名称または/および当該データの説明を比較して類似度を算出する、ことを特徴とする請求項3に記載のAPI変換テーブル生成装置とした。 The invention according to claim 4 is characterized in that the mapping unit calculates the similarity by comparing the name of the lowest layer data of the tree structure and / or the description of the data. The described API conversion table generation device was used.
このようにすることで、手作業によらずに第1,第2のAPIのリソースモデルのマッピングを行うことができる。 By doing in this way, the resource model of the 1st and 2nd API can be mapped irrespective of manual work.
請求項5に記載の発明では、前記マッピング部は、前記第1のAPIのデータが前記第2のAPIの複数のデータにマッピングされたならば、各データを含むグループを上位ノードに順次拡大して前記第1のAPIと前記第2のAPIとの間でグループ同士を比較し、類似度が高いグループを一対一でマッピングさせる、ことを特徴とする請求項3に記載のAPI変換テーブル生成装置とした。
In the invention according to
このようにすることで、誤りなく第1,第2のAPIのリソースモデルのマッピングを行うことができる。 By doing so, it is possible to perform mapping of the resource models of the first and second APIs without error.
請求項6に記載の発明では、前記変換テーブル作成部は、前記第1のAPIと前記第2のAPIとがグループ単位で一致したならば、当該グループ単位で括って前記API変換テーブルを作成する、ことを特徴とする請求項1に記載のAPI変換テーブル生成装置とした。
In the invention according to claim 6, if the first API and the second API match in a group unit, the conversion table creation unit creates the API conversion table in a group unit. The API conversion table generating device according to
このようにすることで、API変換テーブルに含まれるマッピングのエントリ数を少なくして、容易かつ高速にAPIを変換することができる。 By doing so, it is possible to convert the API easily and at high speed by reducing the number of mapping entries included in the API conversion table.
請求項7に記載の発明では、第1のAPIと第2のAPIとの差分を吸収するAPI変換テーブルを生成するAPI変換テーブル生成装置が実行するAPI変換テーブル生成方法であって、前記API変換テーブル生成装置が、前記第1,第2のAPIの間で、類似度が高いデータまたはグループを一対一でマッピングさせるステップと、前記データまたは前記グループのマッピング結果に基づいて、前記API変換テーブルを作成するステップと、を含むことを特徴とするAPI変換テーブル生成方法とした。 The invention according to claim 7 is an API conversion table generation method executed by an API conversion table generation device that generates an API conversion table that absorbs a difference between the first API and the second API, the API conversion table A table generating device mapping data or groups having a high degree of similarity between the first and second APIs on a one-to-one basis, and the API conversion table based on a mapping result of the data or the groups And a step of creating an API conversion table generation method.
このようにすることで、一のAPIを他のAPI規定に合わせたAPIに変換する変換テーブルを自動生成するができる。 By doing this, it is possible to automatically generate a conversion table for converting one API into an API that conforms to other API specifications.
請求項8に記載の発明では、コンピュータに、第1のAPIと第2のAPIとの間で、類似度が高いデータまたはグループを一対一でマッピングさせる手順、前記データまたは前記グループのマッピング結果に基づいて、前記第1のAPIと前記第2のAPIとの差分を吸収するAPI変換テーブルを作成する手順、を実行させるためのAPI変換テーブル生成プログラムとした。 In the invention according to claim 8, a procedure for causing a computer to map data or groups having a high similarity between the first API and the second API on a one-to-one basis, and to the mapping result of the data or the group Based on this, an API conversion table generation program for executing an API conversion table that absorbs the difference between the first API and the second API is provided.
このようにすることで、一のAPIを他のAPI規定に合わせたAPIに変換する変換テーブルを自動生成するができる。 By doing this, it is possible to automatically generate a conversion table for converting one API into an API that conforms to other API specifications.
本発明によれば、一のAPIを他のAPI規定に合わせたAPIに変換する変換テーブルを自動生成することが可能となる。 According to the present invention, it is possible to automatically generate a conversion table for converting one API into an API conforming to another API rule.
次に、本発明を実施するための形態(「実施形態」という)について、適宜図面を参照しながら詳細に説明する。
図1は、本実施形態におけるAPI変換装置2とAPI変換テーブル生成装置1とを含むシステム構成図である。
図1に示すシステムは、サービス事業者4が運用するシステム41と、ネットワーク事業者3が運用する新規システム31および既存システム32との間の通信を可能とするものである。この新規システム31にはオーケストレータ33が含まれる。ここでオーケストレータ33とは、クラウド上のリソース配置や設定、依存関係などを定義し、システムの構築や運用を自動化する仕組みである。オーケストレータ33によりクラウド上に一挙にシステムを構築することができ、また整合性のとれた環境を多数用意することもできる。
Next, modes for carrying out the present invention (referred to as “embodiments”) will be described in detail with reference to the drawings as appropriate.
FIG. 1 is a system configuration diagram including an API conversion device 2 and an API conversion
The system shown in FIG. 1 enables communication between a
既存システム32は独自API(第1のAPI)で通信し、新規システム31は共通API(第2のAPI)で通信する。新規システム31の共通APIの通信データは、APIアグリゲーション5を介して、そのままサービス事業者4のシステム41に送信される。つまりAPIアグリゲーション5は、共通APIの通信データを変換することなく中継する。
The existing
これに対して既存システム32の独自APIの通信データは、APIアグリゲーション5を介して共通APIに変換され、サービス事業者4のシステム41に送信(中継)される。独自APIと共通APIとの間の変換は、API変換装置2によって行われる。
On the other hand, the communication data of the unique API of the existing
API変換装置2は、この変換に用いるテーブルをAPI変換テーブル生成装置1から受信する。以下、図2を参照しつつAPI変換装置2とAPI変換テーブル生成装置1の詳細を説明する。
The API conversion device 2 receives a table used for this conversion from the API conversion
図2は、API変換装置2とAPI変換テーブル生成装置1の概略のブロック図である。
API変換装置2は、独自APIと共通APIとを相互に変換する。このAPI変換装置2は、APIによるリクエストやレスポンスの入力を受け付けるAPI入力部21、APIによる入力を処理するAPI処理部22、APIによるリクエストやレスポンスを出力するAPI出力部23を含んで構成される。またAPI処理部22は、独自APIと共通APIとの間の変換情報を格納したAPI変換テーブル221、APIを変換するAPI変換部222、複数のAPIを連携して新たなAPIとするAPIマッシュアップ部223を含んで構成される。このAPI変換装置2は、CPU(Central Processing Unit)とROM(Read Only Memory)やRAM(Random Access Memory)などを有するコンピュータであり、不図示のAPI変換プログラムを実行することにより、上記した各部を具現化する。
FIG. 2 is a schematic block diagram of the API conversion device 2 and the API conversion
The API conversion device 2 converts the original API and the common API to each other. The API conversion device 2 includes an
API変換装置2にて、API入力部21にAPIが入力されると、このAPIはAPI処理部22にて適宜変換やマッシュアップが行われて、API出力部23によって出力される。
When an API is input to the
API変換テーブル生成装置1は、独自APIと共通APIとの間の変換情報を格納したAPI変換テーブル221を生成する。このAPI変換テーブル生成装置1は、API構造受付部11、API構造比較部12、変換テーブル案提示部13、変換テーブル修正入力部14、変換テーブル出力部15、共通API情報保有部16、辞書データ保有部17、外部情報取得部18、辞書データ修正部19を含んで構成される。このAPI構造比較部12は、APIツリー作成部121、マッピング部122、変換テーブル作成部123を含んで構成される。このAPI変換テーブル生成装置1は、CPUとROMやRAMなどを有するコンピュータであり、不図示のAPI変換テーブル生成プログラムを実行することにより、上記した各部を具現化する。
The API conversion
API構造受付部11は、APIの構造を示す情報を受け付けてAPI構造比較部12に引き渡す。API構造比較部12のAPIツリー作成部121は、このAPIをツリー構造として作成する。マッピング部122は、共通APIと独自APIとを突き合わせてマッピングする。変換テーブル作成部123は、このマッピング結果からAPI変換テーブル221を作成する。このAPI構造比較部12の処理については後述する。
The API
このAPI変換テーブル221は、変換テーブル案提示部13によってユーザに提示され、変換テーブル修正入力部14によってユーザの修正入力を受け付け、変換テーブル出力部15によってAPI変換装置2に出力される。
The API conversion table 221 is presented to the user by the conversion table
共通API情報保有部16は、共通APIの仕様情報を保有する。辞書データ保有部17は、共通APIと独自APIとを突き合わせてマッピングする際の辞書データを保有する。外部情報取得部18は、外部情報、例えば独自APIの仕様情報やネットワーク上の類義語情報などを取得する。辞書データ修正部19は、辞書データ保有部17が格納する辞書データを修正する。ユーザは、この辞書データ修正部19を介して辞書データを書き換えることができる。
The common API
本実施形態では、API変換テーブル生成装置1により、既存システム32の独自APIと共通APIの差分を自動抽出してAPI変換テーブル221を生成する。API変換装置2は、このAPI変換テーブル221に基づきAPI処理を行う。
In this embodiment, the API conversion
図3は、API構造比較部12の処理を示すフローチャートである。
既存システム32(図1参照)の独自APIと、共通APIのリソースモデルおよびデータ構造を入力すると、図3の処理が開始する。ここで独自APIと共通APIのリソースモデルおよびデータ構造は、あらかじめ用意しておいてもよい。
FIG. 3 is a flowchart showing processing of the API
When the unique API of the existing system 32 (see FIG. 1) and the resource model and data structure of the common API are input, the process of FIG. 3 starts. Here, the resource model and data structure of the original API and the common API may be prepared in advance.
最初、API構造比較部12は、APIツリー作成部121により、独自APIと共通APIのリソースモデルのツリー構造を作成する(ステップS10)。APIツリー作成部121は次に、マッピング部122により、独自APIと共通APIのツリー構造のリソースモデルの最下層ノード同士を突き合わせて、データ名をマッピングし(ステップS11)、更に独自ノードを削除する(ステップS12)。このマッピングの際、APIツリー作成部121は、独自APIと共通APIのリソースモデルを構成するデータ名から両APIの類似度を計算し、一対一の対応付けを行う。なお、この時点では、独自APIと共通APIとの対応は、一対多となる可能性もある。
First, the API
次いで、マッピング部122は、独自APIと共通APIそれぞれにつき、一つ上のノードにグループを拡大し(ステップS13)、これらグループ同士を相互に比較してマッピングする(ステップS14)。
ここでマッピング部122は、一対多の対応があるか否かを判定する(ステップS15)。一対多の対応が存在しないならば、変換テーブル作成部123は、このマッピング結果からAPI変換テーブル221を作成して(ステップS17)、図3の処理を終了する。
ステップS15の判定にて一対多の対応が存在したならば、マッピング部122は、最上位のノードまでグループを拡大しているか否かを判定し(ステップS16)、最上位のノードまでグループを拡大していなかったならば、ステップS13の処理に戻り、更にグループを拡大する。これにより、可能な限り一対一対応とすることができる。
最上位のノードまでグループを拡大していたならば、変換テーブル作成部123は、このマッピング結果からAPI変換テーブル221を作成して(ステップS17)、図3の処理を終了する。
Next, the
Here, the
If there is a one-to-many correspondence in the determination in step S15, the
If the group has been expanded to the highest node, the conversion
既存システム32から共通API準拠のシステム41やイネーブラに対してAPIを介した通信が行われる時、API変換テーブル221(図2参照)に基づいてAPI変換を行うことで、既存システム32に手を加えることなく、共通APIにて実装されたシステム41やイネーブラへのアクセスを可能とする。
When communication via API is performed from the existing
以下で説明する動作例では、既存システム32の独自API、共通APIともにRESTを採用していることが前提である。更に共通APIは、TMFの標準APIモデルに従い、リソース名やデータ構造が定められており、リソース名やデータ構造はTMF記載の名称をそのまま用いていることが前提である。
なお、TMFではモデルを規定しているが、その実装は各事業者に委ねており、TMFの規定に準拠したAPIであっても、特有の名称が用いられることがある。
In the operation example described below, it is assumed that REST is adopted for both the original API and the common API of the existing
Although TMF defines a model, the implementation is left to each business operator, and a specific name may be used even for an API that complies with the TMF rules.
図4は、UMLモデルをツリー構造で表現した例を示す図である。
既存システム32の独自APIと共通APIは同じREST形式のプロトコルを用いており、リソースモデルおよびデータ構造があらかじめ把握できている。図4は、APIツリー作成部121が作成した独自APIまたは共通APIのリソースモデルのツリー構造を例示している。各ツリー構造において、長方形はツリー構造のリソース名を示すノードである。角が丸い四角形は、データを示すノードである。
FIG. 4 is a diagram illustrating an example in which the UML model is expressed by a tree structure.
The original API and common API of the existing
図5は、APIツリー作成部121の動作(その1)を説明する図である。この図5は、図3のフローチャートのステップS10の直後の状態を示している。
独自API仕様62は、ツリー構造の“API10”を含んでいる。共通API仕様61は、ツリー構造の“API1”,“API2”,“API3”,“API4”,を含んでいる。
APIツリー作成部121は、独自API仕様62と共通API仕様61の最下層のノード(データ)同士を比較してマッピングする。マッピング不可なノードは、独自データとみなす。なお既存システム32のデータ項目名は独自である場合があることから、突き合わせには類似度計算が必要であり、これを図6にて説明する。
FIG. 5 is a diagram for explaining the operation (part 1) of the API
The
The API
リソースモデルのツリー構造のうち、上位ノードからマッピングを行うことでマッピング範囲を絞り込むことも可能であるが、この場合には、絞り込みのためマッピングができない場合が有る。
例えば「サービスオーダ」と「ProductOrder」が一致とみなせる場合、探索範囲を絞り込むことが可能であるが、共通API仕様61にて顧客情報は「Customer」に盛り込まれているため「ProductOrder」の探索だけでは不十分であり、マッピングが行えない。そのため、本実施形態では、共通API仕様61と独自API仕様62の最下層のノード(データ)からマッピングを行っている。なお、上位からのマッピングでは、一度探索したうえで、見つからない場合は、他のAPIまで範囲を広げるといった方法もある。
In the tree structure of the resource model, it is possible to narrow down the mapping range by performing mapping from an upper node, but in this case, mapping may not be possible due to narrowing down.
For example, if “service order” and “ProductOrder” can be regarded as matching, the search range can be narrowed down. However, since customer information is included in “Customer” in the
図6は、マッピング部122の動作例(その1)の説明図である。
マッピング部122は、データ名および「その他情報」を用いて類似度を算出し、 APIデータ名の突き合わせを行う。
マッピング部122は、類似度計算にて、例えば、共通API仕様61のデータ名と独自API仕様62のデータ名との類似度を算出して第1係数を乗算する。マッピング部122は更に、共通API仕様61の「その他情報」と独自API仕様62の「その他情報」との類似度を算出して第2係数を乗算し、共通API仕様61のデータ名と独自API仕様62の「その他情報」との類似度を算出して第3係数を乗算し、共通API仕様61の「その他情報」と独自API仕様62のデータ名との類似度を算出して第4係数を乗算する。最後にマッピング部122は、これら4項の乗算結果の総和をとり、これを独自APIと共通APIの当該ノードにおける類似度とする。
既存システム32の独自API仕様62のデータ名では、インタフェース仕様にて定められた日本語説明を用いる。共通API仕様61のデータ名では、データ名の英語の説明に加え、データ名から類義語リストを作成し、データ名の日本語の意味を検索することで、データ名の意味を補強するとよい。またデータ名とその他情報を用いて類似度計算を行うことにより、精度を高めることができる。なお、日本語は分かち書きされないので、日本語で記載された「その他の情報」の部分は、形態素解析などにより単語単位に分解して比較する。
FIG. 6 is an explanatory diagram of an operation example (part 1) of the
The
In the similarity calculation, the
In the data name of the
類似度計算では一意にマッピングが決まらない場合もありうる。マッピングが決まらない場合には一旦保留したのち、以降のリソースレベルでマッピングする。また、インタフェース仕様書などに記載された情報を補足情報として用いることで、類似度計算の精度を高めることができる。 In the similarity calculation, there may be a case where the mapping is not uniquely determined. If mapping is not decided, temporarily hold and then map at the subsequent resource level. Moreover, the accuracy of similarity calculation can be improved by using the information described in the interface specification as supplementary information.
図6に示した例では、独自API仕様62の第1行目のデータと、共通API仕様61の第1,第2行目のデータとを比較している。独自API仕様62の第1行目のデータ名と、共通API仕様61の第1行目の「その他情報」とで“customer”の単語が一致する。更に、独自API仕様62の第1行目のデータ名の“No”と、共通API仕様61の第1行目のデータ名の“id”とは、目的が一致する。更に独自API仕様62の第1行目の「その他情報」に記載の「お客様固有」と、共通API仕様61の第1行目の「その他情報」に記載の「識別するために用いられる符号」とは、目的が一致する。よって、独自API仕様62の第1行目のデータと、共通API仕様61の第1行目のデータとでは類似度が高くなる。
In the example shown in FIG. 6, the data in the first row of the
独自API仕様62の第1行目のデータ名と、共通API仕様61の第2行目の「その他情報」とで“customer”の単語が一致する。しかし、それ以外の一致はないので、独自API仕様62の第1行目のデータと、共通API仕様61の第2行目のデータとでは類似度が比較的低くなる。
The word “customer” matches the data name in the first line of the
類似度計算は、予め与えられた辞書により検索される。辞書は既存のものを活用することに加え、専門用語や専門の略称も含まれると考えられることから、追加で補完する情報を加えるとよい。具体的にいうと追加で補完する情報とは、例えば“SO”といった略称であり、インターネットなどの外部から取得したり、手作業で入力するとよい。 The similarity calculation is searched using a dictionary given in advance. In addition to using existing dictionaries, technical terms and technical abbreviations are considered to be included, so it is recommended to add supplementary information. Specifically, the additional supplementary information is an abbreviation such as “SO”, for example, and may be acquired from the outside such as the Internet or manually input.
図7は、マッピング部122の動作例(その2)の説明図である。この図7は、図3のフローチャートのステップS11の直後の状態を示している。
図7に示すように、独自API仕様62の“API10”のデータ321,322は、共通API仕様61の“API3”のデータ311,312に一対一でマッピング可能である。
独自API仕様62の“API10”のデータ323は、共通API仕様61の“API1”のデータ313に一対一でマッピング可能である。独自API仕様62の“API10”のデータ324は、共通API仕様61の“API4”のデータ314に一対一でマッピング可能である。
FIG. 7 is an explanatory diagram of an operation example (part 2) of the
As shown in FIG. 7, the “API10”
The “API10”
独自API仕様62の“API10”のデータ325は、共通API仕様61の“API1”のデータ317と、“API2”のデータ315とに一対多でマッピングされる。独自API仕様62の“API10”のデータ326は、共通API仕様61の“API1”のデータ318と、“API2”のデータ316とに一対多でマッピングされる。
なお、破線で示した四角形は、マッピングされなかったノード(データ)を示している。これを独自ノードという。
The “API10”
Note that a rectangle indicated by a broken line indicates a node (data) that has not been mapped. This is called an original node.
図8は、マッピング部122の動作例(その3)の説明図である。この図8は、図3のフローチャートのステップS13の直後の状態を示している。
マッピング部122は、独自ノードを除外した状態にて、最下層から一つ上までのノードを一つのグループと見做してグルーピングを行い。グループを相互に比較する。
ここでマッピング部122は、共通API仕様61の“API3”のデータ311,312の一つ上までのノードをグルーピングし、グループG1bとする。共通API仕様61の“API2”のデータ315,316の一つ上までのノードをグルーピングし、グループG2bとする。
FIG. 8 is an explanatory diagram of an operation example (part 3) of the
The
Here, the
更にマッピング部122は、共通API仕様61の“API1”のデータ313の一つ上までのノードをグルーピングし、グループG3bにする。共通API仕様61の“API1”のデータ317,318の一つ上までのノードをグルーピングし、グループG4bとする。次いでマッピング部122は、共通API仕様61の“API4”のデータ314の一つ上までのノードをグルーピングし、グループG5bにする。
Further, the
図9は、マッピング部122の動作例(その4)の説明図である。この図9は、図3のフローチャートのステップS15の直後の状態を示している。
マッピング部122は、グループに含まれるノードが互いに一致する場合はグループ単位でマッピングする。例えば、マッピング部122は、独自API仕様62の“API10”のグループG1aと、共通API仕様61の“API3”のグループG1bとをマッピングする。更に独自API仕様62の“API10”のグループG2aと、共通API仕様61の“API2”のグループG2bとをマッピングする。ここで共通API仕様61の“API1”のグループG4bは、グループを拡大した結果、独自API仕様62の“API10”のグループG2aとは異なるデータ群であることが判明したため、マッピングしない。
このようにマッピング部122は、グループが一対一にマッピングされるまでグループの拡大を繰り返す。つまり、ツリー構造の最上位ノードまで繰り返す。
FIG. 9 is an explanatory diagram of an operation example (part 4) of the
When the nodes included in the group match each other, the
In this way, the
図10(a),(b)は、変換テーブル作成部123の動作例の説明図である。この図10(a),(b)は、図3のフローチャートのステップS16の処理を示している。
図10(a)は、マッピング結果と各ノード名称との対応を示す図である。
グループG1aは、独自API仕様62の“API10”のノード“A”と、これに属するデータ321,322を含んでいる。このグループG1aにマッピングされたグループG1bは、共通API仕様61の“API3”のノード“API3-a”と、これに属するデータ321,322を含んでいる。
10A and 10B are explanatory diagrams of an operation example of the conversion
FIG. 10A is a diagram illustrating the correspondence between the mapping result and each node name.
The group G1a includes a node “A” of “API10” of the
データ323は、独自API仕様62の“API10”のノード“B”に属するノード“a”に更に属しており、名称は“data1”である。このデータ323にマッピングされたデータ313は、共通API仕様61の“API1”のノード“API1-a”に従属するデータであり、名称は“d1”である。
データ324は、独自API仕様62の“API10”のノード“B”に属するノード“a”に更に属しており、名称は“data2”である。このデータ324にマッピングされたデータ314は、共通API仕様61の“API4”のノード“API4-a”に従属するデータであり、名称は“d2”である。
The
The
グループG2aは、独自API仕様62の“API10”のノード“B”に属するノード“b”と、データ325,326を含んでいる。このグループG2aにマッピングされたグループG2bは、共通API仕様61の“API2”のノード“API2-b”と、これに属するデータ315,316を含んでいる。
The group G2a includes a node “b” belonging to the node “B” of “API10” of the
図10(b)は、作成したAPI変換テーブル221の例を示している。
独自API仕様62の“/API10/A”は、共通API仕様61の“/API3/API3-a”に変換される。これは、グループG1aとグループG1bとのマッピング結果により作成される。このように、グルーピングしたマッピング結果からAPI変換テーブル221を作成することで、API変換テーブル221のエントリ数を削減することができる。
独自API仕様62の“/API10/B/b”は、共通API仕様61の“/API2/API2-b”に変換される。これは、グループG2aとグループG2bとのマッピング結果により作成される。
FIG. 10B shows an example of the created API conversion table 221.
“/ API10 / A” of the
“/ API10 / B / b” of the
独自API仕様62の“/API10/B/a/data1”は、共通API仕様61の“/API1/API1-a/d1”に変換される。これは、データ323とデータ313とのマッピング結果により作成される。
独自API仕様62の“/API10/B/a/data2”は、共通API仕様61の“/API4/API4-a/d2”に変換される。これは、データ324とデータ314とのマッピング結果により作成される。
なお、グルーピングを行わす、データ単位でマッピングしてもよい。これにより、短時間にマッピング結果を得ることができる。
“/ API10 / B / a / data1” of the
“/ API10 / B / a / data2” of the
Note that grouping may be performed in units of data. Thereby, a mapping result can be obtained in a short time.
図11(a)〜(c)は、変換テーブル作成部123の他の動作例の説明図である。
API変換テーブル221の作成は、マッピングのパターンに基づき、以下のように定める。
図11(a)は、グループ単位、または個々のデータが一致するパターンを示している。
このとき変換テーブル作成部123は、独自API仕様62の「顧客情報」のグループ名と、共通API仕様61の「Customer」のグループ名とで括ってAPI変換テーブル221を作成する。「顧客番号」は「id」にマッピングし、「名前」は、「name」にマッピングする。
FIGS. 11A to 11C are explanatory diagrams of another operation example of the conversion
The API conversion table 221 is created based on the mapping pattern as follows.
FIG. 11A shows a pattern in which group data or individual data matches.
At this time, the conversion
図11(b)は、グループ単位、または個々のデータが一致するパターンを示している。
このとき変換テーブル作成部123は、独自API仕様62の「/トラチケ/利用者名」と、共通API仕様61の「/Customer/name」とのマッピングによりAPI変換テーブル221を作成する。なお、ここで記載された「トラチケ」とは、トラブルチケットの略称である。
FIG. 11B shows a pattern in which group data or individual data matches.
At this time, the conversion
図11(c)は、データの粒度が異なり、かつデータを分割可能なパターンを示している。
このとき変換テーブル作成部123は、リクエストやレスポンスを束ねるルールや、分割するルールに基づいてマッピングする。例えば独自API仕様62の「/顧客情報/姓」と「/顧客情報/名」とを束ねると、共通API仕様61の「/Customer/name」にマッピング可能である。
FIG. 11C shows a pattern in which the data granularity is different and the data can be divided.
At this time, the conversion
図12は、変換テーブル作成部123の他の動作例の説明図である。
ここでは、データの粒度が異なり、かつ複数のデータを束ねて初めて意味を成すパターンについて説明する。例えば、独自API仕様62のデータA,B,Cが揃ったときに共通API仕様61のデータa,b,c,dと同じ意味をなす場合は、一時的にバッファリングを行い、分割したリクエストに対するレスポンスが全て揃った段階で変換する。
このようにデータの粒度が異なるパターンは、APIマッシュアップ部223の機能を用いて、分割したリクエストに対する全レスポンスを取得したのちに、変換を行うとよい。また、リクエストまたはレスポンスに不足がある場合は、ダミーデータ(空情報を含む)を返却する、またはエラーコードと共に追加リクエストを要求する、といった手段が可能である。
FIG. 12 is an explanatory diagram of another operation example of the conversion
Here, a description will be given of patterns that have different data granularities and that make sense only when a plurality of data is bundled. For example, when the data A, B, and C of the
Thus, patterns having different data granularities may be converted after obtaining all responses to the divided requests using the function of the
なお、自動マッピングができないデータ項目は、変換テーブル案提示部13(図2参照)により、リスト化したうえで、管理者(人間)に通知するとよい。これにより、管理者による適切なAPI変換テーブルの生成を好適に支援することができる。 Note that data items that cannot be automatically mapped may be listed by the conversion table draft presenting unit 13 (see FIG. 2) and then notified to the administrator (human). Thereby, it is possible to favorably support generation of an appropriate API conversion table by the administrator.
(変形例)
本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で、変更実施が可能であり、例えば、次の(a)〜(c)のようなものがある。
(a) APIの変換方向は限定されない。独自APIを共通APIに変換するのみでなく、その逆に共通APIを独自APIに変換してもよい。
(b) API変換テーブル生成装置1は、API変換装置2とは別に構成してもよく、API変換装置2の内部にAPI変換テーブル生成手段として実装してもよく、限定されない。
(c) APIの形式はRESTに限定されず、例えばSOAP(SimpleObject Access Protocol)といった他のプロトコル形式であってもよい。
(Modification)
The present invention is not limited to the above-described embodiment, and can be modified without departing from the spirit of the present invention. For example, there are the following (a) to (c).
(A) The API conversion direction is not limited. In addition to converting the original API into the common API, the common API may be converted into the original API.
(B) The API conversion
(C) The API format is not limited to REST, and may be another protocol format such as SOAP (Simple Object Access Protocol).
1 API変換テーブル生成装置
11 API構造受付部
12 API構造比較部
121 APIツリー作成部
122 マッピング部
123 変換テーブル作成部
16 共通API情報保有部
17 辞書データ保有部
18 外部情報取得部
2 API変換装置
21 API入力部
22 API処理部
221 API変換テーブル
222 API変換部
223 APIマッシュアップ部
23 API出力部
3 ネットワーク事業者
31 新規システム
32 既存システム
33 オーケストレータ
4 サービス事業者
41 システム
5 APIアグリゲーション
DESCRIPTION OF
Claims (8)
前記第1,第2のAPIの間で、類似度が高いデータまたはグループを一対一でマッピングさせるマッピング部と、
前記マッピング部によるマッピングに基づいて、前記API変換テーブルを作成する変換テーブル作成部と、
を備えることを特徴とするAPI変換テーブル生成装置。 An API conversion table generation device that generates an API conversion table that absorbs a difference between a first API and a second API,
A mapping unit for mapping data or groups having a high degree of similarity between the first and second APIs on a one-to-one basis;
Based on the mapping by the mapping unit, a conversion table creating unit that creates the API conversion table;
An API conversion table generating device comprising:
ことを特徴とする請求項1に記載のAPI変換テーブル生成装置。 An API tree creation unit for creating a tree structure of the resource model of the first and second APIs;
The API conversion table generation device according to claim 1, wherein
ことを特徴とする請求項2に記載のAPI変換テーブル生成装置。 The mapping unit performs mapping according to the similarity of data in the lowest layer of the tree structure.
The API conversion table generating apparatus according to claim 2, wherein
ことを特徴とする請求項3に記載のAPI変換テーブル生成装置。 The mapping unit calculates the similarity by comparing the name of the lowermost data of the tree structure or / and the description of the data,
The API conversion table generation device according to claim 3, wherein
ことを特徴とする請求項3に記載のAPI変換テーブル生成装置。 When the data of the first API is mapped to a plurality of data of the second API, the mapping unit sequentially expands a group including each data to an upper node and the first API and the first API Compare the groups with the API of 2 and map the groups with high similarity one-to-one.
The API conversion table generation device according to claim 3, wherein
ことを特徴とする請求項1に記載のAPI変換テーブル生成装置。 The conversion table creation unit creates the API conversion table in a group unit when the first API and the second API match in a group unit.
The API conversion table generation device according to claim 1, wherein
前記API変換テーブル生成装置が、前記第1,第2のAPIの間で、類似度が高いデータまたはグループを一対一でマッピングさせるステップと、
前記データまたは前記グループのマッピング結果に基づいて、前記API変換テーブルを作成するステップと、
を含むことを特徴とするAPI変換テーブル生成方法。 An API conversion table generation method executed by an API conversion table generation device that generates an API conversion table that absorbs a difference between a first API and a second API,
The API conversion table generating device mapping data or groups having a high degree of similarity between the first and second APIs on a one-to-one basis;
Creating the API conversion table based on the mapping result of the data or the group;
A method for generating an API conversion table, comprising:
第1のAPIと第2のAPIとの間で、類似度が高いデータまたはグループを一対一でマッピングさせる手順、
前記データまたは前記グループのマッピング結果に基づいて、前記第1のAPIと前記第2のAPIとの差分を吸収するAPI変換テーブルを作成する手順、
を実行させるためのAPI変換テーブル生成プログラム。 On the computer,
A procedure for mapping data or groups having a high similarity between the first API and the second API on a one-to-one basis;
A procedure for creating an API conversion table that absorbs a difference between the first API and the second API based on the mapping result of the data or the group;
API conversion table generation program to execute.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015163309A JP6457903B2 (en) | 2015-08-21 | 2015-08-21 | API conversion table generation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015163309A JP6457903B2 (en) | 2015-08-21 | 2015-08-21 | API conversion table generation device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017041158A true JP2017041158A (en) | 2017-02-23 |
JP6457903B2 JP6457903B2 (en) | 2019-01-23 |
Family
ID=58203276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015163309A Active JP6457903B2 (en) | 2015-08-21 | 2015-08-21 | API conversion table generation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6457903B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190074552A (en) * | 2017-12-20 | 2019-06-28 | 주식회사 케이티 | Mash-up method for integrating heterogeneous data and apparatus thereof |
JP2019133622A (en) * | 2018-02-02 | 2019-08-08 | 富士通株式会社 | Mapping of api parameter |
JP2019160105A (en) * | 2018-03-16 | 2019-09-19 | 富士通株式会社 | Interface conversion program, interface conversion method, and information processing device |
JP2020009073A (en) * | 2018-07-05 | 2020-01-16 | 三菱電機株式会社 | Conversion device and conversion program |
CN111160403A (en) * | 2019-12-09 | 2020-05-15 | 青岛聚好联科技有限公司 | Method and device for multiplexing and discovering API (application program interface) |
JPWO2020255364A1 (en) * | 2019-06-21 | 2020-12-24 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009238040A (en) * | 2008-03-27 | 2009-10-15 | Hitachi Ltd | Support method, support program, and support system for inter-module cooperation |
JP2013522733A (en) * | 2010-03-12 | 2013-06-13 | マイクロソフト コーポレーション | Semantic updates and adaptive interfaces related to information as a service |
-
2015
- 2015-08-21 JP JP2015163309A patent/JP6457903B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009238040A (en) * | 2008-03-27 | 2009-10-15 | Hitachi Ltd | Support method, support program, and support system for inter-module cooperation |
JP2013522733A (en) * | 2010-03-12 | 2013-06-13 | マイクロソフト コーポレーション | Semantic updates and adaptive interfaces related to information as a service |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190074552A (en) * | 2017-12-20 | 2019-06-28 | 주식회사 케이티 | Mash-up method for integrating heterogeneous data and apparatus thereof |
KR102624680B1 (en) * | 2017-12-20 | 2024-01-15 | 주식회사 케이티 | Mash-up method for integrating heterogeneous data and apparatus thereof |
JP2019133622A (en) * | 2018-02-02 | 2019-08-08 | 富士通株式会社 | Mapping of api parameter |
JP7206687B2 (en) | 2018-02-02 | 2023-01-18 | 富士通株式会社 | API parameter mapping |
JP2019160105A (en) * | 2018-03-16 | 2019-09-19 | 富士通株式会社 | Interface conversion program, interface conversion method, and information processing device |
JP6993577B2 (en) | 2018-03-16 | 2022-01-13 | 富士通株式会社 | Interface conversion program, interface conversion method and information processing equipment |
JP2020009073A (en) * | 2018-07-05 | 2020-01-16 | 三菱電機株式会社 | Conversion device and conversion program |
JPWO2020255364A1 (en) * | 2019-06-21 | 2020-12-24 | ||
WO2020255364A1 (en) * | 2019-06-21 | 2020-12-24 | 日本電信電話株式会社 | Plug-in generation device, controller, plug-in generation method, and plug-in generation program |
JP7164039B2 (en) | 2019-06-21 | 2022-11-01 | 日本電信電話株式会社 | Plug-in generation device, controller system, plug-in generation method, and plug-in generation program |
CN111160403A (en) * | 2019-12-09 | 2020-05-15 | 青岛聚好联科技有限公司 | Method and device for multiplexing and discovering API (application program interface) |
CN111160403B (en) * | 2019-12-09 | 2023-09-26 | 青岛聚好联科技有限公司 | API (application program interface) multiplexing discovery method and device |
Also Published As
Publication number | Publication date |
---|---|
JP6457903B2 (en) | 2019-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6457903B2 (en) | API conversion table generation device | |
US11216302B2 (en) | Modifying task dependencies at worker nodes using precompiled libraries | |
CN107368503B (en) | Data synchronization method and system based on button | |
WO2017113060A1 (en) | Website access method and device, and website system | |
CN107872437B (en) | Method, device and server for service request | |
CN105550268A (en) | Big data process modeling analysis engine | |
JP7237905B2 (en) | Method, apparatus and system for data mapping | |
CN115016784B (en) | Low code application multiplexing method, application analysis system, equipment and storage medium | |
JPWO2013175611A1 (en) | Distributed data search system, distributed data search method, and management computer | |
CN105930354B (en) | Storage model conversion method and device | |
US20170068714A1 (en) | Generating multiple flat files from a hierarchal structure | |
JP2013054602A (en) | Graph pattern matching system and graph pattern matching method | |
Rastogi et al. | Design and development of generic web based framework for log analysis | |
CN116776030A (en) | Gray release method, device, computer equipment and storage medium | |
CN111403011A (en) | Registered department pushing method, device and system, electronic equipment and storage medium | |
JP6449961B2 (en) | Method and apparatus for generating web pages | |
US20110055279A1 (en) | Application server, object management method, and object management program | |
US20170161359A1 (en) | Pattern-driven data generator | |
CN103823855A (en) | Chinese encyclopedic knowledge organization and integration method aiming at semantic network | |
CN115905274A (en) | Data processing method and device, electronic equipment and medium | |
CN116263659A (en) | Data processing method, apparatus, computer program product, device and storage medium | |
CN104156358B (en) | A kind of batch read method of table for database, device and system | |
Cui et al. | Research on low cost student electronic archives management system in high-concurrency environment | |
CN109416683B (en) | Data processing apparatus, database system, and communication operation method of database system | |
Zaslavskiy et al. | Implementation of the new REST API for open source LBS-platform Geo2Tag |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170905 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180516 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180529 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180720 |
|
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: 20181218 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181221 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6457903 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |