[go: up one dir, main page]

JP2020009073A - 変換装置および変換プログラム - Google Patents

変換装置および変換プログラム Download PDF

Info

Publication number
JP2020009073A
JP2020009073A JP2018128557A JP2018128557A JP2020009073A JP 2020009073 A JP2020009073 A JP 2020009073A JP 2018128557 A JP2018128557 A JP 2018128557A JP 2018128557 A JP2018128557 A JP 2018128557A JP 2020009073 A JP2020009073 A JP 2020009073A
Authority
JP
Japan
Prior art keywords
api
data
application
platform
name
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018128557A
Other languages
English (en)
Inventor
田村 孝之
Takayuki Tamura
孝之 田村
良太 塚本
Ryota Tsukamoto
良太 塚本
優 小杉
Masaru Kosugi
優 小杉
健悟 笠
Kengo Ryu
健悟 笠
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2018128557A priority Critical patent/JP2020009073A/ja
Publication of JP2020009073A publication Critical patent/JP2020009073A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】アプリケーション側がプラットフォーム側のAPIの更新に効率的かつ確実に対応できるようにする。【解決手段】変換装置10において、API管理部22は、各アプリケーション側API41についてデータ項目の名前および識別子を示すアプリケーション側スキーマ32を、各プラットフォーム側API51についてデータ項目の名前および識別子を示すプラットフォーム側スキーマ33と照合して、各アプリケーション側API41のデータ項目の名前と、対応するプラットフォーム側API51のデータ項目の名前との紐付けを定義するAPI変換定義34を生成する。API変換部21は、API変換定義34に従って、各アプリケーション側API41と、対応するプラットフォーム側API51との間のデータ変換を行う。【選択図】図1

Description

