JP6169662B2 - API conversion adapter, API conversion system, and API conversion program - Google Patents
API conversion adapter, API conversion system, and API conversion program Download PDFInfo
- Publication number
- JP6169662B2 JP6169662B2 JP2015179287A JP2015179287A JP6169662B2 JP 6169662 B2 JP6169662 B2 JP 6169662B2 JP 2015179287 A JP2015179287 A JP 2015179287A JP 2015179287 A JP2015179287 A JP 2015179287A JP 6169662 B2 JP6169662 B2 JP 6169662B2
- Authority
- JP
- Japan
- Prior art keywords
- api
- existing system
- packet
- conversion adapter
- api conversion
- 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.)
- Active
Links
- 238000006243 chemical reaction Methods 0.000 title claims description 76
- 238000000605 extraction Methods 0.000 claims description 31
- 230000005540 biological transmission Effects 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 13
- 238000000034 method Methods 0.000 description 51
- 230000006870 function Effects 0.000 description 11
- 239000000284 extract Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 239000008186 active pharmaceutical agent Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Description
本発明は、既存システムをAPI化するためのAPI変換アダプタ、API変換システム、及びAPI変換プログラムに関する。 The present invention relates to an API conversion adapter, an API conversion system, and an API conversion program for converting an existing system into an API.
市場ではITサービスの開発・提供形態やデバイスが変化してきており、公開されたAPI(Application Programming Interface)を活用し、新たなサービスを短期に、より容易に開発する流れが確立しつつある。公開API数は近年大幅に増加し、特にWebアプリケーション設計様式であるREST(Representational State Transfer)に準拠した設計手法のAPIの増加が顕著である。 In the market, IT service development / provision forms and devices are changing, and a trend to easily develop new services in a short period of time by utilizing published API (Application Programming Interface) is being established. The number of public APIs has increased significantly in recent years, and in particular, the number of APIs for design methods compliant with REST (Representational State Transfer), which is a Web application design style, is remarkable.
RESTは、主にWeb上にサービスを構築するためのソフトウェア設計様式であり、昨今は複数のサービスを連携させるのに適した方式として知られている。具体的には、図16に示すように、アプリケーションAがリソース識別子(URI)とリクエスト種別(GET/POST/PUT/DELETE 等)を指定してHTTPでアクセスすると、アクセス先のアプリケーションBからXML形式やJSON形式で記述されたリソースデータが送られてくるようなシステム及び呼び出しインタフェースのことを指す。RESTは、SOAP等と比較して複雑な事前情報をかならずしも必要とせず、より簡易的に利用できることもあり、利用者が多いと推定される。 REST is a software design format for constructing services mainly on the Web, and is recently known as a method suitable for linking a plurality of services. Specifically, as shown in FIG. 16, when the application A designates a resource identifier (URI) and a request type (GET / POST / PUT / DELETE etc.) and accesses with HTTP, the application B, which is the access destination, is in XML format. It refers to a system and a call interface in which resource data described in the JSON format is sent. REST does not necessarily require complicated prior information as compared with SOAP or the like, and may be used more easily, and it is estimated that there are many users.
既存システムが具備する機能をREST API化するためには、既存システムで採用されている多様なプロトコルをREST準拠のHTTPに統一してAPIを整備する必要がある(図17参照)。従来はシステム毎に個別のプロトコル・データ変換処理プログラム等を作成する技術が必要となり、プログラム等の作成には多大なコストを要していた。 In order to convert the functions of the existing system into the REST API, it is necessary to unify various protocols adopted in the existing system into the REST-compliant HTTP and maintain the API (see FIG. 17). Conventionally, a technique for creating an individual protocol / data conversion processing program or the like for each system is required, and the creation of the program or the like requires a great deal of cost.
本発明は、上記課題を改善すべく、既存システムのREST API化手法として、各種プロトコルに汎用的に対応可能な変換処理技術の確立を目的とし、本技術を用いたAPI変換アダプタ、API変換システム、及びAPI変換プログラムの提供を目的とする。 In order to improve the above-described problems, the present invention aims to establish a conversion processing technique that can be used for various protocols in general as a REST API method for an existing system. An API conversion adapter and an API conversion system using this technique are provided. And an API conversion program.
上記目的を達成するため、第1の態様に係る発明は、既存システムをAPI化するためのAPI変換アダプタであって、前記既存システムとアプリケーションとの間で採用されているプロトコルによらず実際に送受信された一連のパケット群であるパケット送受信シーケンスを予め格納しているデータベースと、受信したパケット内のパラメータを抽出する抽出部と、前記データベースに格納されているパケット内のパラメータを前記抽出部により抽出されたパラメータに置換する置換部と、前記置換部により置換されたパケットを用いて前記既存システムとパケットの送受信を実施するクライアント部とを備え、前記APIゲートウェイとはRESTで要求受付及び応答返却を行い、前記既存システムとは既存のプロトコルで送受信を行うAPI変換アダプタであって、前記既存システムとのパケット送受信シーケンスを予め前記データベースに格納しておき、前記データベースに格納されたパケットに記述されているプロトコル情報を利用することにより、RESTからパケットレベルで表現される全てのプロトコルへの変換を行うことを要旨とする。 In order to achieve the above object, the invention according to the first aspect is an API conversion adapter for converting an existing system into an API, and is actually used regardless of the protocol adopted between the existing system and the application. A database that stores in advance a packet transmission / reception sequence that is a series of transmitted / received packets, an extraction unit that extracts a parameter in the received packet, and a parameter that is stored in the database by the extraction unit A replacement unit that replaces the extracted parameter; and a client unit that transmits and receives packets to and from the existing system using the packet replaced by the replacement unit. The API gateway receives a request and returns a response by REST. And send / receive to / from the existing system using the existing protocol A PI conversion adapter, in which a packet transmission / reception sequence with the existing system is stored in the database in advance, and protocol information described in a packet stored in the database is used, so that a packet level can be changed from REST to packet level. The gist is to convert all expressed protocols.
第2の態様に係る発明は、第1の態様に係る発明において、前記既存システムとAPIゲートウェイとの間に配備されることを要旨とする。 The gist of the invention according to the second aspect is that it is deployed between the existing system and the API gateway in the invention according to the first aspect.
第3の態様に係る発明は、既存システムをAPI化するためのAPI変換システムであって、前記既存システムと、前記既存システムを外部ネットワーク上のアプリケーション側から制御するためのAPIを提供するAPIゲートウェイと、第1又は第2の態様に係るAPI変換アダプタとを備えることを要旨とする。 An invention according to a third aspect is an API conversion system for converting an existing system into an API, the API gateway providing an API for controlling the existing system and the existing system from an application side on an external network And an API conversion adapter according to the first or second aspect.
第4の態様に係る発明は、API変換プログラムであって、第1又は第2の態様に係る各機能部としてコンピュータを機能させることを要旨とする。 The invention according to the fourth aspect is an API conversion program, and has a gist of causing a computer to function as each functional unit according to the first or second aspect.
本発明によれば、既存システムのREST API化手法として、各種プロトコルに汎用的に対応可能な変換処理技術が利用可能となり、本技術を用いたAPI変換アダプタ、API変換システム、及びAPI変換プログラムの提供が可能となる。 According to the present invention, as a REST API conversion method for an existing system, a conversion processing technology that can be used for various protocols can be used, and an API conversion adapter, an API conversion system, and an API conversion program using this technology can be used. Provision is possible.
以下、本発明の実施の形態について図面を参照して詳細に説明する。なお、以下の実施の形態は、この発明の技術的思想を具体化するためのAPI変換アダプタを例示するものであり、装置の構成やデータの構成等は以下の実施の形態に限定されるものではない。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The following embodiments exemplify API conversion adapters for embodying the technical idea of the present invention, and the configuration of the apparatus and the configuration of data are limited to the following embodiments. is not.
(API変換アダプタ機能)
図1は、本発明の実施の形態におけるAPI変換アダプタ機能を説明するための図である。本発明の実施の形態は、API化されていない既存システムを汎用的なRESTで活用するために、既存システムをREST API化するアーキテクチャに関する。
(API conversion adapter function)
FIG. 1 is a diagram for explaining an API conversion adapter function according to an embodiment of the present invention. The embodiment of the present invention relates to an architecture for converting an existing system into a REST API in order to utilize an existing system that has not been converted into an API in general-purpose REST.
図1に示すように、呼制御サーバ41、ガイダンスサーバ42、ガイダンス設定サーバ43、データベースサーバ全般44、システム全般45、メールサーバ46等の既存システムがある。呼制御サーバ41にはSIPが利用され、ガイダンスサーバ42にはFTPが利用され、ガイダンス設定サーバ43にはHTTPが利用され、データベースサーバ全般44にはJDBCが利用され、システム全般45にはSNMPが利用され、メールサーバ46にはSMTP,POPが利用される。
As shown in FIG. 1, there are existing systems such as a
そこで、本発明の実施の形態におけるAPI変換アダプタ機能は、各種プロトコルに応じた変換処理を実施し、既存システムを汎用的なREST API化する。これにより、API間で共通のアーキテクチャとし、汎用性を高める。また、API変換アダプタ内の手順を統一し、その手順でモジュール分割を行うことによって、可読性の向上、モジュールの再利用、品質の安定化を図る。 Therefore, the API conversion adapter function in the embodiment of the present invention performs conversion processing according to various protocols, and converts the existing system into a general-purpose REST API. As a result, a common architecture is provided between APIs, and versatility is enhanced. In addition, by unifying the procedures in the API conversion adapter and performing module division according to the procedures, the readability is improved, the modules are reused, and the quality is stabilized.
(既存システムをREST API化する方式の分類)
図2は、本発明の実施の形態において既存システム40をREST API化する3つの実現方式1〜3を示す図である。
(Classification of methods for converting existing systems into REST APIs)
FIG. 2 is a diagram showing three
実現方式1は、図2(a)に示すように、データベース等のミドルウェアが提供しているAPI化モジュール30a等を既存システム40に適用する方式である。言い換えると、既存ミドルウェアが提供しているAPIラッパモジュールの適用である。
As shown in FIG. 2A, the
実現方式1のメリットとしては、既存システム40を有効活用できる点、APIゲートウェイ20の製品(仕様)変更に影響しない点がある。一方、実現方式1のデメリットとしては、API化モジュール30aを提供しているミドルウェアが限定される点、既存システム40の改造が必要なためコストがかかる点がある。
The merit of the
実現方式2は、図2(b)に示すように、Linux(登録商標)等に付属するOSSミドルウェアとAPI化ソフトウェアの連携機能をAPI変換アダプタ30bとして開発する方式である。言い換えると、オープンソースソフトウェア(OSS)を活用したプログラム変換である。
As shown in FIG. 2B, the
実現方式2のメリットとしては、既存システム40の改造が不要である点、APIゲートウェイ20の製品(仕様)変更に影響しない点、OSS活用でコストを抑制できる点がある。一方、実現方式2のデメリットとしては、プロトコル別に対応する必要がある点がある。このデメリットは、後述する手法によって解消可能である。詳細については後述するが、パケットを利用することによって、パケットで表現されるプロトコルに対応できるようになっている。
Advantages of the
実現方式3は、図2(c)に示すように、APIゲートウェイ20に付属したIF変換シナリオを作成する方式(用意された部品を組合せる方式)である。言い換えると、市中APIゲートウェイ20のIF変換機能30cの活用である。
The
実現方式3のメリットとしては、既存システム40の改造が不要である点、APIゲートウェイ20に予め用意されたシナリオ生成用の部品を活用するため実装量が少ない点がある。一方、実現方式3のデメリットとしては、APIゲートウェイ20が製品変更になった場合に再度APIゲートウェイ20上で開発が必要となる点、対応できる非Webシステムが限定される点(APIゲートウェイ20製品依存である点)がある。
The merit of the
(各種プロトコルに汎用的に対応可能な変換処理技術の確立)
従来、API化されていない既存システム40については、図3(a)に示すように、既存システム40とアプリケーション10A間においてパケットの送受信を行っていた。それに対して、本発明の実施の形態におけるAPI変換アダプタ30は、図3(b)に示すように、既存システム40とアプリケーション10B間のパケット送受信シーケンスを予めデータベース(DB)に格納しておき、そのパケットを利用してパラメータ部分のみを抽出・置換する。このように、パケットを利用することによって、簡易的にAPI化を実装することが可能となる。
(Establishment of conversion processing technology that can support various protocols in general)
Conventionally, as for the existing
(API変換アダプタ)
図4は、本発明の実施の形態におけるAPI変換アダプタ30の一例を示す機能ブロック図である。ここでは、電話等のサービスを提供する通信事業者が管理する通信事業者ネットワークに既存システム40が接続されているものとする。APIゲートウェイ20は、既存システム40を外部ネットワーク上のアプリケーション10側から制御するためのAPI21を提供する装置である。API変換アダプタ30は、実現方式2におけるAPI変換アダプタ30bに相当する装置であり、APIゲートウェイ20と既存システム40との間(より具体的には、通信事業者ネットワークの手前側)に配備される。
(API conversion adapter)
FIG. 4 is a functional block diagram showing an example of the
API変換アダプタ30の作成にあたり、各種機能及び各種プロトコルに対応できるようにするために、(1)API間で共通の構造とすること、(2)APIの追加が容易であることを設計方針とする。DBとWADL(Web Application Description Language)を組合せることによって、汎用的なREST API化を実現することが可能である。
In creating the
図4に示すように、API変換アダプタ30は、抽出部31,34と、置換部32,35と、クライアント部33と、格納部36とを備える。格納部36は、各種のDBを予め格納している。抽出部31,34は、抽出ルールをDBから取得し、DBから取得した抽出ルールに基づいて、受信したパケット内のパラメータを抽出する。置換部32,35は、置換ルール、及び既存システム40もしくはアプリケーション10方向への送信パケットをDBから取得し、DBから取得した置換ルールに基づいて、DBから取得したパケット内のパラメータを抽出部31,34により抽出されたパラメータに置換する。図4において、上段の抽出部31及び置換部32は、右方向(アプリケーション10から既存システム40方向)に送信されるパケットを処理し、下段の抽出部34及び置換部35は、左方向(既存システム40からアプリケーション10方向)に送信されるパケットを処理するようになっている。クライアント部33は、置換部32により置換されたパケットを用いて既存システム40とパケットの送受信を実施する。
As shown in FIG. 4, the
図5は、本発明の実施の形態における格納部36が格納するDBの構成図である。この図に示すように、格納部36は、API_DB36Aと、Extract_Rules_DB36Bと、Replacement_Rules_DB36Cと、API_Flow_DB36Dとを格納している。
FIG. 5 is a configuration diagram of the DB stored in the
API_DB36Aは、APIの種類を格納しているDBである。例えば、API_DB36Aは、API_ID、API名、メソッド、パスを紐付けて格納している。API_IDは、API21の識別子である。API名は、API21の名称である。
The
Extract_Rules_DB36Bは、抽出するパラメータ部分について格納しているDBである。例えば、Extract_Rules_DB36Bは、API_ID、flow通番、extract通番、抽出ルールを紐付けて格納している。flow通番は、パケット毎に付与される通し番号である。extract通番は、抽出対象のパラメータ毎に付与される通し番号である。抽出ルールは、パケット内のパラメータを抽出する際のルールであり、正規表現又はパケットの位置で規定される。
Replacement_Rules_DB36Cは、受信したパケットに対して、パラメータの置き換え部分について格納しているDBである。例えば、Replacement_Rules_DB36Cは、API_ID、flow通番、replacement通番、置換ルールを紐付けて格納している。replacement通番は、置換対象のパラメータ毎に付与される通し番号である。置換ルールは、パケット内のパラメータを置換する際のルールであり、正規表現又はパケットの位置で規定される。
The
API_Flow_DB36Dは、APIに紐づいて行われるパケットの送受信シーケンスを格納しているDBである。例えば、API_Flow_DB36Dは、API_ID、flow通番、パケットを紐付けて格納している。パケットは、既存システム40とアプリケーション10間で送受信されたパケットである。
The
このようなAPI変換アダプタ30によれば、APIゲートウェイ20とはRESTで要求受付及び応答返却を行い、既存システム40とは既存のプロトコルで送受信を行うことができる。すなわち、APIゲートウェイ20側ではWADLを利用し、APIの定義を記述する。既存システム40側とのAPIはパケットレベルでのプロトコルシーケンスデータを記録・生成する方式であるため、特定のプロトコルには依存しない。
According to such an
ここでは、実現方式2を採用した場合を例示したが、その他の実現方式1,3を採用する場合も同様である。すなわち、実現方式1を採用する場合は、既存システム40内にAPI変換アダプタ30を備えればよいし、実現方式3を採用する場合は、APIゲートウェイ20内にAPI変換アダプタ30を備えればよい。本明細書でいう「アダプタ」の用語には、装置として実現される場合だけでなく、ソフトウェアとして実現される場合も含まれるものとする。
Here, the case where the
また、ここでは、通信事業者が管理する通信事業者ネットワークに既存システム40が接続されている場合を例示したが、これに限定されるものではない。例えば、アミューズメント事業者が管理するゲームプラットフォーム等にも本技術を適用可能である。
Moreover, although the case where the existing
また、ここでは、APIゲートウェイ20を備えた構成を例示したが、これに限定されるものではない。すなわち、APIゲートウェイ20がなく直接APIを公開する場合にも本技術を適用可能である。
In addition, here, the configuration including the
(1対多通信)
図6は、本発明の実施の形態におけるAPI変換アダプタ30を用いて複数のアプリケーション10A,10Bが既存システム40を利用する様子を示す図である。アプリケーション10Aは、API21Aを介して既存システム40を利用し、アプリケーション10Bは、API21Bを介して既存システム40を利用している。アプリケーション10A−既存システム40間の通信にはsession_id「1」が用いられ、アプリケーション10B−既存システム40間の通信にはsession_id「2」が用いられている。
(One-to-many communication)
FIG. 6 is a diagram showing a state in which a plurality of
(リクエスト、レスポンスの具体例)
図7は、本発明の実施の形態におけるAPI変換アダプタ30を用いてAPI変換を実施する場合のリクエスト、レスポンスの具体例を示す図である。ここでは、アプリケーション10から既存システム40の音声ファイル一覧取得APIを使用した場合を例示している。
(Specific examples of requests and responses)
FIG. 7 is a diagram illustrating a specific example of a request and a response when API conversion is performed using the
まず、APIゲートウェイ20からAPI変換アダプタ30に対してリクエスト(GET)61が送信される。このリクエスト(GET)61において太字で示される部分は、抽出部31により抽出されるパラメータ部分を示している。
First, a request (GET) 61 is transmitted from the
次いで、API変換アダプタ30から既存システム40に対してリクエスト(GET)62が送信される。このリクエスト(GET)62において太字で示される部分は、置換部32により置換されたパラメータ部分を示している。
Next, a request (GET) 62 is transmitted from the
次いで、既存システム40からAPI変換アダプタ30に対してレスポンス(HTML)63が送信される。このレスポンス(HTML)63において太字で示される部分は、抽出部34により抽出されるパラメータ部分を示している。
Next, a response (HTML) 63 is transmitted from the existing
最後に、API変換アダプタ30からAPIゲートウェイ20に対してレスポンス(JSON)64が送信される。このレスポンス(JSON)64において太字で示される部分は、置換部35により置換されたパラメータ部分を示している。
Finally, a response (JSON) 64 is transmitted from the
(API変換の動作例)
図8は、本発明の実施の形態におけるAPI変換アダプタ30を用いてAPI変換を実施する場合の動作例を示すフローチャートである。図8において、左側に描かれたステップS3A,S4Aはリクエストフロー特有のステップであり、右側に描かれたステップS4Bはレスポンスフロー特有のステップであり、中央に描かれたステップS1,S2,S5〜S10はリクエストフロー及びレスポンスフローに共通のステップである。
(Operation example of API conversion)
FIG. 8 is a flowchart showing an operation example when the API conversion is performed using the
まず、抽出部31は、パケットを受信すると、そのパケットにメソッドがあるかどうかを判定する(S1→S2)。メソッドとは、HTTPで用いられるGET,POST,PUT,DELETEである。 First, when the extraction unit 31 receives a packet, the extraction unit 31 determines whether the packet has a method (S1 → S2). The methods are GET, POST, PUT, and DELETE used in HTTP.
次いで、抽出部31は、メソッドがあった場合(S2:YES)、正規表現を利用し、パス及びメソッドを抽出する(S3A)。具体的には、「/(GET|POST|PUT|DELETE)¥s[a−zA−Z0−9¥/¥.¥−¥?]+¥s/」のような正規表現を利用することによって、図9に太字で示すように、パケットからパス及びメソッド「GET /nexttelapi/v1.0/ms/1/voices」を抽出する。 Next, when there is a method (S2: YES), the extraction unit 31 extracts a path and a method using a regular expression (S3A). Specifically, by using a regular expression such as “/(GET|POST|PUT|DELETE)¥s[a−zA−Z0−9¥/¥.¥−¥?]+¥s/”. 9, the path and the method “GET / nexttelapi / v1.0 / ms / 1 / voices” are extracted from the packet.
次いで、抽出部31は、API_DB36Aに問合せ、APIを特定する(S4A)。具体的には、図10の符号E1に示すように、ステップS3Aにおいて抽出したパス及びメソッド「GET /nexttelapi/v1.0/ms/1/voices」を利用してAPI_DB36Aにアクセスし、そのパス及びメソッドに紐付けて格納されているAPI_ID「1」を特定する。
Next, the extraction unit 31 queries the
一方、抽出部31は、メソッドがなかった場合(S2:NO)、session_idを利用し、APIを特定する(S4B)。具体的には、session_idを確認し、そのsession_idと対応付けてシステム内部で保持しているAPI_IDを特定する。 On the other hand, if there is no method (S2: NO), the extraction unit 31 uses the session_id to identify the API (S4B). Specifically, the session_id is confirmed, and the API_ID held in the system is specified in association with the session_id.
次いで、抽出部31は、Extract_Rules_DB36Bに問合せ、抽出ルールを取得する(S5)。具体的には、図11の符号E2に示すように、ステップS4A又はS4Bにおいて特定したAPI_ID、システム内部で保持しているflow通番、及びextract通番を利用することによって、Extract_Rules_DB36Bから抽出ルール「1〜6byte」を取得する。
Next, the extraction unit 31 inquires
次いで、抽出部31は、ステップS5において取得した抽出ルールから、パケット内のパラメータを取得する(S6)。具体的には、図12に太字で示すように、ヘッダ部分である1〜6byte目の宛先MACアドレス「00 50 56 aa 13 39」を抽出する。
Next, the extraction unit 31 acquires a parameter in the packet from the extraction rule acquired in step S5 (S6). More specifically, as shown in bold in FIG. 12, the 1st to 6th byte destination MAC address “00 50 56
次いで、置換部32は、API_Flow_DB36Dからパケットを取得する(S7)。具体的には、図13の符号E3に示すように、ステップS4A又はS4Bにおいて特定したAPI_ID、及びシステム内部で保持しているflow通番を利用することによって、API_Flow_DB36Dからパケット「30 a4 23 80 …」を取得する。
Next, the
次いで、置換部32は、Replacement_Rules_DB36Cから置換ルールを取得する(S8)。具体的には、図14の符号E4に示すように、ステップS4A又はS4Bにおいて特定したAPI_ID、システム内部で保持しているflow通番、及びreplacement通番を利用することによって、Replacement_Rules_DB36Cから置換ルール「7〜12byte」を取得する。
Next, the
次いで、置換部32は、ステップS7において取得したパケットに対して、ステップS8において取得した置換ルールを適用し、ステップS6において取得したパラメータに置換する(S9)。具体的には、図15に太字で示すように、パケット「30 a4 23 80 …」のヘッダ部分である7〜12byte目の「23 54 13 a9 21 12」を「00 50 56 aa 13 39」に置換する。
Next, the
最後に、クライアント部33は、置換部32により置換されたパケットを既存システム40に送信する(S10)。図15中の「06」はプロトコル情報を示し、「1f 90」は宛先ポート番号を示している。このようなパケットに記載されているプロトコル情報や宛先ポート番号を利用し、既存システム40とパケットの送受信を実施するようになっている。
Finally, the
以上のように、本発明の実施の形態におけるAPI変換アダプタ30は、既存システム40をAPI化するためのAPI変換アダプタであって、既存システム40とのパケット送受信シーケンスを予め格納しているデータベース(格納部36)と、受信したパケット内のパラメータを抽出する抽出部31と、データベースに格納されているパケット内のパラメータを抽出部31により抽出されたパラメータに置換する置換部32と、置換部32により置換されたパケットを用いて既存システム40とパケットの送受信を実施するクライアント部33とを備える。このように、パケットを利用することによって、既存システム40をREST API化する手法として各種プロトコルに汎用的に対応可能な変換処理技術を確立できる。
As described above, the
ここで、API変換アダプタ30は、既存システム40とAPIゲートウェイ20との間に配備されてもよい。このような実現方式は、上述した実現方式2に相当する。実現方式2のメリットとしては、既存システム40の改造が不要である点、APIゲートウェイ20の製品(仕様)変更に影響しない点、OSS活用でコストを抑制できる点がある。
Here, the
また、API変換アダプタ30は、APIゲートウェイ20とはRESTで要求受付及び応答返却を行い、既存システム40とは既存のプロトコルで送受信を行う。すなわち、既存システム40とのパケット送受信シーケンスを予めデータベースに格納しておき、そのパケットに記述されているプロトコル情報を利用するため、特定のプロトコルに限定せずに通信が可能である。言い換えると、REST APIから、パケットレベルで表現可能な全てのプロトコルへの変換が可能である。
Further, the
また、本発明の実施の形態におけるAPI変換システムは、既存システム40をAPI化するためのAPI変換システムであって、既存システム40と、既存システム40を外部ネットワーク上のアプリケーション10側から制御するためのAPI21を提供するAPIゲートウェイ20と、上述したいずれかのAPI変換アダプタ30とを備える。このように、パケットを利用することによって、既存システム40をより簡易的にAPI化することができる。また、主なパケットの送受信がAPI変換アダプタ30−既存システム40間となり、通信量を削減することができるという効果もある。
The API conversion system according to the embodiment of the present invention is an API conversion system for converting the existing
なお、本発明は、このようなAPI変換アダプタ30として実現することができるだけでなく、API変換アダプタ30が備える特徴的な各機能部としてコンピュータを機能させるAPI変換プログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのはいうまでもない。
Note that the present invention can be realized not only as such an
10…アプリケーション
20…APIゲートウェイ
21…API
30…API変換アダプタ
31,34…抽出部
32,35…置換部
33…クライアント部
36…格納部
36A…API_DB
36B…Extract_Rules_DB
36C…Replacement_Rules_DB
36D…API_Flow_DB
40…既存システム
10 ...
30 ...
36B ... Extract_Rules_DB
36C ... Replacement_Rules_DB
36D ... API_Flow_DB
40 ... Existing system
Claims (4)
前記既存システムとアプリケーションとの間で採用されているプロトコルによらず実際に送受信された一連のパケット群であるパケット送受信シーケンスを予め格納しているデータベースと、
受信したパケット内のパラメータを抽出する抽出部と、
前記データベースに格納されているパケット内のパラメータを前記抽出部により抽出されたパラメータに置換する置換部と、
前記置換部により置換されたパケットを用いて前記既存システムとパケットの送受信を実施するクライアント部と
を備え、
前記APIゲートウェイとはRESTで要求受付及び応答返却を行い、前記既存システムとは既存のプロトコルで送受信を行うAPI変換アダプタであって、
前記既存システムとのパケット送受信シーケンスを予め前記データベースに格納しておき、前記データベースに格納されたパケットに記述されているプロトコル情報を利用することにより、RESTからパケットレベルで表現される全てのプロトコルへの変換を行うことを特徴とするAPI変換アダプタ。 An API conversion adapter for converting an existing system into an API,
A database that stores in advance a packet transmission / reception sequence that is a series of packets actually transmitted / received regardless of the protocol adopted between the existing system and the application ;
An extractor for extracting parameters in the received packet;
A replacement unit that replaces the parameter in the packet stored in the database with the parameter extracted by the extraction unit;
A client unit that performs packet transmission / reception with the existing system using the packet replaced by the replacement unit;
The API gateway is an API conversion adapter that accepts a request and returns a response with REST, and transmits and receives with an existing protocol with the existing system,
By storing the packet transmission / reception sequence with the existing system in the database in advance and using the protocol information described in the packet stored in the database, all protocols expressed from the REST to the packet level can be obtained. API conversion adapter characterized by performing the conversion.
前記既存システムと、
前記既存システムを外部ネットワーク上のアプリケーション側から制御するためのAPIを提供するAPIゲートウェイと、
請求項1又は2に記載のAPI変換アダプタと
を備えることを特徴とするAPI変換システム。 An API conversion system for converting an existing system into an API,
The existing system;
An API gateway that provides an API for controlling the existing system from an application side on an external network;
An API conversion system comprising: the API conversion adapter according to claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015179287A JP6169662B2 (en) | 2015-09-11 | 2015-09-11 | API conversion adapter, API conversion system, and API conversion program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015179287A JP6169662B2 (en) | 2015-09-11 | 2015-09-11 | API conversion adapter, API conversion system, and API conversion program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017054411A JP2017054411A (en) | 2017-03-16 |
JP6169662B2 true JP6169662B2 (en) | 2017-07-26 |
Family
ID=58316869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015179287A Active JP6169662B2 (en) | 2015-09-11 | 2015-09-11 | API conversion adapter, API conversion system, and API conversion program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6169662B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213519A (en) * | 2018-09-14 | 2019-01-15 | 北京数聚鑫云信息技术有限公司 | A kind of isomery API adaptation processing method and system |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6536557B2 (en) | 2016-12-26 | 2019-07-03 | トヨタ自動車株式会社 | Driving support device |
JP6795531B2 (en) * | 2018-02-20 | 2020-12-02 | 日本電信電話株式会社 | API adapter, API adapter creation method, and program |
JP6993577B2 (en) * | 2018-03-16 | 2022-01-13 | 富士通株式会社 | Interface conversion program, interface conversion method and information processing equipment |
JP7003867B2 (en) * | 2018-08-02 | 2022-01-21 | 日本電信電話株式会社 | API adapter creation device, API adapter creation method and API adapter creation program |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2350758A (en) * | 1999-06-04 | 2000-12-06 | Ibm | Message broker providing a publish/subscribe sevice and method of processing messages in a publish/subscribe environment |
JP2008293152A (en) * | 2007-05-23 | 2008-12-04 | Hitachi Ltd | Method and apparatus for coordinating web system |
JP2010009520A (en) * | 2008-06-30 | 2010-01-14 | Canon Inc | Flow processor and message conversion method |
JP5393558B2 (en) * | 2010-03-29 | 2014-01-22 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus |
-
2015
- 2015-09-11 JP JP2015179287A patent/JP6169662B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213519A (en) * | 2018-09-14 | 2019-01-15 | 北京数聚鑫云信息技术有限公司 | A kind of isomery API adaptation processing method and system |
CN109213519B (en) * | 2018-09-14 | 2020-01-03 | 北京数聚鑫云信息技术有限公司 | Heterogeneous API adaptation processing method and system |
Also Published As
Publication number | Publication date |
---|---|
JP2017054411A (en) | 2017-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6169662B2 (en) | API conversion adapter, API conversion system, and API conversion program | |
EP3399715B1 (en) | Protocol conversion method, platform, and protocol conversion gateway | |
CN107018147B (en) | Internet of things communication method and system and gateway module | |
CN111566997B (en) | Network slice use | |
WO2019062836A1 (en) | Network slice management method, and device for same | |
US12047446B2 (en) | External injection of cloud based network functions into network services | |
EP3077907B1 (en) | Management of network entity selection | |
CN106210049B (en) | Cluster communication method and system based on message queue | |
CN110474794B (en) | Information conversion method and system of SDN framework | |
US20160285820A1 (en) | Method for processing address resolution protocol message, switch, and controller | |
CN105684382A (en) | Packet control method, switch and controller | |
CN108769017B (en) | Data communication method and device | |
CN106487538B (en) | Service acceleration method, strategy control platform and system | |
CN102752217A (en) | Network acceleration system and network acceleration method | |
EP3965382A1 (en) | Method and device for implementing service function processing | |
US20200228478A1 (en) | Electronic message control | |
US20200226326A1 (en) | Electronic message translation management | |
US20230300106A1 (en) | Data processing method, network element device and readable storage medium | |
EP3226518A1 (en) | Content delivery across heterogeneous networks | |
CN106911769B (en) | Cloud platform routing data processing method and physical server of cloud platform | |
US20160373842A1 (en) | Data processing method and apparatus | |
CN110545230A (en) | method and device for forwarding VXLAN message | |
CN106713162B (en) | Method and device for counting BGP community attributes or expanding community attribute flow values | |
US11245567B2 (en) | Electronic message adaptation | |
WO2020233400A1 (en) | Communication method, communication system, cloud node and readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170321 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170530 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20170607 |
|
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: 20170627 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170628 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6169662 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |