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 PDF

Info

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
Application number
JP2015163309A
Other languages
Japanese (ja)
Other versions
JP6457903B2 (en
Inventor
嵩士 白井
Takashi Shirai
嵩士 白井
浩行 大西
Hiroyuki Onishi
浩行 大西
裕司 副島
Yuji Soejima
裕司 副島
篤 高田
Atsushi Takada
篤 高田
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 JP2015163309A priority Critical patent/JP6457903B2/en
Publication of JP2017041158A publication Critical patent/JP2017041158A/en
Application granted granted Critical
Publication of JP6457903B2 publication Critical patent/JP6457903B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To automatically generate a conversion table for converting an API (application program interface) into the API conforming to another API provisions.SOLUTION: An API conversion table generator 1 generates an API conversion table 221 which absorbs a difference between an original API and a common API, which comprises: a mapping section 122 that carries out a series of mapping processing to make one-to-one pairs of data or groups having high similarity between a common API and an original API; and a conversion table creation section 123 that creates the API conversion table 221 on the basis of the mapping by the mapping section 122.SELECTED DRAWING: Figure 2

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 Document 1 describes this standard API model. TM (TeleManagement) FORUM, the publisher of this Non-Patent Document 1, is working on the examination of industry standards, the promotion of commercialization based on that, and the activation of the industry in order to realize network management of interoperable information communication systems. It is a non-profit industry organization established for the purpose, and is examining a standard API for providing services across multiple operators.

図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”.

TeleManagement FORUM,“Frameworx Specification Product Ordering API REST Specification”,Release 14.5.0,November 2014TeleManagement FORUM, “Frameworx Specification Product Ordering API REST Specification”, Release 14.5.0, November 2014

上記したように、事業者間連携を行う場合は、例えば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 claim 1 is 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 that maps data or groups having high similarity between the second APIs on a one-to-one basis, and a conversion table creation unit that creates the API conversion table based on the mapping by the mapping unit. An API conversion table generation device characterized by

このようにすることで、一の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 claim 1, further comprising an API tree creation unit that creates a tree structure of the resource model of the first and second APIs. It was.

このようにすることで、高速に第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 claim 5, 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. 4. The API conversion table generation device according to claim 3, wherein groups are compared between the first API and the second API, and groups having a high degree of similarity are mapped one-to-one. 5. It was.

このようにすることで、誤りなく第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 claim 1 is provided.

このようにすることで、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.

本実施形態におけるAPI変換装置とAPI変換テーブル生成装置を含むシステム構成図である。1 is a system configuration diagram including an API conversion apparatus and an API conversion table generation apparatus in the present embodiment. API変換装置とAPI変換テーブル生成装置の概略のブロック図である。It is a schematic block diagram of an API conversion device and an API conversion table generation device. API構造比較部の処理を示すフローチャートである。It is a flowchart which shows the process of an API structure comparison part. UMLモデルをツリー構造で表現した例を示す図である。It is a figure which shows the example which expressed the UML model by the tree structure. APIツリー作成部の動作を説明する図である。It is a figure explaining operation | movement of an API tree preparation part. マッピング部の動作例(その1)の説明図である。It is explanatory drawing of the operation example (the 1) of a mapping part. マッピング部の動作例(その2)の説明図である。It is explanatory drawing of the operation example (the 2) of a mapping part. マッピング部の動作例(その3)の説明図である。It is explanatory drawing of the operation example (the 3) of a mapping part. マッピング部の動作例(その4)の説明図である。It is explanatory drawing of the operation example (the 4) of a mapping part. 変換テーブル作成部の動作例の説明図である。It is explanatory drawing of the operation example of a conversion table preparation part. 変換テーブル作成部の他の動作例の説明図である。It is explanatory drawing of the other operation example of a conversion table preparation part. 変換テーブル作成部の他の動作例の説明図である。It is explanatory drawing of the other operation example of a conversion table preparation part. RESTのGETリクエストとレスポンスの例を示す図である。It is a figure which shows the example of a REST GET request and a response.

次に、本発明を実施するための形態(「実施形態」という)について、適宜図面を参照しながら詳細に説明する。
図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 table generation device 1 in the present embodiment.
The system shown in FIG. 1 enables communication between a system 41 operated by the service provider 4 and a new system 31 and an existing system 32 operated by the network provider 3. The new system 31 includes an orchestrator 33. Here, the orchestrator 33 is a mechanism that automates the construction and operation of a system by defining resource allocation, settings, dependencies, and the like on the cloud. The orchestrator 33 can build a system on the cloud all at once, and can also prepare many consistent environments.

既存システム32は独自API(第1のAPI)で通信し、新規システム31は共通API(第2のAPI)で通信する。新規システム31の共通APIの通信データは、APIアグリゲーション5を介して、そのままサービス事業者4のシステム41に送信される。つまりAPIアグリゲーション5は、共通APIの通信データを変換することなく中継する。   The existing system 32 communicates with a unique API (first API), and the new system 31 communicates with a common API (second API). Communication data of the common API of the new system 31 is transmitted as it is to the system 41 of the service provider 4 via the API aggregation 5. That is, the API aggregation 5 relays the communication data of the common API without converting it.

これに対して既存システム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 system 32 is converted into a common API via the API aggregation 5 and transmitted (relayed) to the system 41 of the service provider 4. Conversion between the original API and the common API is performed by the API conversion device 2.

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 table generation device 1. Details of the API conversion device 2 and the API conversion table generation device 1 will be described below with reference to FIG.

図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 table generation device 1.
The API conversion device 2 converts the original API and the common API to each other. The API conversion device 2 includes an API input unit 21 that receives API requests and responses, an API processing unit 22 that processes API inputs, and an API output unit 23 that outputs API requests and responses. . The API processing unit 22 includes an API conversion table 221 that stores conversion information between a unique API and a common API, an API conversion unit 222 that converts APIs, and an API mashup that links a plurality of APIs into a new API. The unit 223 is configured. The API conversion device 2 is a computer having a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like. To embody.

API変換装置2にて、API入力部21にAPIが入力されると、このAPIはAPI処理部22にて適宜変換やマッシュアップが行われて、API出力部23によって出力される。   When an API is input to the API input unit 21 by the API conversion device 2, this API is appropriately converted and mashed up by the API processing unit 22 and output by the API output unit 23.

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 table generation device 1 generates an API conversion table 221 that stores conversion information between the unique API and the common API. The API conversion table generating device 1 includes an API structure receiving unit 11, an API structure comparing unit 12, a conversion table draft presenting unit 13, a conversion table correction input unit 14, a conversion table output unit 15, a common API information holding unit 16, dictionary data. A holding unit 17, an external information acquisition unit 18, and a dictionary data correction unit 19 are included. The API structure comparison unit 12 includes an API tree creation unit 121, a mapping unit 122, and a conversion table creation unit 123. The API conversion table generation apparatus 1 is a computer having a CPU, a ROM, a RAM, and the like, and implements the above-described units by executing an API conversion table generation program (not shown).

API構造受付部11は、APIの構造を示す情報を受け付けてAPI構造比較部12に引き渡す。API構造比較部12のAPIツリー作成部121は、このAPIをツリー構造として作成する。マッピング部122は、共通APIと独自APIとを突き合わせてマッピングする。変換テーブル作成部123は、このマッピング結果からAPI変換テーブル221を作成する。このAPI構造比較部12の処理については後述する。   The API structure receiving unit 11 receives information indicating the API structure and passes it to the API structure comparing unit 12. The API tree creation unit 121 of the API structure comparison unit 12 creates this API as a tree structure. The mapping unit 122 matches and maps the common API and the unique API. The conversion table creation unit 123 creates an API conversion table 221 from the mapping result. The processing of the API structure comparison unit 12 will be described later.

このAPI変換テーブル221は、変換テーブル案提示部13によってユーザに提示され、変換テーブル修正入力部14によってユーザの修正入力を受け付け、変換テーブル出力部15によってAPI変換装置2に出力される。   The API conversion table 221 is presented to the user by the conversion table draft presenting unit 13, receives the user's correction input by the conversion table correction input unit 14, and is output to the API conversion device 2 by the conversion table output unit 15.

共通API情報保有部16は、共通APIの仕様情報を保有する。辞書データ保有部17は、共通APIと独自APIとを突き合わせてマッピングする際の辞書データを保有する。外部情報取得部18は、外部情報、例えば独自APIの仕様情報やネットワーク上の類義語情報などを取得する。辞書データ修正部19は、辞書データ保有部17が格納する辞書データを修正する。ユーザは、この辞書データ修正部19を介して辞書データを書き換えることができる。   The common API information holding unit 16 holds common API specification information. The dictionary data holding unit 17 holds dictionary data for mapping by mapping the common API and the unique API. The external information acquisition unit 18 acquires external information, for example, specification information of a unique API or synonym information on a network. The dictionary data correction unit 19 corrects the dictionary data stored in the dictionary data holding unit 17. The user can rewrite the dictionary data via the dictionary data correction unit 19.

本実施形態では、API変換テーブル生成装置1により、既存システム32の独自APIと共通APIの差分を自動抽出してAPI変換テーブル221を生成する。API変換装置2は、このAPI変換テーブル221に基づきAPI処理を行う。   In this embodiment, the API conversion table generation device 1 automatically extracts the difference between the unique API and the common API of the existing system 32 and generates the API conversion table 221. The API conversion device 2 performs API processing based on the API conversion table 221.

図3は、API構造比較部12の処理を示すフローチャートである。
既存システム32(図1参照)の独自APIと、共通APIのリソースモデルおよびデータ構造を入力すると、図3の処理が開始する。ここで独自APIと共通APIのリソースモデルおよびデータ構造は、あらかじめ用意しておいてもよい。
FIG. 3 is a flowchart showing processing of the API structure comparison unit 12.
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 structure comparison unit 12 uses the API tree creation unit 121 to create a resource model tree structure of the unique API and the common API (step S10). Next, the API tree creation unit 121 uses the mapping unit 122 to match the lowest layer nodes of the resource model having the tree structure of the unique API and the common API, map the data name (step S11), and further delete the unique node. (Step S12). At the time of this mapping, the API tree creation unit 121 calculates the similarity between both APIs from the data names constituting the resource model of the unique API and the common API, and performs one-to-one association. At this point, the correspondence between the unique API and the common API may be one-to-many.

次いで、マッピング部122は、独自APIと共通APIそれぞれにつき、一つ上のノードにグループを拡大し(ステップS13)、これらグループ同士を相互に比較してマッピングする(ステップS14)。
ここでマッピング部122は、一対多の対応があるか否かを判定する(ステップS15)。一対多の対応が存在しないならば、変換テーブル作成部123は、このマッピング結果からAPI変換テーブル221を作成して(ステップS17)、図3の処理を終了する。
ステップS15の判定にて一対多の対応が存在したならば、マッピング部122は、最上位のノードまでグループを拡大しているか否かを判定し(ステップS16)、最上位のノードまでグループを拡大していなかったならば、ステップS13の処理に戻り、更にグループを拡大する。これにより、可能な限り一対一対応とすることができる。
最上位のノードまでグループを拡大していたならば、変換テーブル作成部123は、このマッピング結果からAPI変換テーブル221を作成して(ステップS17)、図3の処理を終了する。
Next, the mapping unit 122 expands the group to the next higher node for each of the unique API and the common API (step S13), and maps these groups by comparing each other (step S14).
Here, the mapping unit 122 determines whether or not there is a one-to-many correspondence (step S15). If there is no one-to-many correspondence, the conversion table creation unit 123 creates the API conversion table 221 from the mapping result (step S17), and ends the processing of FIG.
If there is a one-to-many correspondence in the determination in step S15, the mapping unit 122 determines whether or not the group is expanded to the highest node (step S16), and expands the group to the highest node. If not, the process returns to step S13 to further expand the group. Thereby, it can be made one-to-one correspondence as much as possible.
If the group has been expanded to the highest node, the conversion table creation unit 123 creates the API conversion table 221 from the mapping result (step S17), and ends the processing of FIG.

既存システム32から共通API準拠のシステム41やイネーブラに対してAPIを介した通信が行われる時、API変換テーブル221(図2参照)に基づいてAPI変換を行うことで、既存システム32に手を加えることなく、共通APIにて実装されたシステム41やイネーブラへのアクセスを可能とする。   When communication via API is performed from the existing system 32 to the common API compliant system 41 or enabler, the API conversion is performed based on the API conversion table 221 (see FIG. 2), so that the existing system 32 can be handled. Without adding, it is possible to access the system 41 and the enabler implemented with the common API.

以下で説明する動作例では、既存システム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 system 32. Further, it is assumed that the common API has a resource name and a data structure defined according to the TMF standard API model, and the resource name and the data structure use the names described in TMF as they are.
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 system 32 use the same REST format protocol, and the resource model and data structure can be grasped in advance. FIG. 4 illustrates the tree structure of the resource model of the unique API or common API created by the API tree creation unit 121. In each tree structure, a rectangle is a node indicating a resource name of the tree structure. A rectangle with rounded corners is a node indicating data.

図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 tree creation unit 121. FIG. 5 shows a state immediately after step S10 in the flowchart of FIG.
The unique API specification 62 includes “API10” having a tree structure. The common API specification 61 includes “API1”, “API2”, “API3”, and “API4” in a tree structure.
The API tree creation unit 121 compares and maps the nodes (data) in the lowest layer of the unique API specification 62 and the common API specification 61. Nodes that cannot be mapped are regarded as unique data. Since the data item name of the existing system 32 may be unique, similarity calculation is required for matching, which will be described with reference to FIG.

リソースモデルのツリー構造のうち、上位ノードからマッピングを行うことでマッピング範囲を絞り込むことも可能であるが、この場合には、絞り込みのためマッピングができない場合が有る。
例えば「サービスオーダ」と「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 common API specification 61, only the search for “ProductOrder” is possible. Is not sufficient and cannot be mapped. Therefore, in this embodiment, mapping is performed from the lowest layer node (data) of the common API specification 61 and the unique API specification 62. In the mapping from the top, there is also a method of searching once and then expanding the range to other APIs if it is not found.

図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 mapping unit 122.
The mapping unit 122 calculates the similarity using the data name and “other information”, and matches the API data name.
In the similarity calculation, the mapping unit 122 calculates, for example, the similarity between the data name of the common API specification 61 and the data name of the unique API specification 62 and multiplies the first coefficient. The mapping unit 122 further calculates the similarity between the “other information” of the common API specification 61 and the “other information” of the unique API specification 62 and multiplies the second coefficient, and the data name of the common API specification 61 and the unique API The degree of similarity between “other information” of the specification 62 is calculated and multiplied by the third coefficient, the degree of similarity between “other information” of the common API specification 61 and the data name of the unique API specification 62 is calculated, and the fourth coefficient Multiply Finally, the mapping unit 122 calculates the sum of the multiplication results of these four terms and sets this as the similarity between the original API and the common API at the corresponding node.
In the data name of the unique API specification 62 of the existing system 32, the Japanese description defined in the interface specification is used. In the data name of the common API specification 61, in addition to the English description of the data name, a synonym list is created from the data name, and the Japanese meaning of the data name is searched to reinforce the meaning of the data name. In addition, accuracy can be improved by performing similarity calculation using the data name and other information. Since Japanese is not divided, the "other information" part written in Japanese is decomposed into word units and compared by morphological analysis or the like.

類似度計算では一意にマッピングが決まらない場合もありうる。マッピングが決まらない場合には一旦保留したのち、以降のリソースレベルでマッピングする。また、インタフェース仕様書などに記載された情報を補足情報として用いることで、類似度計算の精度を高めることができる。   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 unique API specification 62 and the data in the first and second rows of the common API specification 61 are compared. The word “customer” matches the data name in the first line of the unique API specification 62 and “other information” in the first line of the common API specification 61. Furthermore, “No” of the data name on the first line of the unique API specification 62 and “id” of the data name on the first line of the common API specification 61 have the same purpose. Further, “customer-specific” described in “other information” on the first line of the original API specification 62 and “code used for identification” described in “other information” on the first line of the common API specification 61. And the purpose matches. Therefore, the similarity between the data in the first row of the unique API specification 62 and the data in the first row of the common API specification 61 is high.

独自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 unique API specification 62 and “other information” in the second line of the common API specification 61. However, since there is no other match, the similarity between the data in the first row of the unique API specification 62 and the data in the second row of the common API specification 61 is relatively low.

類似度計算は、予め与えられた辞書により検索される。辞書は既存のものを活用することに加え、専門用語や専門の略称も含まれると考えられることから、追加で補完する情報を加えるとよい。具体的にいうと追加で補完する情報とは、例えば“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 mapping unit 122. FIG. 7 shows a state immediately after step S11 in the flowchart of FIG.
As shown in FIG. 7, the “API10” data 321 and 322 of the unique API specification 62 can be mapped one-to-one with the “API3” data 311 and 312 of the common API specification 61.
The “API10” data 323 of the unique API specification 62 can be mapped to the “API1” data 313 of the common API specification 61 on a one-to-one basis. The “API10” data 324 of the unique API specification 62 can be mapped to the “API4” data 314 of the common API specification 61 on a one-to-one basis.

独自API仕様62の“API10”のデータ325は、共通API仕様61の“API1”のデータ317と、“API2”のデータ315とに一対多でマッピングされる。独自API仕様62の“API10”のデータ326は、共通API仕様61の“API1”のデータ318と、“API2”のデータ316とに一対多でマッピングされる。
なお、破線で示した四角形は、マッピングされなかったノード(データ)を示している。これを独自ノードという。
The “API10” data 325 of the unique API specification 62 is mapped one-to-many with the “API1” data 317 and the “API2” data 315 of the common API specification 61. The “API10” data 326 of the unique API specification 62 is mapped one-to-many to the “API1” data 318 and the “API2” data 316 of the common API specification 61.
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 mapping unit 122. FIG. 8 shows a state immediately after step S13 in the flowchart of FIG.
The mapping unit 122 performs grouping by considering the nodes from the lowest layer up one level as one group, with the unique node excluded. Compare groups with each other.
Here, the mapping unit 122 groups the nodes up to one of the data 311 and 312 of the “API3” of the common API specification 61 to form a group G1b. The nodes up to one point above the data 315 and 316 of “API2” of the common API specification 61 are grouped into a group G2b.

更にマッピング部122は、共通API仕様61の“API1”のデータ313の一つ上までのノードをグルーピングし、グループG3bにする。共通API仕様61の“API1”のデータ317,318の一つ上までのノードをグルーピングし、グループG4bとする。次いでマッピング部122は、共通API仕様61の“API4”のデータ314の一つ上までのノードをグルーピングし、グループG5bにする。   Further, the mapping unit 122 groups the nodes up to one data 313 of “API1” of the common API specification 61 into a group G3b. The nodes up to one level above the data 317 and 318 of “API1” of the common API specification 61 are grouped into a group G4b. Next, the mapping unit 122 groups the nodes up to one point above the data 314 of “API4” of the common API specification 61 to form a group G5b.

図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 mapping unit 122. FIG. 9 shows a state immediately after step S15 in the flowchart of FIG.
When the nodes included in the group match each other, the mapping unit 122 performs mapping in units of groups. For example, the mapping unit 122 maps the “API10” group G1a of the unique API specification 62 and the “API3” group G1b of the common API specification 61. Further, the “API10” group G2a of the unique API specification 62 and the “API2” group G2b of the common API specification 61 are mapped. Here, the group G4b of “API1” of the common API specification 61 is not mapped because it has been found that it is a data group different from the group G2a of “API10” of the unique API specification 62 as a result of expanding the group.
In this way, the mapping unit 122 repeats group expansion until the groups are mapped one-on-one. That is, it repeats to the top node of the tree structure.

図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 table creation unit 123. FIG. FIGS. 10A and 10B show the process of step S16 in the flowchart of FIG.
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 unique API specification 62 and data 321 and 322 belonging thereto. The group G1b mapped to this group G1a includes the node “API3-a” of “API3” of the common API specification 61 and the data 321 and 322 belonging thereto.

データ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 data 323 further belongs to the node “a” belonging to the node “B” of “API10” of the unique API specification 62, and the name is “data1”. Data 313 mapped to this data 323 is data subordinate to the node “API1-a” of “API1” of the common API specification 61, and the name is “d1”.
The data 324 further belongs to the node “a” belonging to the node “B” of “API10” of the unique API specification 62, and the name is “data2”. The data 314 mapped to the data 324 is data subordinate to the node “API4-a” of “API4” of the common API specification 61, and the name is “d2”.

グループ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 unique API specification 62, and data 325 and 326. The group G2b mapped to the group G2a includes a node “API2-b” of “API2” of the common API specification 61 and data 315 and 316 belonging to the node “API2-b”.

図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 original API specification 62 is converted to “/ API3 / API3-a” of the common API specification 61. This is created by the mapping result between the group G1a and the group G1b. Thus, by creating the API conversion table 221 from the grouped mapping result, the number of entries in the API conversion table 221 can be reduced.
“/ API10 / B / b” of the original API specification 62 is converted to “/ API2 / API2-b” of the common API specification 61. This is created by the mapping result of the group G2a and the group G2b.

独自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 original API specification 62 is converted to “/ API1 / API1-a / d1” of the common API specification 61. This is created by the mapping result between the data 323 and the data 313.
“/ API10 / B / a / data2” of the original API specification 62 is converted to “/ API4 / API4-a / d2” of the common API specification 61. This is created by the mapping result between the data 324 and the data 314.
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 table creation unit 123. FIG.
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 table creation unit 123 creates the API conversion table 221 by enclosing the group name of “customer information” in the unique API specification 62 and the group name of “Customer” in the common API specification 61. “Customer number” is mapped to “id”, and “name” is mapped to “name”.

図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 table creation unit 123 creates an API conversion table 221 by mapping “/ Tracquet / user name” of the unique API specification 62 and “/ Customer / name” of the common API specification 61. Note that “Torachiquet” described here is an abbreviation of trouble ticket.

図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 table creation unit 123 performs mapping based on a rule for bundling requests and responses and a rule for division. For example, when “/ customer information / last name” and “/ customer information / first name” of the unique API specification 62 are bundled, they can be mapped to “/ Customer / name” of the common API specification 61.

図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 table creation unit 123.
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 original API specification 62 are prepared and the same meaning as the data a, b, c, and d of the common API specification 61 is made, buffered temporarily and divided requests Convert when all the responses to are complete.
Thus, patterns having different data granularities may be converted after obtaining all responses to the divided requests using the function of the API mashup unit 223. Further, when there is a shortage of requests or responses, means such as returning dummy data (including null information) or requesting an additional request together with an error code is possible.

なお、自動マッピングができないデータ項目は、変換テーブル案提示部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 table generation device 1 may be configured separately from the API conversion device 2, and may be implemented as an API conversion table generation means inside the API conversion device 2, and is not limited.
(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 SYMBOLS 1 API conversion table production | generation apparatus 11 API structure reception part 12 API structure comparison part 121 API tree creation part 122 Mapping part 123 Conversion table creation part 16 Common API information holding part 17 Dictionary data holding part 18 External information acquisition part 2 API conversion apparatus 21 API input unit 22 API processing unit 221 API conversion table 222 API conversion unit 223 API mashup unit 23 API output unit 3 Network operator 31 New system 32 Existing system 33 Orchestrator 4 Service provider 41 System 5 API aggregation

Claims (8)

第1のAPIと第2のAPIとの差分を吸収するAPI変換テーブルを生成するAPI変換テーブル生成装置であって、
前記第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,第2のAPIのリソースモデルのツリー構造を作成するAPIツリー作成部を更に備える、
ことを特徴とする請求項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
前記マッピング部は、前記第1のAPIのデータが前記第2のAPIの複数のデータにマッピングされたならば、各データを含むグループを上位ノードに順次拡大して前記第1のAPIと前記第2のAPIとの間でグループ同士を比較し、類似度が高いグループを一対一でマッピングさせる、
ことを特徴とする請求項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と前記第2のAPIとがグループ単位で一致したならば、当該グループ単位で括って前記API変換テーブルを作成する、
ことを特徴とする請求項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
第1のAPIと第2のAPIとの差分を吸収するAPI変換テーブルを生成するAPI変換テーブル生成装置が実行するAPI変換テーブル生成方法であって、
前記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.
JP2015163309A 2015-08-21 2015-08-21 API conversion table generation device Active JP6457903B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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