本発明は、変換装置および変換プログラムに関するものである。
特許文献1には、共通APIと独自APIとの間で、類似度が高いデータまたはグループを1対1でマッピングさせ、そのマッピングに基づいて、API変換テーブルを作成する技術が記載されている。「API」は、Application Programming Interfaceの略語である。
特開2017−041158号公報
機器の状態の見える化または遠隔からの制御を行うために、クラウド上のプラットフォームに様々な機器が接続され、そのプラットフォーム上に様々なアプリケーションが構築されているとする。また、プラットフォーム側では、アプリケーション側に対して機器の制御またはデータ参照用の汎用的なAPIを提供しており、アプリケーション側では、そのAPIから本質的に必要な部分を選択し、必要に応じてデータ名称の読み替えまたはデータ構造の変換を設計しているとする。このような場合、プラットフォーム側のAPIのライフサイクルはプラットフォーム依存であり、アプリケーション側のAPIのライフサイクルとは関係なく変更またはバージョンアップが発生する。その結果、アプリケーション側のAPIのデータ名称およびデータ構造とプラットフォーム側のAPIのデータ名称およびデータ構造との間に違いが生じることになる。この違いへ対応するため、また、プラットフォーム側のAPIのライフサイクルに対応するため、アプリケーション側では、違いを吸収する変換ロジックを開発し、プラットフォーム側のAPIが更新される度に、変換ロジックを改変する対応方法をとることが考えられる。しかし、この対応方法では、アプリケーションごとに変換ロジックを開発することになり、プラットフォーム側のAPIの更新時の開発コストも大きくなるため、変換ロジックの開発効率化が課題になる。
特許文献1に記載の技術では、共通APIと独自APIとの間で、類似度が高いデータまたはグループを1対1でマッピングさせているため、類似度の計算精度によっては両API間の違いを正しく吸収することができない。
そこで、上記課題に対し、機器データの単純さに着目する。一般的に機器データは構造が単純であり、データ名称の変換またはデータ構造の変換は設定レベルに落とすことが可能である。そのため、設定レベルで上記変換ロジックと同等の仕組みを実現できれば開発が効率化できると考えられる。
本発明は、アプリケーション側がプラットフォーム側のAPIの更新に効率的かつ確実に対応できるようにすることを目的とする。
本発明の一態様に係る変換装置は、
サービスを利用するためのアプリケーションプログラミングインタフェースであるアプリケーション側APIで扱われるデータに含まれるデータ項目の名前および識別子を示すアプリケーション側スキーマを、前記サービスを提供するためのアプリケーションプログラミングインタフェースであるプラットフォーム側APIで扱われるデータに含まれるデータ項目の名前および識別子を示すプラットフォーム側スキーマと照合して、前記アプリケーション側スキーマに示されているデータ項目の名前と、前記プラットフォーム側スキーマに示されている、対応するデータ項目の名前との紐付けを定義するAPI変換定義を生成するAPI管理部と、
前記API管理部により生成されたAPI変換定義に従って、前記アプリケーション側APIで扱われるデータに含まれるデータ項目の名前と、前記プラットフォーム側APIで扱われるデータに含まれるデータ項目の名前との間の変換を行うAPI変換部と
を備える。
本発明では、アプリケーション側とプラットフォーム側とでデータ項目の識別子を共通化することにより、設定レベルで前述した変換ロジックと同等の仕組みを実現できる。そのため、本発明によれば、アプリケーション側がプラットフォーム側のAPIの更新に効率的かつ確実に対応できるようになる。
実施の形態1に係る変換装置の構成を示すブロック図。 実施の形態1に係るデータ項目一覧の例を示す表。 実施の形態1に係るアプリケーション側スキーマの例を示す図。 実施の形態1に係るアプリケーション側スキーマの例を示す図。 実施の形態1に係るプラットフォーム側スキーマの例を示す図。 実施の形態1に係るプラットフォーム側スキーマの例を示す図。 実施の形態1に係るAPI変換定義の例を示す図。 実施の形態1に係るAPI変換定義の例を示す図。 実施の形態1に係る有効条件の例を示す表。 実施の形態1に係る変換装置の動作を示すフローチャート。 実施の形態2に係る変換装置の構成を示すブロック図。 実施の形態2に係る変換装置の動作を示すフローチャート。 実施の形態2に係る変換装置の動作を示すフローチャート。
以下、本発明の実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。なお、本発明は、以下に説明する実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。例えば、以下に説明する実施の形態のうち、2つ以上の実施の形態が組み合わせられて実施されても構わない。あるいは、以下に説明する実施の形態のうち、1つの実施の形態または2つ以上の実施の形態の組み合わせが部分的に実施されても構わない。
実施の形態1.
本実施の形態について、図1から図10を用いて説明する。
***構成の説明***
図1を参照して、本実施の形態に係る変換装置10の構成を説明する。
変換装置10は、複数のアプリケーション40とプラットフォーム50との間に設置される。変換装置10は、アプリケーション側API41とプラットフォーム側API51との間のデータ名称およびデータ構造の変換を行うコンピュータである。なお、変換の対象となるアプリケーション側API41は、本実施の形態では2つ以上あるが、1つ以上あればよい。変換対象となるプラットフォーム側API51は、本実施の形態では2つ以上あるが、1つ以上あればよい。
それぞれのアプリケーション40は、図示していない機器からのデータ収集と機器の制御との少なくともいずれかのサービスを利用するプログラムである。それぞれのアプリケーション側API41は、1つ以上のアプリケーション40の開発に用いられる。すなわち、それぞれのアプリケーション側API41は、上記サービスを利用するためのアプリケーションプログラミングインタフェースである。
プラットフォーム50は、上記サービスを提供するプログラムまたはそのプログラムが動作するシステムである。それぞれのプラットフォーム側API51は、プラットフォーム50の開発に用いられる。すなわち、それぞれのプラットフォーム側API51は、上記サービスを提供するためのアプリケーションプログラミングインタフェースである。
機器は、インターネット等のネットワークを介してプラットフォーム50と接続される。本実施の形態では、家電、スマートメータおよびゲートウェイ装置といった各種機器によってフィールド環境が構築され、複数のアプリケーション40およびプラットフォーム50によってクラウド環境が構築される。
なお、変換装置10は、プラットフォーム50に統合されてもよい。
変換装置10は、プロセッサ11を備えるとともに、メモリ12および通信デバイス13といった他のハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
変換装置10は、機能要素として、API変換部21と、API管理部22とを備える。API変換部21は、データ変換機能23、データ名称変換機能24およびデータ構造変換機能25等の機能を持つ。API管理部22は、変換定義生成機能26、データ項目管理機能27および公開API削除機能28等の機能を持つ。API変換部21およびAPI管理部22の機能は、ソフトウェアにより実現される。具体的には、API変換部21およびAPI管理部22の機能は、変換プログラムにより実現される。変換プログラムは、API変換部21およびAPI管理部22により行われる処理をそれぞれAPI変換処理およびAPI管理処理としてコンピュータに実行させるプログラムである。変換プログラムは、コンピュータ読取可能な媒体に記録されて提供されてもよいし、記録媒体に格納されて提供されてもよいし、プログラムプロダクトとして提供されてもよい。
プロセッサ11は、変換プログラムを実行する装置である。プロセッサ11は、例えば、CPUである。「CPU」は、Central Processing Unitの略語である。
メモリ12は、変換プログラムをあらかじめまたは一時的に記憶する装置である。メモリ12は、例えば、RAM、フラッシュメモリまたはこれらの組み合わせである。「RAM」は、Random Access Memoryの略語である。
通信デバイス13は、変換プログラムに入力されるデータを受信するレシーバ14と、変換プログラムから出力されるデータを送信するトランスミッタ15とを備える。通信デバイス13は、例えば、通信チップまたはNICである。「NIC」は、Network Interface Cardの略語である。
変換プログラムは、メモリ12からプロセッサ11に読み込まれ、プロセッサ11によって実行される。メモリ12には、変換プログラムだけでなく、OSも記憶されている。「OS」は、Operating Systemの略語である。プロセッサ11は、OSを実行しながら、変換プログラムを実行する。なお、変換プログラムの一部または全部がOSに組み込まれていてもよい。
変換プログラムおよびOSは、補助記憶装置に記憶されていてもよい。補助記憶装置は、例えば、HDD、フラッシュメモリまたはこれらの組み合わせである。「HDD」は、Hard Disk Driveの略語である。変換プログラムおよびOSは、補助記憶装置に記憶されている場合、メモリ12にロードされ、プロセッサ11によって実行される。
変換装置10は、プロセッサ11を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、変換プログラムの実行を分担する。それぞれのプロセッサは、例えば、CPUである。
変換プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ12、補助記憶装置、または、プロセッサ11内のレジスタまたはキャッシュメモリに記憶される。
変換装置10は、1台のコンピュータで構成されていてもよいし、複数台のコンピュータで構成されていてもよい。変換装置10が複数台のコンピュータで構成されている場合は、API変換部21およびAPI管理部22の機能が、各コンピュータに分散されて実現されてもよい。
本実施の形態では、データ項目一覧31、アプリケーション側スキーマ32、プラットフォーム側スキーマ33、API変換定義34および有効条件35がメモリ12に記憶される。
データ項目一覧31の例を図2に示す。データ項目一覧31は、複数のアプリケーション側API41と複数のプラットフォーム側API51との間で共通する、データ項目ごとの識別子、型および種別を示すデータである。
アプリケーション側スキーマ32の例を図3および図4に示す。アプリケーション側スキーマ32は、各アプリケーション側API41で扱われるデータに含まれるデータ項目の名前および識別子を示す情報である。具体的には、アプリケーション側スキーマ32は、各アプリケーション側API41のエンドポイント、リクエストレスポンスで扱われるデータに含まれるデータ項目の名前および識別子を示す情報である。「エンドポイント」はアプリケーション側API41の所在を示す識別名であり、APIの公開方法により、関数名、URI等がある。「URI」は、Uniform Resource Identifierの略語である。本実施の形態では、アプリケーション側スキーマ32は、各アプリケーション側API41で扱われるデータに含まれるデータ項目の型をさらに示す情報である。また、アプリケーション側スキーマ32は、各アプリケーション側API41で扱われるデータの構造をさらに示す情報である。
プラットフォーム側スキーマ33の例を図5および図6に示す。プラットフォーム側スキーマ33は、各プラットフォーム側API51で扱われるデータに含まれるデータ項目の名前および識別子を示す情報である。具体的には、プラットフォーム側スキーマ33は、各プラットフォーム側API51のエンドポイント、リクエストレスポンスで扱われるデータに含まれるデータ項目の名前および識別子を示す情報である。本実施の形態では、プラットフォーム側スキーマ33は、各プラットフォーム側API51で扱われるデータに含まれるデータ項目の型をさらに示す情報である。また、プラットフォーム側スキーマ33は、各プラットフォーム側API51で扱われるデータの構造をさらに示す情報である。
API変換定義34の例を図7および図8に示す。API変換定義34は、各アプリケーション側API41についてアプリケーション側スキーマ32に示されているデータ項目の名前と、対応するプラットフォーム側API51についてプラットフォーム側スキーマ33に示されている、対応するデータ項目の名前との紐付けを定義する情報である。この紐付けは、後述するように、アプリケーション側スキーマ32に示されている識別子と、プラットフォーム側スキーマ33に示されている識別子とを突き合わせた結果に応じて行われる。本実施の形態では、API変換定義34は、各アプリケーション側API41についてアプリケーション側スキーマ32に示されているデータの構造と、対応するプラットフォーム側API51についてプラットフォーム側スキーマ33に示されているデータの構造との少なくともいずれか一方から他方への変換のしかたをさらに定義する情報である。
有効条件35の例を図9に示す。有効条件35は、公開されているアプリケーション側API41を削除するための条件を定義するデータである。
***動作の説明***
図10を参照して、本実施の形態に係る変換装置10の動作を説明する。変換装置10の動作は、本実施の形態に係る変換方法に相当する。
ステップS101において、API管理部22は、アプリケーション側スキーマ32をプラットフォーム側スキーマ33と照合してAPI変換定義34を生成する。
具体的には、API管理部22は、アプリケーション側API41ごとに、アプリケーション側スキーマ32に示されているデータ項目の識別子をキーとしてプラットフォーム側スキーマ33を検索することで、対応するプラットフォーム側API51を抽出する。そして、API管理部22は、アプリケーション側API41ごとに、アプリケーション側スキーマ32に示されているデータ項目の名前と、抽出したプラットフォーム側API51についてプラットフォーム側スキーマ33に示されている、対応するデータ項目の名前との紐付けを定義する情報をAPI変換定義34として生成する。
本実施の形態では、API管理部22は、アプリケーション側API41ごとに、対応するプラットフォーム側API51を抽出する際に、アプリケーション側スキーマ32に示されているデータ項目の識別子および型の組み合わせをキーとしてプラットフォーム側スキーマ33を検索する。
本実施の形態では、API管理部22は、アプリケーション側スキーマ32に2つ以上のデータ項目の識別子が示されているアプリケーション側API41については、プラットフォーム側スキーマ33に当該2つ以上のデータ項目の識別子と同じ識別子を含む複数のデータ項目の識別子が示されているプラットフォーム側API51を、対応するプラットフォーム側API51として抽出する。そして、API管理部22は、アプリケーション側スキーマ32に示されている2つ以上のデータ項目の名前と、抽出したプラットフォーム側API51についてプラットフォーム側スキーマ33に示されている同数のデータ項目の名前との紐付けを定義する情報をAPI変換定義34に含める。
なお、API管理部22は、アプリケーション側スキーマ32およびプラットフォーム側スキーマ33のほかに、ロール定義および有効期限といった他の情報も利用して、API変換定義34を生成してもよい。
ステップS102において、API管理部22は、各アプリケーション側API41を公開する。これにより、任意のアプリケーション側API41を用いたアプリケーション40の開発または改修が可能となる。
公開されたアプリケーション側API41を用いて開発または改修されたアプリケーション40が実行されると、ステップS103の処理が行われる。
ステップS103において、API変換部21は、API管理部22により生成されたAPI変換定義34に従って、各アプリケーション側API41で扱われるデータに含まれるデータ項目の名前と、対応するプラットフォーム側API51で扱われるデータに含まれるデータ項目の名前との間の変換を行う。
本実施の形態では、API変換部21は、API変換定義34に従って、各アプリケーション側API41で扱われるデータの構造と、対応するプラットフォーム側API51で扱われるデータの構造との間の変換をさらに行う。
このように、API変換定義34に従って、公開されたアプリケーション側API41への入力がプラットフォーム側API51への入力に変換される。出力の変換についても同様である。
図2から図8の例を用いて、変換装置10の動作の具体例を説明する。
ステップS101において、API管理部22は、アプリケーション側API41「app_a_api1」について、アプリケーション側スキーマ32から、リクエストデータの第1データ項目の識別子「device_name」および型「string」と、リクエストデータの第2データ項目の識別子「power_limit」および型「int」と、レスポンスデータのデータ項目の識別子「return_code」および型「int」とを取得する。API管理部22は、取得したリクエストデータの第1データ項目の識別子「device_name」および型「string」と、リクエストデータの第2データ項目の識別子「power_limit」および型「int」と、レスポンスデータのデータ項目の識別子「return_code」および型「int」とをキーとして、プラットフォーム側スキーマ33を検索する。プラットフォーム側API51「default_api1」について、プラットフォーム側スキーマ33に、リクエストデータの第1データ項目の識別子「device_name」および型「string」と、リクエストデータの第2データ項目の識別子「power_limit」および型「int」と、レスポンスデータの第1データ項目の識別子「return_code」および型「int」とが示されている。そのため、API管理部22は、アプリケーション側API41「app_a_api1」に対応するプラットフォーム側API51として、プラットフォーム側API51「default_api1」を抽出する。プラットフォーム側API51「default_api1」について、プラットフォーム側スキーマ33には、レスポンスデータの第2データ項目の識別子「return_message」および型「string」も示されているが、完全一致は要求されない。すなわち、前述したように、API管理部22は、アプリケーション側スキーマ32に2つ以上のデータ項目の識別子が示されているアプリケーション側API41については、プラットフォーム側スキーマ33に当該2つ以上のデータ項目の識別子と同じ識別子を含む複数のデータ項目の識別子が示されているプラットフォーム側API51を、対応するプラットフォーム側API51として抽出する。
API管理部22は、アプリケーション側API41「app_a_api1」について、アプリケーション側スキーマ32から、リクエストデータの第1データ項目の名前「param01」、リクエストデータの第2データ項目の名前「param02」およびレスポンスデータのデータ項目の名前「result」を取得する。API管理部22は、プラットフォーム側API51「default_api1」について、プラットフォーム側スキーマ33から、リクエストデータの第1データ項目の名前「property01」、リクエストデータの第2データ項目の名前「property02」およびレスポンスデータの第1データ項目の名前「result01」を取得する。また、API管理部22は、プラットフォーム側API51「default_api1」について、プラットフォーム側スキーマ33から、リクエストデータの構造として、第1データ項目および第2データ項目が1つのブロック「block01」に格納される構造を特定する。API管理部22は、プラットフォーム側API51「default_api1」について、プラットフォーム側スキーマ33から、レスポンスデータの構造として、第1データ項目が1つのブロック「block02」に格納される構造を特定する。そして、API管理部22は、アプリケーション側API41「app_a_api1」について、リクエストデータの第1データ項目の名前「param01」、リクエストデータの第2データ項目の名前「param02」およびレスポンスデータの第1データ項目の名前「result」と、プラットフォーム側API51「default_api1」のリクエストデータの第1データ項目の名前「property01」、リクエストデータの第2データ項目の名前「property02」およびレスポンスデータの第1データ項目の名前「result01」との紐付けを定義する情報をAPI変換定義34として生成する。この情報には、プラットフォーム側API51「default_api1」のリクエストデータの構造として、第1データ項目および第2データ項目が1つのブロック「block01」に格納される構造を定義する情報と、プラットフォーム側API51「default_api1」のレスポンスデータの構造として、データ項目が1つのブロック「block02」に格納される構造を定義する情報も含まれる。
識別子「device_name」および型「string」の組み合わせと、識別子「power_limit」および型「int」の組み合わせと、識別子「return_code」および型「int」の組み合わせは、いずれもデータ項目一覧31において定義されており、アプリケーション開発者およびプラットフォーム開発者の間で共有されている。アプリケーション側スキーマ32は、あらかじめアプリケーション開発者から提供される。プラットフォーム側スキーマ33は、あらかじめプラットフォーム開発者から提供される。
アプリケーション側API41「app_a_api1」以外のアプリケーション側API41についても、同様にAPI変換定義34に含まれる情報が生成される。
ステップS102において、API管理部22は、アプリケーション側API41「app_a_api1」を公開する。これにより、アプリケーション開発者がアプリケーション側API41「app_a_api1」を用いてアプリケーション40を開発または改修できるようになる。
アプリケーション側API41「app_a_api1」以外のアプリケーション側API41についても、同様に公開される。
公開されたアプリケーション側API41「app_a_api1」を用いて開発または改修されたアプリケーション40が実行され、アプリケーション側API41「app_a_api1」によって生成されたリクエストデータがアプリケーション40から送信されたとする。
ステップS103において、API変換部21は、API管理部22により生成されたAPI変換定義34に従って、アプリケーション40から送信されたリクエストデータの第1データ項目の名前「param01」および第2データ項目の名前「param02」を、それぞれプラットフォーム側API51「default_api1」のリクエストデータの第1データ項目の名前「property01」および第2データ項目の名前「property02」に変換する。その際、API変換部21は、プラットフォーム側API51「default_api1」のリクエストデータの構造に合わせて、第1データ項目および第2データ項目を1つのブロック「block01」に格納して、変換後のリクエストデータをプラットフォーム側API51「default_api1」に出力する。
このように、本実施の形態では、プラットフォーム50の開発者からプラットフォーム側スキーマ33とデータ項目一覧31とが提供される。プラットフォーム側スキーマ33には、APIの識別子、呼び出し方法の定義、リクエストおよびレスポンスのデータ構造およびデータ項目に期待されるデータ実体の割り当て「$property」が定義されている。図示した例は、REST APIの形式での定義となっているがデータベースの検索APIに対する定義でもよい。「REST」は、Representational State Transferの略語である。データ項目一覧31には、データ項目の識別子、型および種別が定義されている。データ項目の種別としては、例えば、データ実体「property」、補足データ「metadata」および操作に伴うデータ「controldata」がある。
アプリケーション40の開発者からはアプリケーション側スキーマ32が提供され、APIの公開が要求される。アプリケーション側スキーマ32では、プラットフォーム側スキーマ33と同様に、データ構造およびデータ項目が宣言されている。
API管理部22は、提供されたアプリケーション側スキーマ32からデータ項目に定義されているデータ実体の割り当てを参照し、プラットフォーム側スキーマ33のデータ項目を検索する。API管理部22は、リクエストおよびレスポンスで同様のデータ実体の割り当てを持つプラットフォーム側API51を検索し、最初に見つかったAPIをアプリケーション側API41から変換して利用するAPIとする。API管理部22は、発見したプラットフォーム側API51と対応するアプリケーション側API41とのマッピング定義であるAPI変換定義34を生成し、アプリケーション側API41を公開する。
API変換定義34は、公開されたアプリケーション側API41を通じてアプリケーション40から利用可能となる。なお、データ項目を別途管理する構成をとれば、API変換時にデータ形式に応じた値の変換等の拡張も可能である。
プラットフォーム側API51に変更があった場合について説明する。
プラットフォーム側スキーマ33の変更反映とともにAPI変換定義34の再生成を行うことで、アプリケーション40側の作業を必要とせずに対応できる。
プラットフォーム側API51にデータ項目の変更があった場合の動作について説明する。API変換定義34の更新の必要性で処置が変わる。
データ項目の追加があった場合、API変換定義34に更新の必要はないため、特に処置の必要はない。
データ項目の変更があった場合、アプリケーション側API41で使われているデータ項目の変更であれば、API変換定義34の再生成が必要である。アプリケーション側API41で使われていないデータ項目であれば、特に処置の必要はない。アプリケーション側API41で使われているかどうかの判断は、アプリケーション側スキーマ32を検索することで確認できる。
本実施の形態では、API管理部22は、複数のプラットフォーム側API51のいずれかで扱われるデータに含まれるデータ項目の名前が変更された場合、そのデータ項目の名前がAPI変換定義34で定義されている紐付けの対象となっていれば、そのデータ項目の名前の変更をAPI変換定義34に反映する。
データ項目の削除があった場合、アプリケーション側API41で使われているデータ項目の削除は、そもそもプラットフォーム50がアプリケーション40の要件を満たせなくなるため認められない。アプリケーション側API41で使われていないデータ項目の削除であれば、特に処置の必要はない。
プラットフォーム側API51にデータ構造の変更があった場合は、API変換定義34が更新される。
本実施の形態では、アプリケーション40側のライフサイクルに対する公開APIの処置が行われる。アプリケーション側API41はアプリケーション40側の要件に応じて動的に公開されるため、要件の変化によって利用されなくなった公開APIを削除する必要がある。そのため、API管理部22は、複数のアプリケーション側API41の利用状況を監視し、利用状況が基準を満たしていないアプリケーション側API41を、複数のアプリケーション側API41を公開しているサイトから削除する。
公開APIの削除は、API管理部22が有効条件35を参照して制御する。有効条件35としては、図9に示したような情報が管理されている。
具体的には、API管理部22は、メトリクス提供サービスにアクセスして公開APIの稼働状況を確認する。API管理部22は、取得したデータから削除判断項目の値を参照し、削除閾値と比較する。API管理部22は、削除閾値を超えた公開APIを削除する。
***実施の形態の効果の説明***
本実施の形態では、アプリケーション側とプラットフォーム側とでデータ項目の識別子を共通化することにより、設定レベルで前述した変換ロジックと同等の仕組みを実現できる。そのため、本実施の形態によれば、アプリケーション側がプラットフォーム側のAPIの更新に効率的かつ確実に対応できるようになる。
***他の構成***
本実施の形態では、API変換部21およびAPI管理部22の機能がソフトウェアにより実現されるが、変形例として、API変換部21およびAPI管理部22の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、API変換部21およびAPI管理部22の機能の一部が専用のハードウェアにより実現され、残りがソフトウェアにより実現されてもよい。
専用のハードウェアは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、FPGA、ASIC、または、これらのうちいくつか、もしくは、すべての組み合わせである。「IC」は、Integrated Circuitの略語である。「GA」は、Gate Arrayの略語である。「FPGA」は、Field−Programmable Gate Arrayの略語である。「ASIC」は、Application Specific Integrated Circuitの略語である。
プロセッサ11および専用のハードウェアは、いずれも処理回路である。すなわち、API変換部21およびAPI管理部22の機能がソフトウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、API変換部21およびAPI管理部22の動作は、処理回路により行われる。
実施の形態2.
本実施の形態について、主に実施の形態1との差異を、図11から図13を用いて説明する。
***構成の説明***
図11を参照して、本実施の形態に係る変換装置10の構成を説明する。
本実施の形態では、データ項目一覧31、プラットフォーム側スキーマ33、API変換定義34および有効条件35のほかに、公開APIアクセスログ36がメモリ12に記憶される。公開APIアクセスログ36は、メトリクス提供サービス用に外部に提供される。
本実施の形態では、アプリケーション40からアプリケーション側スキーマ32を含むAPI生成要求が入力される。
***動作の説明***
図12および図13を参照して、本実施の形態に係る変換装置10の動作を説明する。変換装置10の動作は、本実施の形態に係る変換方法に相当する。
図12は、変換装置10の、アプリケーション40がトリガとなってAPIを生成する部分のフローを示している。
ステップS201において、API管理部22は、アプリケーション40からアプリケーション側スキーマ32を含むAPI生成要求を受け付ける。API管理部22は、この要求に応じて、アプリケーション側スキーマ32に対応するアプリケーション側API41を生成する。その後、生成されたアプリケーション側API41について、ステップS202以降の処理が行われる。
ステップS202からステップS204の処理については、図10に示したステップS101からステップS103の処理と同じであるため、説明を省略する。
図13は、変換装置10の、有効条件35からAPIが削除される部分のフローを示している。
ステップS211において、API管理部22は、有効条件35を取得する。
ステップS212において、API管理部22は、メトリクス提供サービスにアクセスして公開APIの稼働状況を取得する。公開APIとは、ステップS203で公開されたアプリケーション側API41のことである。
ステップS213において、API管理部22は、削除対象のAPIがあるかどうかを判定する。削除対象のAPIとは、有効条件35に含まれる削除判断項目の値が削除閾値を超えた公開APIのことである。削除対象のAPIがあれば、ステップS214の処理が行われる。
ステップS214において、API管理部22は、削除対象のAPIの公開を停止する。
***実施の形態の効果の説明***
本実施の形態では、アプリケーション40がトリガとなってAPIを生成する部分と、有効条件35からAPIが削除される部分とが変換装置10に備えられることで、ライフサイクル管理が可能となる。
10 変換装置、11 プロセッサ、12 メモリ、13 通信デバイス、14 レシーバ、15 トランスミッタ、21 API変換部、22 API管理部、23 データ変換機能、24 データ名称変換機能、25 データ構造変換機能、26 変換定義生成機能、27 データ項目管理機能、28 公開API削除機能、31 データ項目一覧、32 アプリケーション側スキーマ、33 プラットフォーム側スキーマ、34 API変換定義、35 有効条件、36 公開APIアクセスログ、40 アプリケーション、41 アプリケーション側API、50 プラットフォーム、51 プラットフォーム側API。

Claims (9)

  1. サービスを利用するためのアプリケーションプログラミングインタフェースであるアプリケーション側APIで扱われるデータに含まれるデータ項目の名前および識別子を示すアプリケーション側スキーマを、前記サービスを提供するためのアプリケーションプログラミングインタフェースであるプラットフォーム側APIで扱われるデータに含まれるデータ項目の名前および識別子を示すプラットフォーム側スキーマと照合して、前記アプリケーション側スキーマに示されているデータ項目の名前と、前記プラットフォーム側スキーマに示されている、対応するデータ項目の名前との紐付けを定義するAPI変換定義を生成するAPI管理部と、
    前記API管理部により生成されたAPI変換定義に従って、前記アプリケーション側APIで扱われるデータに含まれるデータ項目の名前と、前記プラットフォーム側APIで扱われるデータに含まれるデータ項目の名前との間の変換を行うAPI変換部と
    を備える変換装置。
  2. 前記プラットフォーム側APIは、2つ以上あり、
    前記API管理部は、前記アプリケーション側スキーマに示されているデータ項目の識別子をキーとして前記プラットフォーム側スキーマを検索することで、対応するプラットフォーム側APIを抽出する請求項1に記載の変換装置。
  3. 前記アプリケーション側APIは、1つ以上あり、
    前記プラットフォーム側APIは、2つ以上あり、
    前記API管理部は、前記アプリケーション側スキーマに2つ以上のデータ項目の識別子が示されているアプリケーション側APIについては、前記プラットフォーム側スキーマに当該2つ以上のデータ項目の識別子と同じ識別子を含む複数のデータ項目の識別子が示されているプラットフォーム側APIを、対応するプラットフォーム側APIとして抽出し、前記アプリケーション側スキーマに示されている2つ以上のデータ項目の名前と、抽出したプラットフォーム側APIについて前記プラットフォーム側スキーマに示されている同数のデータ項目の名前との紐付けを定義する情報を前記API変換定義に含める請求項1または2に記載の変換装置。
  4. 前記API管理部は、前記プラットフォーム側APIで扱われるデータに含まれるデータ項目の名前が変更された場合、そのデータ項目の名前が前記API変換定義で定義されている紐付けの対象となっていれば、そのデータ項目の名前の変更を前記API変換定義に反映する請求項1から3のいずれか1項に記載の変換装置。
  5. 前記アプリケーション側スキーマは、前記アプリケーション側APIで扱われるデータの構造をさらに示す情報であり、
    前記プラットフォーム側スキーマは、前記プラットフォーム側APIで扱われるデータの構造をさらに示す情報であり、
    前記API変換部は、前記API変換定義に従って、前記アプリケーション側APIで扱われるデータの構造と、前記プラットフォーム側APIで扱われるデータの構造との間の変換をさらに行う請求項1から4のいずれか1項に記載の変換装置。
  6. サービスを利用するためのアプリケーションプログラミングインタフェースであるアプリケーション側APIで扱われるデータに含まれるデータ項目の名前と、前記サービスを提供するためのアプリケーションプログラミングインタフェースであるプラットフォーム側APIで扱われるデータに含まれる、対応するデータ項目の名前との紐付けを定義するAPI変換定義に従って、前記アプリケーション側APIで扱われるデータに含まれるデータ項目の名前と、前記プラットフォーム側APIで扱われるデータに含まれるデータ項目の名前との間の変換を行うAPI変換部と、
    前記プラットフォーム側APIで扱われるデータに含まれるデータ項目の名前が変更された場合、そのデータ項目の名前が前記API変換定義で定義されている紐付けの対象となっていれば、そのデータ項目の名前の変更を前記API変換定義に反映するAPI管理部と
    を備える変換装置。
  7. 前記API管理部は、前記アプリケーション側APIの利用状況を監視し、利用状況が基準を満たしていなければ、前記アプリケーション側APIを、前記アプリケーション側APIを公開しているサイトから削除する請求項1から6のいずれか1項に記載の変換装置。
  8. コンピュータに、
    サービスを利用するためのアプリケーションプログラミングインタフェースであるアプリケーション側APIで扱われるデータに含まれるデータ項目の名前および識別子を示すアプリケーション側スキーマを、前記サービスを提供するためのアプリケーションプログラミングインタフェースであるプラットフォーム側APIで扱われるデータに含まれるデータ項目の名前および識別子を示すプラットフォーム側スキーマと照合して、前記アプリケーション側スキーマに示されているデータ項目の名前と、前記プラットフォーム側スキーマに示されている、対応するデータ項目の名前との紐付けを定義するAPI変換定義を生成するAPI管理処理と、
    前記API管理処理により生成されたAPI変換定義に従って、前記アプリケーション側APIで扱われるデータに含まれるデータ項目の名前と、前記プラットフォーム側APIで扱われるデータに含まれるデータ項目の名前との間の変換を行うAPI変換処理と
    を実行させる変換プログラム。
  9. コンピュータに、
    サービスを利用するためのアプリケーションプログラミングインタフェースであるアプリケーション側APIで扱われるデータに含まれるデータ項目の名前と、前記サービスを提供するためのアプリケーションプログラミングインタフェースであるプラットフォーム側APIで扱われるデータに含まれる、対応するデータ項目の名前との紐付けを定義するAPI変換定義に従って、前記アプリケーション側APIで扱われるデータに含まれるデータ項目の名前と、前記プラットフォーム側APIで扱われるデータに含まれるデータ項目の名前との間の変換を行うAPI変換処理と、
    前記プラットフォーム側APIで扱われるデータに含まれるデータ項目の名前が変更された場合、そのデータ項目の名前が前記API変換定義で定義されている紐付けの対象となっていれば、そのデータ項目の名前の変更を前記API変換定義に反映するAPI管理処理と
    を実行させる変換プログラム。
JP2018128557A 2018-07-05 2018-07-05 変換装置および変換プログラム Pending JP2020009073A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018128557A JP2020009073A (ja) 2018-07-05 2018-07-05 変換装置および変換プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018128557A JP2020009073A (ja) 2018-07-05 2018-07-05 変換装置および変換プログラム

Publications (1)

Publication Number Publication Date
JP2020009073A true JP2020009073A (ja) 2020-01-16

Family

ID=69151660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018128557A Pending JP2020009073A (ja) 2018-07-05 2018-07-05 変換装置および変換プログラム

Country Status (1)

Country Link
JP (1) JP2020009073A (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09160847A (ja) * 1995-12-08 1997-06-20 Hitachi Ltd クライアント・サーバ型分散処理システム
JP2010219962A (ja) * 2009-03-17 2010-09-30 Ricoh Co Ltd 情報処理装置、情報処理方法およびプログラム
JP2011258101A (ja) * 2010-06-11 2011-12-22 Tetsuo Kamei 情報利用システム
JP2012519547A (ja) * 2009-03-04 2012-08-30 マシモ・コーポレイション 医療監視システム
JP2017041158A (ja) * 2015-08-21 2017-02-23 日本電信電話株式会社 Api変換テーブル生成装置、api変換テーブル生成方法、および、api変換テーブル生成プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09160847A (ja) * 1995-12-08 1997-06-20 Hitachi Ltd クライアント・サーバ型分散処理システム
JP2012519547A (ja) * 2009-03-04 2012-08-30 マシモ・コーポレイション 医療監視システム
JP2010219962A (ja) * 2009-03-17 2010-09-30 Ricoh Co Ltd 情報処理装置、情報処理方法およびプログラム
JP2011258101A (ja) * 2010-06-11 2011-12-22 Tetsuo Kamei 情報利用システム
JP2017041158A (ja) * 2015-08-21 2017-02-23 日本電信電話株式会社 Api変換テーブル生成装置、api変換テーブル生成方法、および、api変換テーブル生成プログラム

Similar Documents

Publication Publication Date Title
US8494996B2 (en) Creation and revision of network object graph topology for a network performance management system
US9817860B2 (en) Generation and application of correctness-enforced executable filters
CN111033468A (zh) 实施不同类型的区块链合约的系统和方法
CN103488674B (zh) 计算系统和计算系统的执行控制方法
WO2020093501A1 (zh) 文件存储方法、删除方法、服务器及存储介质
JP2017515183A (ja) データ型に関連するデータプロファイリング操作の管理
CN112596932A (zh) 服务注册及拦截方法、装置、电子设备及可读存储介质
JPWO2020152893A1 (ja) 改ざん検知性を有するデータ管理システム
CN111241803A (zh) 生成文本文件的方法、装置、计算机设备及可读存储介质
JP6418419B2 (ja) ハードディスクがアプリケーションコードを実行するための方法および装置
CN113010115B (zh) 区块链节点中的数据处理方法及相关设备
US8136087B2 (en) In-line processing of standardized text values
JP2017509997A (ja) ヘテロジニアスコンピューティング環境におけるデータタイプ変換をサポートするためのシステムおよび方法
US20210157802A1 (en) Consistent structured data hash value generation across formats and platforms
JP2020009073A (ja) 変換装置および変換プログラム
US11017032B1 (en) Document recovery utilizing serialized data
CN113220237B (zh) 一种分布式存储方法、装置、设备及存储介质
CN116578282A (zh) 代码生成方法、装置、电子设备及介质
US20150106363A1 (en) Computer system, data management method, and recording medium storing program
CN112862245B (zh) 数据交换方法、装置以及电子设备
US20180341475A1 (en) Just In Time Deployment with Package Managers
JP2014041501A (ja) バッチ処理対象データの高速読込み方法及びバッチ管理システム
JP2011186853A (ja) データ処理装置及びシステム及び方法及びプログラム
JP6746086B2 (ja) 端末装置、端末装置による動作情報の報告制御方法、及び、端末装置による動作情報の報告制御プログラム
JP6895149B1 (ja) データ管理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190409

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190524

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20191015