JP6795531B2 - Apiアダプタ、apiアダプタ作成方法、およびプログラム - Google Patents

Apiアダプタ、apiアダプタ作成方法、およびプログラム Download PDF

Info

Publication number
JP6795531B2
JP6795531B2 JP2018028324A JP2018028324A JP6795531B2 JP 6795531 B2 JP6795531 B2 JP 6795531B2 JP 2018028324 A JP2018028324 A JP 2018028324A JP 2018028324 A JP2018028324 A JP 2018028324A JP 6795531 B2 JP6795531 B2 JP 6795531B2
Authority
JP
Japan
Prior art keywords
api
service provider
execution
wholesale service
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.)
Active
Application number
JP2018028324A
Other languages
English (en)
Other versions
JP2019144848A (ja
Inventor
直樹 武
直樹 武
謙輔 高橋
謙輔 高橋
田中 宏幸
宏幸 田中
伸夫 小内
伸夫 小内
啓之 矢崎
啓之 矢崎
加藤 浩
浩 加藤
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 JP2018028324A priority Critical patent/JP6795531B2/ja
Priority to US16/971,256 priority patent/US10977102B2/en
Priority to PCT/JP2019/006171 priority patent/WO2019163793A1/ja
Publication of JP2019144848A publication Critical patent/JP2019144848A/ja
Application granted granted Critical
Publication of JP6795531B2 publication Critical patent/JP6795531B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/74Reverse engineering; Extracting design information from source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、APIアダプタ、APIアダプタ作成方法、およびプログラムに関する。
近年、新たなデジタルサービスを創出するにあたり、全てを自社の設備で構築するのではなく、他事業者のデジタルサービスを利用してエンドユーザにサービスを提供する、B2B2X(Business to Business to X)モデルの通信サービスが盛んになっている。
B2B2Xの普及に伴って、複数の卸パートナサービスを組み合わせサービス構築・運用するための、複数サービス連携実行装置の重要性が増している。新たな卸サービスの登場、および既存サービス仕様の変更が頻繁に行われるため、サービス事業者は新たな卸サービスおよび既存サービスの仕様変更に対して、低コスト・短期間で追随することが求められる。
また、各事業者がサービスを管理するためのAPI(Application Program Interface)をウェブ上にて提供しており、ユーザはAPIを呼び出すソフトウェアを通じてサービスを構築・運用している。APIの仕様(APIの名称、URL(Uniform Resource Locator)、パラメータ等)は、各事業者が規定し、ユーザは当該規定に従ってAPIを使用する。近年では、事業者によるAPI提供が増えてきており、単一の事業者が複数のサービス用APIを提供したり、複数事業者で同様のサービス用APIが提供されるのが一般的になりつつある。
サービス事業者が、卸サービスを提供している複数の卸サービス事業者のネットワークおよびクラウド、アプリを組合せた連携サービスを一括で構築する装置を開発する際に、卸サービスに新サービスやAPIが追加される度に追従へのコストが掛かる。
複数事業者の卸サービスを連携させ、新サービスやAPIへの追従開発を柔軟に実現させるためのアーキテクチャとして、非特許文献1に記載の技術がある。
非特許文献1には、複数サービスの連携実行装置およびそのアーキテクチャ(サービス非依存部とサービス依存部(アダプタ部)に分離)が提案されている。具体的には、複数事業者のサービスの仕様をカタログとして記述するカタログドリブンアーキテクチャを採用し、カタログの記述方法として「構成要素」と「アクションルール」を分離させる。カタログを解釈して実行するサービス非依存部とサービス毎のAPIを実行するサービス依存部を疎結合とすることで、新たなサービスやAPIへの追従を柔軟に実現する複数サービス実行連携方式が提案されている。これにより、新たなサービスやAPIへ対応する場合に、サービス依存部の追加のみで対応可能とする。
非特許文献2には、オーケストレータ部/(「/」は、「および/または」、を表記する。以下同様。)個別サービスとの情報の送受信を行うオーケストレータ/個別サービスAPI送受信部と、オーケストレータからのオーダ受付および応答処理を行うオーダ受付部と、個別サービスのAPI呼出しロジック(実行順序、入出力パラメータ指定等)を記述するAPI呼出しロジック部と、オーケストレータ/個別サービスからの情報取得・登録を代行してロジック記述に使いやすい単位で機能を提供するオーケストレータ/個別APIラッパ部と、を備えるAPIアダプタが記載されている。
「複数事業者間サービス連携を柔軟にするアーキテクチャ」,2017 年電子情報通信学会通信ソサイエティ大会講演論文集,高橋 謙輔ら,[online],[平成30年2月1日検索],インターネット 〈URL:https:// www.gakkai-web.net/gakkai/ieice/S_2017/Settings/html/key/fu.html〉 「Web APIアダプタ開発容易化に関する一考察」,武 直樹ら,ネットワークソフトウェア(NWS)研究会ポジションペーパ講演,[online],[平成30年2月1日検索],インターネット 〈URL: http://www.ieice.org/cs/ns/nws/14/program/〉
しかしながら、非特許文献1および非特許文献2には、複数サービスの連携実行装置およびそのアーキテクチャや、APIアダプタ機能要件については提案されているが、アダプタ部の作成方法については提案されていない。
このような背景に鑑みて本発明がなされたのであり、本発明は、新規卸サービス/仕様変更で用いられるAPIアダプタ部を効率的に作成することができるAPIアダプタ、APIアダプタ作成方法、およびプログラムを提供することを課題とする。
前記した課題を解決するため、請求項1に記載の発明は、複数の卸サービスを組み合わせた連携サービスを一括で構築する連携実行装置に用いられるAPI(Application Program Interface)アダプタであって、前記連携サービスのオーダを単体オーダに分解する連携実行装置本体部から、前記単体オーダを受付け、かつ、前記連携実行装置本体部への応答処理を行うオーダ受付部と、卸サービス事業者APIの起動条件をもとに、決められた実行順序で前記卸サービス事業者APIを起動し、前記単体オーダ内から前記卸サービス事業者APIの実行に必要なパラメータを取り出し、卸サービス事業者API実行部に送信するとともに、前記卸サービス事業者APIの実行結果を、前記連携実行装置本体部流通可能なデータ形式に変換するAPI呼出しロジック部と、前記API呼出しロジック部から、卸サービス事業者APIの実行に必要なパラメータを受領し、リクエストの形に組み立て直して前記卸サービス事業者APIに要求するとともに、当該リクエストに対する実行結果としてのレスポンスを受信後、当該レスポンスを所定形式に組み立て直して前記API呼出しロジック部に返却する前記卸サービス事業者API実行部と、を備えることを特徴とするAPIアダプタとした。
また、請求項2に記載の発明は、複数の卸サービスを組み合わせた連携サービスを一括で構築する連携実行装置に用いられるAPIアダプタを作成する方法であって、前記APIアダプタは、オーダ受付部、API呼出しロジック部、および卸サービス事業者API実行部を備えており、前記オーダ受付部が、前記連携サービスのオーダを単体オーダに分解する連携実行装置本体部から、前記単体オーダを受付ける工程と、前記API呼出しロジック部が、卸サービス事業者APIの起動条件をもとに、決められた実行順序で前記卸サービス事業者APIを起動し、前記単体オーダ内から前記卸サービス事業者APIの実行に必要なパラメータを取り出し、前記卸サービス事業者API実行部に送信する工程と、前記卸サービス事業者API実行部が、前記API呼出しロジック部から、前記卸サービス事業者APIの実行に必要なパラメータを受領し、リクエストの形に組み立て直して前記卸サービス事業者APIに要求する工程と、前記卸サービス事業者API実行部が、当該リクエストに対する実行結果としてのレスポンスを受信後、当該レスポンスを所定形式に組み立て直して前記API呼出しロジック部に返却する工程と、前記API呼出しロジック部が、前記卸サービス事業者APIの実行結果を、前記連携実行装置本体部流通可能なデータ形式に変換する工程と、オーダ受付部が、前記連携実行装置本体部への応答処理を行う工程と、を有することを特徴とするAPIアダプタ作成方法とした。
また、請求項7に記載の発明は、複数の卸サービスを組み合わせた連携サービスを一括で構築する連携実行装置に用いられるAPIアダプタとしてのコンピュータを、前記連携サービスのオーダを単体オーダに分解する連携実行装置本体部から、前記単体オーダを受付け、かつ、前記連携実行装置本体部への応答処理を行うオーダ受付手段、卸サービス事業者APIの起動条件をもとに、決められた実行順序で前記卸サービス事業者APIを起動し、前記単体オーダ内から前記卸サービス事業者APIの実行に必要なパラメータを取り出し、卸サービス事業者API実行手段に送信するとともに、前記卸サービス事業者APIの実行結果を、前記連携実行装置本体部流通可能なデータ形式に変換するAPI呼出しロジック手段、前記API呼出しロジック手段から、前記卸サービス事業者APIの実行に必要なパラメータを受領し、リクエストの形に組み立て直して前記卸サービス事業者APIに要求するとともに、当該リクエストに対する実行結果としてのレスポンスを受信後、当該レスポンスを所定形式に組み立て直して前記API呼出しロジック手段に返却する前記卸サービス事業者API実行手段、として機能させるためのプログラムとした。
このようにすることで、新規卸サービス/仕様変更で用いられるAPIアダプタ部を効率的に作成することができる。
請求項3に記載の発明は、前記卸サービス事業者API実行部が、卸サービス事業者API仕様書をもとに、卸サービス事業者API実行部ソースコードを自動生成し、自動生成された前記卸サービス事業者API実行部ソースコードから、卸サービス事業者API実行部仕様ドキュメントを生成する工程を、さらに有することを特徴とする請求項2に記載のAPIアダプタ作成方法とした。
このようにすることで、卸サービス事業者API実行部の有する工程に対応する開発が不要になる。また、次工程の卸サービス事業者API実行部組込み工程に、生成した卸サービス事業者API実行部仕様ドキュメントを提供することができる。
請求項4に記載の発明は、前記卸サービス事業者API実行部が、共通ライブラリソースコードおよび生成した前記卸サービス事業者API実行部ソースコードを、API呼出ロジック部テンプレートソースコードに組み込む工程をさらに有することを特徴とする請求項3に記載のAPIアダプタ作成方法とした。
このように、共通ライブラリソースコードを用いることで、共通ライブラリ資源を利用して効率良く、卸サービス事業者API実行部ソースコードを、API呼出しロジック部テンプレートソースコードに組み込むことができる。また、次工程のAPI呼出しロジック部作成工程に、卸サービス事業者API実行部ソースコードを組み込んだAPI呼出しロジック部テンプレートソースコードを提供することができる。
請求項5に記載の発明は、前記API呼出しロジック部が、共通ライブラリおよび卸サービスAPI実行部ソースコードを組み込んだテンプレートソースコード、および各種マニュアル・仕様ドキュメントをもとに、アダプタ部ソースコードを実装し、作成したアダプタ部ソースコードをビルドしてアダプタ部実行ファイルを生成することを特徴とする請求項2に記載のAPIアダプタ作成方法とした。
このようにすることで、アダプタ部実行ファイルを効率良く作成することができるので、新規APIへの追随が容易になる。例えば、APIアダプタ部100を新規卸サービス/仕様変更への追随が容易になる。このように、上記卸サービス事業者API実行部生成工程と、上記共通ライブラリおよび卸サービス事業者API実行部組込み工程と、上記API呼出しロジック部作成工程とを組み合わせることで、APIアダプタ部を効率的に作成することができる。
請求項6に記載の発明は、API呼出しロジック部は、作成した前記アダプタ部実行ファイルを前記APIアダプタに登録する工程を有することを特徴とする請求項5に記載のAPIアダプタ作成方法とした。
このようにすることで、アダプタ部実行ファイルをAPIアダプタ部に登録して、APIアダプタ部を新規卸サービス/仕様変更への追随させることができる。
本発明によれば、新規卸サービス/仕様変更で用いられるAPIアダプタ部を効率的に作成することができるAPIアダプタ、APIアダプタ作成方法、およびプログラム。
本発明の実施形態に係るAPIアダプタが適用されるネットワークシステムの全体構成図である。 本発明の実施形態に係るAPIアダプタの主な役割と機能を説明する図である。 本発明の実施形態に係るAPIアダプタを示す構成図である。 本発明の実施形態に係るAPIアダプタの単体オーダの一例を示す図である。 本発明の実施形態に係るAPIアダプタのオーダ受付部の処理を示す図である。 本発明の実施形態に係るAPIアダプタの共通ライブラリを説明する図である。 本発明の実施形態に係るAPIアダプタのAPI呼出しロジック部の処理を示す図である。 本発明の実施形態に係るAPIアダプタの卸サービス事業者API実行部の処理を示す図である。 本発明の実施形態に係るAPIアダプタのAPI仕様書を基にした自動生成を説明する図である。 本発明の実施形態に係るAPIアダプタのSwagger Codegenを説明する図である。 本発明の実施形態に係るAPIアダプタのAPIアダプタ作成方法の概要を示す図である。 本発明の実施形態に係るAPIアダプタの卸サービス事業者API実行部生成工程を説明する工程図である。 本発明の実施形態に係るAPIアダプタの共通ライブラリおよび卸サービス事業者API実行部組込み工程を説明する工程図である。 本発明の実施形態に係るAPIアダプタのAPI呼出しロジック部作成工程を説明する工程図である。 本発明の実施形態に係るAPIアダプタのアダプタ登録処理を示す図である。
以下、図面を参照して本発明を実施するための形態(以下、「本実施形態」という)におけるAPIアダプタおよびAPIアダプタ作成方法について説明する。
APIアダプタおよびAPIアダプタ作成方法は、B2B2Xモデルに適用した例である。B2B2Xモデルは、卸サービス事業者がサービス事業者に対してサービスを卸で売り、サービス事業者が卸されたサービスを使って新たなサービスを創出し、更にその先の客に創出したサービスを提供する。B2B2Xモデルは、一例であり、どのようなサービスモデルのAPIアダプタであってもよい。
(実施形態)
図1は、本発明の実施形態に係るAPIアダプタが適用されるネットワークシステムの全体構成図である。図1中、二重線で示される表記は、各APIを示す(以下、各図において同様)。
図1に示すように、サービス事業者1は、サービス4を使いたい旨の連携オーダ3を発行し、複数の卸サービス事業者2−1、卸サービス事業者2−2、卸サービス事業者2−3の卸サービスを組み合わせたサービス4を受け取る。サービス事業者1は、法人・個人がある。なお、卸サービス事業者2−1、卸サービス事業者2−2、卸サービス事業者2−3を総称する場合は、卸サービス事業者2と呼ぶ。
連携実行装置10は、サービス事業者1と卸サービスを提供している複数の卸サービス事業者2−1、卸サービス事業者2−2、卸サービス事業者2−3との間に配置され、卸サービス事業者2−1、卸サービス事業者2−2、卸サービス事業者2−3のネットワークおよびクラウド、アプリを組合せた連携サービスを一括で連携する。
サービス事業者1と連携実行装置10との間には、インターフェースである連携実行装置API40が設けられる。
卸サービス事業者2−1,卸サービス事業者2−2、卸サービス事業者2−3と連携実行装置10との間には、卸サービス事業者2−1のAPI50−1、卸サービス事業者2−2のAPI50−2、卸サービス事業者2−3のAPI50−3が設けられる。卸サービス事業者AのAPI50−1,卸サービス事業者BのAPI50−2,卸サービス事業者CのAPI50−3は、卸サービス事業者2−1、卸サービス事業者2−2、卸サービス事業者2−3を連携実行装置10に接続する際のインターフェースである。
なお、卸サービス事業者2−1のAPI50−1、卸サービス事業者2−2のAPI50−2、卸サービス事業者2−3のAPI50−3を総称する場合は、卸サービス事業者API50と呼ぶ。
連携実行装置10は、連携実行装置本体部20と、APIアダプタ部100と、連携実行装置本体部20をAPIアダプタ部100に接続する際のインターフェースである連携実行装置本体部API30と、を備える。
APIアダプタ部100は、各卸サービス事業者2ごとに作成され、各卸サービス事業者2が提供するAPI仕様差分を吸収する(図3で後記)。ここでは、APIアダプタ部100は、各卸サービス事業者2−1、卸サービス事業者2−2、卸サービス事業者2−3ごとに対応する卸サービス事業者2−1用のAPIアダプタ101−1、卸サービス事業者2−2用のAPIアダプタ101−2、卸サービス事業者2−3用のAPIアダプタ101−3を備える。卸サービス事業者2−1用のAPIアダプタ101−1、卸サービス事業者2−2用のAPIアダプタ101−2、卸サービス事業者2−3用のAPIアダプタ101−3は、各卸サービス事業者2−1、卸サービス事業者2−2、卸サービス事業者2−3が提供するAPI仕様差分をそれぞれ吸収する。
なお、APIアダプタ101−1、APIアダプタ101−2、APIアダプタ101−3を総称する場合は、APIアダプタ101と呼ぶ。
連携実行装置本体部20は、サービス事業者1が発行した連携オーダ3を、各卸サービス事業者2−1用のAPIアダプタ101−1、卸サービス事業者2−2用のAPIアダプタ101−2、卸サービス事業者2−3用のAPIアダプタ101−3が処理できる単位である、単体オーダ31−1,31−2,31−3に分解し、各卸サービス事業者2−1用のAPIアダプタ101−1、卸サービス事業者2−2用のAPIアダプタ101−2、卸サービス事業者2−3用のAPIアダプタ101−3に送信する。
なお、単体オーダ31−1,31−2,31−3を総称する場合は、単体オーダ31と呼ぶ。単体オーダ31の具体例については図4で後記する。
[APIアダプタの主な役割と機能]
図2は、APIアダプタ101の主な役割と機能を説明する図である。図1の各部と対応する部材には同一符号を付している。
連携オーダ3は、連携実行装置本体部20でNW(Network) service用単体オーダ31−1、Cloud service用単体オーダ31−2、APL (Application) service用単体オーダ31−3に分解される。
卸サービス事業者2−1、卸サービス事業者2−2、卸サービス事業者2−3は、順に、Network A21−1、Cloud B21−2、APL C21−3であるとする。
卸サービス事業者2−1用のAPIアダプタ101−1,卸サービス事業者2−2用のAPIアダプタ101−2,卸サービス事業者2−3用のAPIアダプタ101−3は、順に、Network A用のAPIアダプタ101−1,Cloud用のAPIアダプタ101−2,APL用のAPIアダプタ101−3である。
連携実行装置本体部20は、連携オーダ3を単体オーダ31に分解するとともに、実行順序制御を行う。例えば、連携実行装置本体部20は、Network 21−1から返却されたデータに付与されたIPアドレスを、Cloud 22−2の設定に引き渡す際に、Cloud 22−2の設定に変える。このような実行順序制御が重要となる。
APIアダプタ101は、連携実行装置本体部20側のデータモデル(例えば、TMF Open APIs準拠形式)と卸サービス事業者2側のデータモデルを相互に変換する役割を持つ。なお、データモデルは、TMF形式に限らず、独自形式のものでもよい。
APIアダプタ101は、連携実行装置本体部20からの単体オーダ31(例えば、TMF形式)を解釈し、各卸サービスAPI51の呼び出しに変換、またその応答値を本体部側のデータモデル(例えば、TMF形式)に変換し、連携実行装置本体部20に流通させる機能を持つ。
図2の矢印に示すように、Network 21−1用のAPIアダプタ101−1は、連携実行装置本体部20からのNW service用単体オーダ31−1を解釈し、Network 21−1のAPI呼び出しに変換し、応答値を連携実行装置本体部20側に戻す。続いて、Cloud 21−1用のAPIアダプタ101−2は、連携実行装置本体部20からのCloud service21−2用単体オーダ31−2を解釈し、Cloud 21−2のAPI呼び出しに変換し、応答値を連携実行装置本体部20側に戻す。続いて、APL21−3用のAPIアダプタ101−3は、連携実行装置本体部20からのAPL service21−3用単体オーダ31−3を解釈し、APL 21−3のAPI呼び出しに変換し、応答値を連携実行装置本体部20側のデータモデルに変換し流通させる。
図3は、図1のAPIアダプタ部100を示す構成図である。
図3に示すように、APIアダプタ部100は、連携実行装置本体部20からのオーダを連携実行装置本体部API30を通して受付けるとともに、その応答を連携実行装置本体部API30を通して連携実行装置本体部20に返す。なお、連携実行装置本体部20は、非特許文献2のオーケストレータ本体に対応し、連携実行装置本体部API30は、非特許文献2のオーケストレータAPIに対応する。
APIアダプタ部100は、各卸サービス事業者2との間で各卸サービス事業者2のAPI50を通して、個々の卸サービス事業者API50に対応したHTTP(Hypertext Transfer Protocol)リクエスト送信とレスポンス受信を行う。なお、卸サービス事業者2は、非特許文献2の個別サービスに対応し、卸サービス事業者API50は、非特許文献2の個別サービスのAPIに対応する。
APIアダプタ部100は、連携実行装置本体部20(オーケストレータ)側から受信したオーダを解釈し、規定された順番で卸サービス事業者API50(個別サービスのAPI)を呼び出して、その結果を連携実行装置本体部20(オーケストレータ)に流通する。
APIアダプタ部100は、オーダ受付部110(オーダ受付手段)と、API呼出しロジック部120(API呼出しロジック手段)と、卸サービス事業者API実行部130(卸サービス事業者API実行手段)と、を備える。
[オーダ受付部110]
オーダ受付部110は、連携実行装置本体部20からの単体オーダ31を受付け、オーダ内容を取得する。オーダ受付部110は、連携実行装置本体部20への応答処理を行う。具体的には、オーダ受付部110は、連携オーダ受付/応答処理として、連携実行装置本体部20との間で予め決められた手順に従って、単体オーダ31の受信から単体オーダ31の実行完了までの状態管理および通知、実行結果の流通を行う。
オーダ受付部110は、オーダ内容の取得処理として、API呼出しロジック部120の要請を受け、詳細なオーダ内容(カタログ/オーダパラメータ)を取得する。オーダ受付部110の処理については、図5で後記する。
非特許文献2との関係で述べると、オーダ受付部110は、オーケストレータAPI送受信機能として、HTTPリクエスト組み立てて送信し、レスポンスを受信する。オーダ受付部110は、オーダ受付機能としてオーダ受付と、連携実行装置本体部20(オーケストレータ)への応答処理を行う。オーダ受付部110は、オーケストレータAPIラッパ機能として、連携実行装置本体部20(オーケストレータ)API情報取得を代行し、ロジック記述に使いやすい単位の機能を提供する。
なお、上記オーケストレータAPI送受信と後記する個別サービスAPI送受信については、定型的なHTTP送受信処理を行うのみであるため、HTTP送受信処理用の市中ライブラリ活用もしくは一度開発したものの再利用が可能である。共通ライブラリ(図6で後記する)の利用により、これらは開発不要になる。
[API呼出しロジック部120]
API呼出しロジック部120は、卸サービス事業者API50の起動条件をチェックし、決められた実行順序でAPIを起動する。
API呼出しロジック部120は、連携実行装置本体部20からのオーダ内から卸サービス事業者API50の実行に必要なパラメータを取り出し、卸サービス事業者API実行部130に送信する。また、API呼出しロジック部120は、卸サービス事業者API50の実行結果を卸サービス事業者API実行部130から受け取り、連携実行装置本体部20に流通するための適切なデータ形式に変換する。API呼出しロジック部120の処理については、図7で後記する。
API呼出しロジック部120は、API呼出しロジック(API呼び出しの実行順序、入出力パラメータ指定等)を記述する。
API呼出しロジック部120は、共通ライブラリ化されたテンプレートソースコードおよび自動生成されたIF仕様ドキュメントをもとに、手動実装される。
[卸サービス事業者API実行部130]
卸サービス事業者API実行部130は、API呼出しロジック部120から、卸サービス事業者APIの実行に必要なデータを受領(この時のデータ形式を「オブジェクト」と呼ぶ)する。それをHTTPリクエストの形に組み立て直して卸サービス事業者2に送信する。
卸サービス事業者API実行部130は、卸サービス事業者2からHTTPレスポンスを受信後、ステータスコードのチェックおよび例外発出処理、レスポンスヘッダおよびボディの取得を行い、適切な形式に組み立て直してAPI呼出しロジック部120に返却する。卸サービス事業者API実行部130の処理については、図8で後記する。
卸サービス事業者API実行部130は、個々の卸サービス事業者APIに対応したHTTPリクエスト作成して送信するとともに、レスポンス受信し、またレスポンスからの値を取り出し、さらに例外処理を行う(図8で後記)。
非特許文献2との関係で述べると、卸サービス事業者API実行部130は、個別サービスAPIラッパ機能として、個別サービスAPI呼び出しを代行し、ロジック記述に使いやすい単位の機能を提供する。卸サービス事業者API実行部130は、個別サービスAPI送受信機能として、HTTPリクエスト組み立てて送信し、レスポンスを受信する。なお、個別サービスAPIラッパに関しては、Open API Specの標準化が進み、各個別サービスのAPI仕様がOpen API Spec形式で公開されることを想定し、対応したIF部自動生成ツールであるSwagger Codegen(図10で後記)の適用により、当機能部の自動生成が可能である。
[単体オーダ31]
図4は、単体オーダ31の一例を示す図であり、TMF APIに準拠した場合の例である。なお、単体オーダ31は、必ずしもこの記述形式である必要はない。
図4に示す単体オーダ31は、
オーダ一般情報311(オーダ説明、注文日時、オーダ種別)
“description”: “Set up Cloud A”
“orderDate”: “2018-01-25T10:00:00”
“action”: “add”
を記述する。
また、課金アカウントの指定312
“billingAccount”: [
{
“id”: “1”,
“href”: “http://..../bllingAccount/1”
“name”: “Sample Account”
}
],
を記述する。
使用するカタログ(サービスメニュー)の指定313
“productOffering”: {
“id”: “80”,
“href”: “http://..../productOffering/80”
“name”: “Cloud A”
},
を記述する。
また、オーダパラメータ(オーダ特有のパラメータ)の指定314
“product”: {
“characteristic”: [
{
“name”: “tenantId”,
“value”: “abcde12345”
},
{
“name”: “instanceName”,
“value”: “Web Server”
}
・・・
}
を記述する。
このオーダパラメータの指定については、オーダにより異なる。この例の場合、クラウドのテナントID、インスタンス名等を指定している。
以下、上述のように構成されたAPIアダプタ部100の動作について説明する。
[オーダ受付部110の処理]
まず、オーダ受付部110の処理について説明する。
図5は、オーダ受付部110の処理を示す図である。
オーダ受付部110は、オーダ受付/応答処理と、オーダ内容の取得処理と、を実行する。
<オーダ受付/応答処理>
オーダ受付部110は、連携実行装置本体部20との間で予め決められた手順に従って、単体オーダ31の受信から単体オーダ31の実行完了までの状態管理および通知、実行結果の流通を行う。
なお、連携実行装置本体部20との間のシーケンスは、連携実行装置10(図1参照)によって異なる可能性があるが、それぞれの連携実行装置10については共通化可能である。
オーダ受付/応答処理の例について述べる。
オーダ受付部110は、単体オーダ31を受信した場合、まずstate=“acknowledged”とし、連携実行装置本体部20に通知を出すとともに、API呼出しロジック部120を呼出しロジック実行を開始させる。
API呼出しロジック部120が、ロジック実行している中でオーダ受付部110に対し単体オーダ31の内容を取得してほしい要請を出す。オーダ受付部110は、API呼出しロジック部120の要請に応える形で、必要な情報をAPI呼出しロジック部120に送る。
オーダ受付部110は、API呼出しロジック部120でのロジック実行が始まった場合、state=“InProgress”とし、連携実行装置本体部20に通知を出す。なお、本実施形態では、オーダ受付部110が、API呼出しロジック部120を呼出した場合に、API呼出しロジック部120でのロジック実行が始まった場合とみなしている。なお、オーダ受付部110は、API呼出しロジック部120からのロジック実行開始通知を受け取る態様でもよい。
オーダ受付部110は、卸サービス事業者API50の応答を連携実行装置本体部20に返却する。より詳細には、オーダ受付部110は、プロダクトという名称のオブジェクトに、卸サービス事業者API50から返ってきた値を入れ、その値を入れたオブジェクトを連携実行装置本体部20に返却する。
オーダ受付部110は、API呼出しロジック部120でのロジック処理が正常に終わった場合、state=“completed”(オーダのステート完了)を連携実行装置本体部20に通知する。
なお、上記オーダ受付/応答処理は、実装依存にかかるものであり、他の態様も可能である。
<オーダ内容の取得処理>
オーダ受付部110は、API呼出しロジック部120の要請を受け、詳細なオーダ内容(カタログ/オーダパラメータ)を取得する。
なお、カタログ/オーダパラメータの記述方法は、連携実行装置10(図1参照)によって異なる可能性があるが、それぞれについて共通化可能である。
オーダ内容の取得処理の例について述べる。
オーダ受付部110は、API呼出しロジック部120の要請を受けて、オーダ内容を取得する。
オーダ受付部110は、カタログ取得処理を実行する。カタログ取得処理について説明する。図4に示す単体オーダ31の具体例の「使用するカタログ(サービスメニュー)の指定」のように、「使用するカタログの指定」には参照先、例えば
“http://..../productOffering/80”が記載されている場合がある。この場合には、参照先にデータを取りに行き、参照先から取得したデータ(値)をAPI呼出しロジック部120に返す。ちなみに、TMF形式の場合には、図4に示す単体オーダ31の「使用するカタログの指定」では、参照先を指定し、「オーダパラメータの指定」では、オーダパラメータを直接記述することになる。
オーダ受付部110は、オーダパラメータ取得処理を実行する。
ところで、カタログは、オーダによらないものであるのに対し、オーダパラメータは、オーダそれぞれにあるものである。したがって、TMF形式を用いない場合であっても同様のカタログ/オーダパラメータの記述になると考えられる。
オーダ受付部110は、基本的には、個々のアダプタに依存しない。このため、予めソースコードを作成しておくことができ、共通ライブラリのソースコード(例えば図13の共通ライブラリソースコード106)という形で提供される。
[共通ライブラリ]
次に、図6を参照して共通ライブラリについて説明する。
図6は、共通ライブラリを説明する図であり、共通ライブラリ140の一例を示す図、共通ライブラリ140の「オーダ内容を取得」の呼び出し先141を示す図である。
共通ライブラリ140のメインとなる処理は、図6の符号a、b、cであり、
前処理であるcreateOrFindMediatorProducts();と、
本処理であるinteractWithPartner();と、
後処理であるreflectToMediatorProducts();と、
を記述している。
このうち、
前処理「createOrFindMediatorProducts();」と後処理「reflectToMediatorProducts();」については、共通する処理であるので、共通ライブラリ内で実際の処理を記述している。
図6の符号aに示すcreateOrFindMediatorProducts()の実際の処理としては、図6の符号dに示す「オーダ内容を取得」処理や、図6の符号gに示す「状態変更(InProgress)を通知」処理などを記述する。
図6の符号bに示す、本処理「interactWithPartner();」は、それぞれの卸サービスに対してAPIを実行するという個別処理を行う箇所であり、共通ライブラリに共通化できないため、図6の符号b1に示すAPI呼出しロジック部120による「個別実装」の中で記述する。
図6の符号cに示すreflectToMediatorProducts();は、「卸サービス事業者APIの応答を連携実行装置本体部20に返却」する処理であり、実際の処理は共通ライブラリ内で実装する(図6では省略)。
図6の符号dに示す「オーダ内容を取得」処理では、
productOffering = getProductOffering(id)
を記述することで、図6(b)の符号eに示す「オーダ内容取得処理の詳細」を呼び出した後、図6の符号fに示すように、図6の符号dに示す「オーダ内容を取得」に戻る。
オーダ内容取得処理の詳細の記述イメージは以下である。ProductOffering(カタログ)取得処理が呼び出された場合は、下記getProductOfferingが実行される。
class XXXX {
getProductOffering (id) {
url = …;
header = ….;
pathParams = …;
response = setGetRequest(url, header, pathParams)
return response;
}

getProduct() {

}

getCharacteristic() {

}
}
図6の符号gに示すdoUpdateNotifyStatus(INPROGRESS);では、「状態変更(InProgress)を通知」処理を実行する。実際の処理は共通ライブラリ内で実装する(図6では省略)。
[API呼出しロジック部120の処理]
次に、API呼出しロジック部120の処理について説明する。
図7は、API呼出しロジック部120の処理を示す図である。ただし、図7には、API呼出しロジック部120は表記されておらず、API順序制御とパラメータ詰替え処理が示されている。図7の星印マークは、連携実行装置本体部20とAPIアダプタ101間でAPIの形式が変換されることを表し、図7の三角形は、卸サービス事業者API同士であるためAPIの形式が変換されないことを表している。
APIアダプタ101は、Cloud 21−1用のAPIアダプタ101−2を例に採る。また、卸サービス事業者2で実行するAPIは、Auth(Authorization(認証)トークン取得)、Create Network、Show Network、Create Subnet、Create Serverであるとする。
API呼出しロジック部120(図7には図示せず)は、API順序制御と、パラメータ詰替え処理と、を実行する。
<API順序制御:1>
図7の符号h1−h6に示すように、API呼出しロジック部120は、卸サービス事業者API50の起動条件をチェックし、決められた実行順序で卸サービス事業者API50を起動する。上記起動条件とは、下記の通りである。例えばあるパラメータがtrueになっていることを条件に、APIを実行する、というように起動に条件がついている場合がある。API呼出しロジック部120は、このような起動条件の有無をチェックし、起動条件を満たしていれば該当する卸サービス事業者API50を起動する。なお、上記実行順序は、設計段階で定めておく。
図7では、API呼出しロジック部120(図7には図示せず)は、連携実行装置本体部20からの単体オーダを受け取ると(図7の星印マーク参照)、決められた実行順序に従い、まず最初に卸サービス事業者API50(ここではAuth(認証)トークンのAPI50)を起動する(図7の符号h1参照)。
<パラメータ詰替え処理:2>
API呼出しロジック部120(図7には図示せず)は、連携実行装置本体部20からのオーダ内から卸サービス事業者API50(ここではAuthの卸サービス事業者API50)の実行に必要なパラメータを取り出し、卸サービス事業者API実行部130(図7には図示せず)に送信する。
ここで、卸サービス事業者API50の実行に必要なパラメータについては、APIアダプタの設計段階で、その値をどう設定するかを決定しておくものとする。例えば、予め決めた既定値を使うのか、サービス事業者のオーダから読み取るのか、設定ファイルから読み取るのか、等である。また、「サービス事業者のオーダから読み取る」としたパラメータについては、オーダ内でのデータ構成とパラメータ名を定めておく。例えば“name”: “user.id”, “value”: “100”等となる。
図7の符号iに示すように、API呼出しロジック部120(図7には図示せず)は、
オーダから取り出したパラメータ
“name”: “user.id”
“value”: “100”

“userId”: 100
に詰め替える。
すなわち、図7の符号iに示すように、オーダから取り出したパラメータは、パラメータ名「“name”」の値が「“user.id”」、パラメータ名「“value”」の値が「“100”」になっている。一方、卸サービス事業者API50を実行する際には、「“userId”: 100」というように、パラメータ名が「“userId”」、値が「100」という形式に変換する必要がある。API呼出しロジック部120(図7には図示せず)は、このようなパラメータ詰替え(変換)処理を行うことで、適切なデータ形式に変換している。
<API順序制御:2>
そして、上記Auth(認証)トークンに関するAuthのAPI50の処理が終わると、API順序制御により、決められた実行順序に従って次の卸サービス事業者API50(ここではCreate Network)の卸サービス事業者API50を起動する(図7の符号h2参照)。
次に、上記API順序制御により、決められた実行順序に従って次の卸サービス事業者API50(ここではShow Networkの卸サービス事業者API50)を起動する(図7の符号h3参照)。以下、上記API順序制御により、同様の処理を繰り返してCreate Networkの卸サービス事業者API50の起動まで行う(図7の符号h2参照)。
なお、一般的には、図7に示すように、Auth(認証)APIを実行し、次にネットワーク構築するためCreate Networkの卸サービス事業者API50を起動し(図7の符号h3参照)、さらにそのネットワークの中にサブネットを生成するためにCreate Subnetの卸サービス事業者API50を起動し(図7の符号h4参照)(すなわちShow NetworkはCreate Networkの結果を確認するために起動している)、そのサブネットの中にサーバを作成するCreate Serverの卸サービス事業者API50を起動する(図7の符号h5参照)、という実行順序となる。
Cloud 21−2用のAPIアダプタ101−2が、サブネットの中にサーバを作成するアダプタである場合、このサーバ作成完了で処理が終了する。
図7では、Create Networkの卸サービス事業者API50の起動と、Create Subnetの卸サービス事業者API50の起動との間に、Show Networkの卸サービス事業者API50を起動しているが、Show Networkの卸サービス事業者API50を起動する理由は下記の通りである。
Create Networkの卸サービス事業者API50は、非同期のAPIである。このため、Create Networkの卸サービス事業者API50から応答が返ってきても、実際にネットワークが完成するまでには時間がかかる。そこで、Create Networkの卸サービス事業者API50の次の実行順序に、Show Networkの卸サービス事業者API50を置くことで、Create Networkの卸サービス事業者API50によりネットワークが完成したことを確認する。
<パラメータ詰替え処理:2>
上記API順序制御による、決められた実行順序の最後の卸サービス事業者API50(ここではCreate Networkの卸サービス事業者API50)の実行では、上記パラメータ詰替え処理を行う。
API呼出しロジック部120(図7には図示せず)は、卸サービス事業者API(Create Networkの卸サービス事業者API50)の実行結果を卸サービス事業者API実行部130(図7には図示せず)から受け取り、連携実行装置本体部20に流通するための適切なデータ形式に変換する。
図7の符号jに示すように、API呼出しロジック部120(図7には図示せず)は、
Create Networkの卸サービス事業者API50のパラメータ
server: {
“id” : “xxx”,
“status”: “active”,
(中略)
}

“name”: “server.status”
“value”: “active”
に詰め替える。
すなわち、図7の符号jに示すように、Create Serverの卸サービス事業者API50の実行結果として、例えばパラメータ名「“status”」の値が「“active”」で返ってきた場合、パラメータ名「“name”」の値が「“server.status”」、パラメータ名「“value”」の値が「“active”」というようにパラメータ詰替え(変換)処理を行う。
<API順序制御:3>
図7の符号h6に示すように、この例では、API呼出しロジック部120(図7には図示せず)は、決められた実行順序の最後のCreate Networkの卸サービス事業者API50の実行結果をパラメータ詰替え処理したデータを連携実行装置本体部20に流通させる(図7の星印マーク参照)。なお、この例(図7)では最後のAPIの結果のみを流通しているが、流通するのは必ずしも最後のAPIの結果だけに限らない。
[卸サービス事業者API実行部130の処理]
次に、卸サービス事業者API実行部130の処理について説明する。
図8は、卸サービス事業者API実行部130の処理を示す図である。
上述したように、オーダ受付部110は、連携実行装置本体部20(図示省略)からの単体オーダの受付/応答処理を行う。オーダ受付部110は、オーダ内容の取得を行う。API呼出しロジック部120は、API呼出しロジック(実行順序、入出力パラメータ指定等)を記述している。
図8に示すように、卸サービス事業者API実行部130は、API呼出しロジック部120から、卸サービス事業者APIの実行に必要なデータ(オブジェクト64)を受領する。
図8の符号kに示すように、卸サービス事業者API実行部130は、オブジェクト61をHTTPリクエスト62の形に組み立て直す。HTTPリクエスト62は、ヘッダ62aと、ボディ62bと、からなる。
図8の符号lに示すように、卸サービス事業者API実行部130は、HTTPリクエスト62を卸サービス事業者2に送信する。
図8の符号mに示すように、卸サービス事業者API実行部130は、卸サービス事業者2からHTTPレスポンス63を受信する。HTTPレスポンス63は、ステータスコード63a、ヘッダ63b、およびボディ63cからなる。
図8の符号nに示すように、卸サービス事業者API実行部130は、ステータスコードのチェックおよび例外発出処理(「例外」を発出する処理)を行う。
卸サービス事業者API実行部130は、卸サービス事業者2にHTTPリクエスト62を送信したとしても、正常応答が返ってくるとは限らないので、ステータスコードのチェックを行っている。例えば、卸サービス事業者2から、「Create Networkの生成に成功した旨のステータスコード」または「Create Networkの生成に失敗した旨のステータスコード(エラーコード)」を受け取る。
例外発出処理は、例外的な事態が発生した場合は、発生した例外の種類を示すコードを外部(卸サービス事業者API実行部130の外部)に出力する。また、外部には、発生した例外の処理があらかじめライブラリとして用意されており、この例外(コード)を受け取る機能部(ソフトウェア)が例外処理を実行する。本実施形態では、卸サービス事業者API実行部130が、例外発出を行うことで処理を終える。
図8の符号oに示すように、卸サービス事業者API実行部130は、レスポンスヘッダの取得(token等)する。
図8の符号pに示すように、卸サービス事業者API実行部130は、レスポンスヘッダおよびボディをもとに、適切な形式(例えばhttp形式をオブジェクト形式)に組み立て直してオブジェクト64を作成する。卸サービス事業者API実行部130は、オブジェクト64をAPI呼出しロジック部120に返却する。
[API仕様書を基にした自動生成]
次に、API仕様書を基にした自動生成について説明する。
図9は、API仕様書を基にした自動生成を説明する図である。
標準化団体Open API Initiativeでは、Google、Microsoft等が中心となって、マシンリーダブルなWeb API仕様書の記述方法の標準化を目指している。
Web API仕様書が、マシンリーダブルになることにより、クライアント側(アダプタ側)のSDK(Software Development Kit)部およびサーバ側(卸サービス側)のサーバモックが自動生成可能になる。この技術をサポートするOSS(Open-source software)である、Swagger Codegen(後記)を、本実施形態のAPIアダプタ作成へ適用することにより、卸サービス事業者API実行部130を自動生成する。なお、Swagger Codegenはあくまで一例であり、サーバ側API仕様を基にした同様の自動生成技術であれば適用が可能である。
図9に示すように、サーバIF仕様71を準備する。サーバIF仕様71は、例えばOpen API Specification/Swagger Specification (以下、Swagger Spec)であり、WebサービスにおけるWSDL(Webサービスを記述するためのXML表記)に相当する。
サーバIF仕様71からSwagger Codegenを適用してクライアントIFソースコード72を生成する。Swagger Codegenは、WSDL2Javaに相当する。また、生成されたクライアントIFソースコード72は、クライアントSDK (Webサービスにおけるスタブ)に相当する。
クライアントIFソースコード72からクライアントIF部73を作成し、卸サービス事業者API実行部130に実装する。
クライアントロジック部ソースコード74を準備する。クライアントロジック部ソースコード74をもとに、クライアントロジック部75を作成する。
クライアントロジック部75と卸サービス事業者API実行部130とを組み合わせてクライアント側(アダプタ側)が完成する。
一方、サーバ側は各卸事業者が開発し、API50を公開することになる。本実施形態では、特にSwagger Codegenを利用しないが、例示しておくと、サーバ側では、サーバIF仕様71からサーバIFソースコード76を生成する。このサーバIFソースコード76は、モックサーバ (Webサービスにおけるスケルトン)に相当する。サーバIFソースコード76からサーバIF部77を作成する。
サーバロジック部ソースコード78を準備する。サーバロジック部ソースコード78をもとに、サーバロジック部79を作成する。
サーバロジック部79とサーバIF部77とを組み合わせてサーバ側(Southbound)が完成する。
クライアント側(アダプタ側)の卸サービス事業者API実行部130とサーバ側(Southbound)は、卸サービス事業者API50を通して、個々の卸サービス事業者API50に対応したHTTPリクエスト送信とレスポンス受信を行う。
[Swagger Codegen]
次に、Swagger Codegenについて説明する。
図10は、Swagger Codegenを説明する図である。
Swagger Codegen80は、Swagger Specで記載されたAPI仕様からクライアント/サーバコードを生成するコマンドラインツールである。Swagger Codegen80は、Swagger Spec (REST APIに対して Swagger の仕様に準じたドキュメント)で記載されたAPI仕様からドライバもしくはクライアントSDKを自動生成する。
Swagger Codegen80には、コード自動生成のための変換ルールを定義したテンプレート81と、各卸サービスのAPI仕様を定義したビルドに必要なファイルであるSpecファイル82−1,Specファイル82−2,Specファイル82−3が入力される。Specファイル82−1は、卸サービスAのSpecファイル、Specファイル82−2は、卸サービスBのSpecファイル、Specファイル82−3は、卸サービスCのSpecファイルである。
Swagger Codegen80は、各卸サービス事業者API仕様を定義したSpecファイル(SpecファイルA82−1、SpecファイルB82−2、SpecファイルC82−3)を入力し、テンプレート81を参照して、各卸サービスごとの卸サービスAPI実行部ソースコードを自動生成する。自動生成対象の卸サービスAPI実行部ソースコードは、卸サービスAPI実行部ソースコード83−1、卸サービスAPI実行部ソースコード83−2、卸サービスAPI実行部ソースコード83−3である。
以下、上述のように構成されたAPIアダプタ部100の作成方法について説明する。
本実施形態は、APIアダプタ部100の作成方法に特徴がある。
本実施形態のAPIアダプタ作成方法は、オーダ受付部110と、API呼出しロジック部120と、卸サービス事業者API実行部130と、を組み合わせることによって、APIアダプタ部100(図3参照)を作成する。
具体的には、APIアダプタ作成方法は、
・共通ライブラリ化されたオーダ受付部110を用いる方法
・共通ライブラリ化されたテンプレートソースコードおよび自動生成されたIF仕様ドキュメントをもとに、API呼出しロジック部120を実装する方法
・自動生成された卸サービス事業者API実行部130を用いる方法
を有する。
上記各方法は、(1)卸サービス事業者API実行部生成工程、(2)共通ライブラリおよび卸サービス事業者API実行部組込み工程、(3)API呼出しロジック部作成工程で実現される。
なお、共通ライブラリの例については、前記図6で述べた。
[APIアダプタ作成方法の概要]
図11は、APIアダプタ作成方法の概要を示す図である。図11は、APIアダプタ作成方法の各工程を示す。
図11に示すように、APIアダプタ作成方法は、下記工程(1)−(3)を有する。
(1)卸サービス事業者API実行部生成工程
卸サービス事業者API実行部生成工程S40では、卸サービス事業者API仕様書をもとに、卸サービス事業者API実行部ソースコードを自動生成する。卸サービスAPI実行部ソースコードの自動生成については、前記図10のSwagger Codegenを用いる。なお、Swagger Codegenは一例であり、同様の技術であればこれに限らない。
卸サービス事業者API実行部生成工程では、自動生成されたソースコードから、卸サービス事業者API実行部仕様ドキュメントを生成する。
(2)共通ライブラリおよび卸サービス事業者API実行部組込み工程
共通ライブラリおよび卸サービス事業者API実行部組込み工程S41では、共通ライブラリソースコードおよび生成した卸サービス事業者API実行部ソースコードを、API呼出しロジック部テンプレートソースコードに組み込む。
(3)API呼出しロジック部作成工程
API呼出しロジック部作成工程S42では、共通ライブラリおよび卸サービスAPI実行部ソースコードを組み込んだテンプレートソースコード、および各種マニュアル・仕様ドキュメントをもとに、アダプタ部ソースコードを手動で実装する。作成したソースコードをビルドすることで、アダプタ部実行ファイルを得る。
以下、卸サービス事業者API実行部生成工程、共通ライブラリおよび卸サービス事業者API実行部組込み工程、およびAPI呼出しロジック部作成工程について順に説明する。
[卸サービス事業者API実行部生成工程]
図12は、卸サービス事業者API実行部生成工程S40を説明する工程図である。なお、図12中の白抜きのファイルは、卸サービス事業者により提供される入力ファイルを、図12中の網掛けのファイルは、共通ライブラリにより予め提供されるファイルを、図12中のハッチングのファイルは、ツール等により自動生成されるファイルを、図12中の格子のファイルは、手動で作成するファイルを、それぞれ示している(以下、ファイルについては同様の表記を採る)。
ステップS11において、卸サービス事業者2(図1参照)は、API仕様書(独自形式)113を提供する。
ステップS12において、卸サービス事業者2が提供するAPI仕様書(独自形式)113を、標準形式の卸サービス事業者API仕様書(標準形式)102に直す(変換する)。卸サービス事業者2によって標準形式のAPI仕様書が提供されていれば、本ステップS12は不要である。
卸サービス事業者2のAPI仕様書102は、APIエンドポイント、メソッド、Input/Outputパラメータ一覧等が記載されたファイルである。Open API Specification形式等を想定するが、これに限定するものではない。
ステップS13において、共通ライブラリ(図6参照)により生成ルールテンプレートファイル103(図10のテンプレート81参照)を提供する。
生成ルールテンプレートファイル103には、標準形式のAPI仕様書から、卸サービス事業者API実行部ソースコードを自動生成するためのルールが記載されている。また、生成ルールテンプレートファイル103には、HTTPレスポンスにおけるステータスコードに応じた例外発出処理(図8の符号nに示す例外発出処理参照)、またレスポンスからのヘッダ値取得処理(図8の符号oに示すレスポンスヘッダの取得処理参照)がルールとして設定されている。なお、クライアントIF部自動生成部131(後記)は、自動生成ツール自体であり、例えばswagger codegenである。
ステップS14において、卸サービス事業者API仕様書(標準形式)102および生成ルールテンプレートファイル103をクライアントIF部自動生成部131に入力する。
ステップS15において、クライアントIF部自動生成部131は、卸サービス事業者API仕様書(標準形式)102および生成ルールテンプレートファイル103をもとに、卸サービス事業者API実行部ソースコード104(図9のクライアントIFソースコード72に対応する)を生成する。クライアントIF部自動生成部131は、標準形式のAPI仕様をもとに、卸サービス事業者API実行部ソースコード104を自動生成する機能部であり、具体的にはクライアントIF部自動生成ツールである。このクライアントIF部自動生成ツールは、Swagger Codegen(図10参照)等を想定するが、これに限定するものではない。
ステップS16において、生成された卸サービス事業者API実行部ソースコード104をビルド(コンパイル)することにより卸サービス事業者API実行部仕様ドキュメント105を生成する。
卸サービス事業者API実行部ソースコード104をビルドすることにより、卸サービス事業者API実行部仕様ドキュメントおよび、卸サービス事業者API実行部(クライアントIF部73)が生成される。ただし、本実施形態におけるAPIアダプタ作成手順では後でまとめてビルドするため、クライアントIF部73は使用しない(図示を省略している)。
[共通ライブラリおよび卸サービス事業者API実行部組込み工程]
図13は、共通ライブラリおよび卸サービス事業者API実行部組込み工程を説明する工程図である。
ステップS21において、卸サービス事業者API実行部生成工程(図12参照)のステップS15で生成された卸サービス事業者API実行部ソースコード104を入力する。
ステップS22において、共通ライブラリ(図6参照)により共通ライブラリソースコード106を提供する。共通ライブラリソースコード106は、共通ライブラリ化されたソースコードである。共通ライブラリソースコード106には、連携実行装置本体部20(図3参照)からのオーダ受付・応答、オーダ内容取得機能を含む。
ステップS23において、共通ライブラリソースコード106および卸サービス事業者API実行部生成工程(図12参照)で生成した卸サービス事業者API実行部ソースコード104を、API呼出しロジック部テンプレートソースコード107に組み込む。API呼出しロジック部テンプレートソースコード107は、共通ライブラリ化された、API呼出しロジック部のテンプレートソースコードである。API呼出しロジック部テンプレートソースコード107は、パラメータ対応関係やAPI実行順序等以外の定型的な記述部分を含む。
[API呼出しロジック部作成工程]
図14は、API呼出しロジック部作成工程を説明する工程図である。
ステップS31において、共通ライブラリおよび卸サービス事業者API実行部組込み工程(図12参照)のステップS23で生成されたAPI呼出しロジック部テンプレートソースコード107を入力する。
ステップS32において、共通ライブラリ(図6参照)により予め提供されるファイルであるアダプタ部実装マニュアル108および共通ライブラリ仕様ドキュメント109と、ツール等により自動生成されるファイルである卸サービス事業者API実行部仕様ドキュメント105と、を参照可能にする。
ステップS33において、アダプタ部実装マニュアル108、共通ライブラリ仕様ドキュメント109、および卸サービス事業者API実行部仕様ドキュメント105を参考にしながら、API呼出しロジック部テンプレートソースコード107に、手動で変更を加えることで、API呼出しロジック部120(図3参照)を実装する。すなわち、ステップS33では、共通ライブラリおよび卸サービスAPI実行部ソースコードを組み込んだテンプレートソースコード、および各種マニュアル・仕様ドキュメントを基に、アダプタ部ソースコード114を手動で実装する。
ステップS34において、作成したアダプタ部ソースコードをビルド(コンパイル)することで、アダプタ部実行ファイル111を生成する。アダプタ部実行ファイル111を得ることで、API呼出しロジック部作成工程が完了する。アダプタ部実行ファイル111は、アダプタ登録処理で用いる。
[アダプタ登録処理]
次に、アダプタ登録処理の処理について説明する。
図15は、アダプタ登録処理を示す図である。図1と同一構成部分には同一符号を付している。
アダプタ登録処理は、図14のAPI呼出しロジック部作成工程で作成したアダプタ部実行ファイル111をAPIアダプタ部100に登録する処理である。アダプタ部実行ファイル111をAPIアダプタ部100に登録することで、APIアダプタ部100は、最新の仕様で、各卸サービス事業者が提供するAPI仕様差分を吸収することができる。
図15に示すように、APIアダプタ部100は、作成したアダプタ部実行ファイル111と本体部configファイル112を所定のフォルダに配置する。本体部configファイル112は、新規追加するアダプタの名前等を指定するものである。
連携実行装置本体部20は、本体部configファイル112に、新規追加するアダプタの名前等を指定する。
以上、APIアダプタ部100にアダプタ部実行ファイル111を登録し、かつ、連携実行装置本体部20に本体部configファイル112で、新規追加するアダプタの名前等を指定するconfig設定を行うことでアダプタ登録処理が完了し、APIアダプタ部100を新規卸サービス/仕様変更への追随させることができる。
以上説明したように、本実施形態のAPIアダプタ作成方法は、サービス事業者1が、卸サービスを提供している複数の卸サービス事業者のサービスを組合せた連携サービスを一括で構築する連携実行装置10に用いられるAPIアダプタ100が、サービス事業者1からの連携オーダ3を単体オーダ31に分解する連携実行装置本体部20から、単体オーダ31を受付け、かつ、連携実行装置本体部20への応答処理を行うオーダ受付部組込み工程と、卸サービス事業者API50の起動条件をもとに、決められた実行順序で卸サービス事業者API50を起動し、単体オーダ31内から卸サービス事業者API50の実行に必要なパラメータを取り出し、卸サービス事業者API実行部組込み工程に送信するとともに、卸サービス事業者API50の実行結果を、連携実行装置本体部20に流通するためのデータ形式に変換するAPI呼出しロジック部作成工程と、API呼出しロジック部120から、卸サービス事業者API実行に必要なデータを受領し、HTTPリクエストの形に組み立て直して卸サービス事業者2に送信するとともに、卸サービス事業者2からHTTPレスポンスを受信後、ステータスコードのチェックおよび例外発出処理、レスポンスヘッダおよびボディの取得を行い、適切な形式に組み立て直してAPI呼出しロジック部120に返却する卸サービス事業者API実行部作成工程および組込み工程と、を有する。
これにより、新規卸サービス/仕様変更への追随において、サービス依存部であるAPIアダプタ部を効率的に作成することができる。
本実施形態では、卸サービス事業者API仕様書102をもとに、卸サービス事業者API実行部ソースコード104を自動生成し、自動生成された卸サービス事業者API実行部ソースコード104から、卸サービス事業者API実行部仕様ドキュメント105を生成する卸サービス事業者API実行部生成工程(図12参照)を、さらに有する。これにより、卸サービス事業者API実行部の開発が不要になる。また、図12に示すように、次工程の卸サービス事業者API実行部組込み工程(図13参照)に、生成した卸サービス事業者API実行部仕様ドキュメント105を提供することができる。
本実施形態では、卸サービス事業者API実行部組込み工程(図13参照)は、共通ライブラリソースコード106および生成した卸サービス事業者API実行部ソースコード104を、API呼出しロジック部テンプレートソースコード107に組み込む。共通ライブラリソースコード106を用いることで、共通ライブラリ資源を利用して効率良く、卸サービス事業者API実行部ソースコード104を、API呼出しロジック部テンプレートソースコード107に組み込むことができる。図12に示すように、次工程のAPI呼出しロジック部作成工程(図14参照)に、卸サービス事業者API実行部ソースコード104を組み込んだAPI呼出しロジック部テンプレートソースコード107を提供することができる。APIアダプタ部100の卸サービス事業者API実行部130(図3参照)を効率良く作成することができる。
本実施形態では、API呼出しロジック部作成工程(図14参照)は、共通ライブラリおよび卸サービス事業者API実行部ソースコード104を組み込んだテンプレートソースコード、および各種マニュアル・仕様ドキュメントをもとに、アダプタ部ソースコード114を実装し、作成したアダプタ部ソースコード114をビルドしてアダプタ部実行ファイル111を生成する。既存技術(非特許文献1,2)では、APIアダプタの作成方法については述べていないこと、また、既存技術で述べているAPIアダプタの構成をそのまま実装しようとすると、共通部や自動生成可能な部分も手動で実装する必要があるため非効率だったこと、が課題であった。
これに対して、本実施形態では、上記卸サービス事業者API実行部生成工程と、上記共通ライブラリおよび卸サービス事業者API実行部組込み工程と、本API呼出しロジック部作成工程とを組み合わせることで、アダプタ部実行ファイル111を作成することができる。アダプタ部実行ファイル111を効率良く作成することができるので、新規APIへの追随が容易になる。例えば、APIアダプタ部100を新規卸サービス/仕様変更への追随が容易になる。このように、上記卸サービス事業者API実行部生成工程と、上記共通ライブラリおよび卸サービス事業者API実行部組込み工程と、上記API呼出しロジック部作成工程とを組み合わせることで、APIアダプタ部100を効率的に作成することができる。
本実施形態では、ロジック部作成工程で作成したアダプタ部実行ファイル111をAPIアダプタ部100に登録するアダプタ登録処理工程を有することで、アダプタ部実行ファイル111をAPIアダプタ部100に登録して、APIアダプタ部100を新規卸サービス/仕様変更への追随させることができる。
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中に示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行するためのソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、IC(Integrated Circuit)カード、SD(Secure Digital)カード、光ディスク等の記録媒体に保持することができる。また、本明細書において、時系列的な処理を記述する処理ステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)をも含むものである。
1 サービス事業者
2,2−1,2−2,2−3 卸サービス事業者
3,3−1,3−2,3−3 連携オーダ
4 サービス
10 連携実行装置
20 連携実行装置本体部
30 連携実行装置本体部API
31 単体オーダ
31−1 NW service用単体オーダ
31−2 Cloud service用単体オーダ
31−3 APL service用単体オーダ
40 連携実行装置API
50 卸サービス事業者API
51 卸サービスAPI(仕様差分)
100 APIアダプタ部
101,101−1,101−2,101−3 APIアダプタ
110 オーダ受付部(オーダ受付手段)
120 API呼出しロジック部(API呼出しロジック手段)
130 卸サービス事業者API実行部(卸サービス事業者API実行手段)

Claims (7)

  1. 複数の卸サービスを組み合わせた連携サービスを一括で構築する連携実行装置に用いられるAPI(Application Program Interface)アダプタであって、
    前記連携サービスのオーダを単体オーダに分解する連携実行装置本体部から、前記単体オーダを受付け、かつ、前記連携実行装置本体部への応答処理を行うオーダ受付部と、
    卸サービス事業者APIの起動条件をもとに、決められた実行順序で前記卸サービス事業者APIを起動し、
    前記単体オーダ内から前記卸サービス事業者APIの実行に必要なパラメータを取り出し、卸サービス事業者API実行部に送信するとともに、前記卸サービス事業者APIの実行結果を、前記連携実行装置本体部流通可能なデータ形式に変換するAPI呼出しロジック部と、
    前記API呼出しロジック部から、卸サービス事業者APIの実行に必要なパラメータを受領し、リクエストの形に組み立て直して前記卸サービス事業者APIに要求するとともに、当該リクエストに対する実行結果としてのレスポンスを受信後、当該レスポンスを所定形式に組み立て直して前記API呼出しロジック部に返却する前記卸サービス事業者API実行部と、を備える
    ことを特徴とするAPIアダプタ。
  2. 複数の卸サービスを組み合わせた連携サービスを一括で構築する連携実行装置に用いられるAPIアダプタを作成する方法であって、
    前記APIアダプタは、オーダ受付部、API呼出しロジック部、および卸サービス事業者API実行部を備えており、
    前記オーダ受付部が、前記連携サービスのオーダを単体オーダに分解する連携実行装置本体部から、前記単体オーダを受付ける工程と、
    前記API呼出しロジック部が、卸サービス事業者APIの起動条件をもとに、決められた実行順序で前記卸サービス事業者APIを起動し、
    前記単体オーダ内から前記卸サービス事業者APIの実行に必要なパラメータを取り出し、前記卸サービス事業者API実行部に送信する工程と、
    前記卸サービス事業者API実行部が、前記API呼出しロジック部から、前記卸サービス事業者APIの実行に必要なパラメータを受領し、リクエストの形に組み立て直して前記卸サービス事業者APIに要求する工程と、
    前記卸サービス事業者API実行部が、当該リクエストに対する実行結果としてのレスポンスを受信後、当該レスポンスを所定形式に組み立て直して前記API呼出しロジック部に返却する工程と、
    前記API呼出しロジック部が、前記卸サービス事業者APIの実行結果を、前記連携実行装置本体部流通可能なデータ形式に変換する工程と、
    オーダ受付部が、前記連携実行装置本体部への応答処理を行う工程と、を有する
    ことを特徴とするAPIアダプタ作成方法。
  3. 前記卸サービス事業者API実行部が、卸サービス事業者API仕様書をもとに、卸サービス事業者API実行部ソースコードを自動生成し、自動生成された前記卸サービス事業者API実行部ソースコードから、卸サービス事業者API実行部仕様ドキュメントを生成する工程を、さらに有する
    ことを特徴とする請求項2に記載のAPIアダプタ作成方法。
  4. 前記卸サービス事業者API実行部が、共通ライブラリソースコードおよび生成した前記卸サービス事業者API実行部ソースコードを、API呼出ロジック部テンプレートソースコードに組み込む工程をさらに有する
    ことを特徴とする請求項3に記載のAPIアダプタ作成方法。
  5. 前記API呼出しロジック部が、共通ライブラリおよび卸サービスAPI実行部ソースコードを組み込んだテンプレートソースコード、および各種マニュアル・仕様ドキュメントをもとに、アダプタ部ソースコードを実装し、作成したアダプタ部ソースコードをビルドしてアダプタ部実行ファイルを生成する
    ことを特徴とする請求項2に記載のAPIアダプタ作成方法。
  6. API呼出しロジック部は、作成した前記アダプタ部実行ファイルを前記APIアダプタに登録する工程を有する
    ことを特徴とする請求項5に記載のAPIアダプタ作成方法。
  7. 複数の卸サービスを組み合わせた連携サービスを一括で構築する連携実行装置に用いられるAPIアダプタとしてのコンピュータを、
    前記連携サービスのオーダを単体オーダに分解する連携実行装置本体部から、前記単体オーダを受付け、かつ、前記連携実行装置本体部への応答処理を行うオーダ受付手段、
    卸サービス事業者APIの起動条件をもとに、決められた実行順序で前記卸サービス事業者APIを起動し、
    前記単体オーダ内から前記卸サービス事業者APIの実行に必要なパラメータを取り出し、卸サービス事業者API実行手段に送信するとともに、前記卸サービス事業者APIの実行結果を、前記連携実行装置本体部流通可能なデータ形式に変換するAPI呼出しロジック手段、
    前記API呼出しロジック手段から、前記卸サービス事業者APIの実行に必要なパラメータを受領し、リクエストの形に組み立て直して前記卸サービス事業者APIに要求するとともに、当該リクエストに対する実行結果としてのレスポンスを受信後、当該レスポンスを所定形式に組み立て直して前記API呼出しロジック手段に返却する前記卸サービス事業者API実行手段、として機能させるためのプログラム。
JP2018028324A 2018-02-20 2018-02-20 Apiアダプタ、apiアダプタ作成方法、およびプログラム Active JP6795531B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018028324A JP6795531B2 (ja) 2018-02-20 2018-02-20 Apiアダプタ、apiアダプタ作成方法、およびプログラム
US16/971,256 US10977102B2 (en) 2018-02-20 2019-02-19 API adapter, API adapter creation method, and program
PCT/JP2019/006171 WO2019163793A1 (ja) 2018-02-20 2019-02-19 Apiアダプタ、apiアダプタ作成方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018028324A JP6795531B2 (ja) 2018-02-20 2018-02-20 Apiアダプタ、apiアダプタ作成方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2019144848A JP2019144848A (ja) 2019-08-29
JP6795531B2 true JP6795531B2 (ja) 2020-12-02

Family

ID=67687800

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018028324A Active JP6795531B2 (ja) 2018-02-20 2018-02-20 Apiアダプタ、apiアダプタ作成方法、およびプログラム

Country Status (3)

Country Link
US (1) US10977102B2 (ja)
JP (1) JP6795531B2 (ja)
WO (1) WO2019163793A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7003867B2 (ja) * 2018-08-02 2022-01-21 日本電信電話株式会社 Apiアダプタ作成装置、apiアダプタ作成方法およびapiアダプタ作成プログラム
US11221896B2 (en) * 2020-01-22 2022-01-11 Idera, Inc. Systems and methods for API request conversion
US11507351B2 (en) * 2020-05-12 2022-11-22 Vmware, Inc. Intent compiler
JPWO2022215194A1 (ja) * 2021-04-07 2022-10-13
US11567738B2 (en) * 2021-04-15 2023-01-31 Red Hat, Inc. Code generator for creating a unified data model for multiple language specifications
US20230102570A1 (en) * 2021-09-28 2023-03-30 Arteris, Inc. System and method for scripting generators
US11989558B2 (en) * 2022-02-24 2024-05-21 Sap Se Automatic generation of a cloud integration adapter from a standard, programming language-agnostic interface specification
WO2023199414A1 (ja) * 2022-04-12 2023-10-19 日本電信電話株式会社 バーチャルヒューマン開発支援システム、バーチャルヒューマン開発支援方法及びバーチャルヒューマン開発支援プログラム
KR102528717B1 (ko) * 2022-10-07 2023-05-08 이데아텍(주) 보안 기능을 지원하는 api 통합 처리를 위한 게이트웨이 장치 및 이의 동작 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020128919A1 (en) * 2001-03-06 2002-09-12 Cedric-Gaya Rime Order processing system
JP2008134913A (ja) * 2006-11-29 2008-06-12 Nippon Telegr & Teleph Corp <Ntt> 複合サービス提供システムおよび方法
JP6169662B2 (ja) * 2015-09-11 2017-07-26 西日本電信電話株式会社 Api変換アダプタ、api変換システム、及びapi変換プログラム
US10331505B2 (en) * 2016-06-30 2019-06-25 Microsoft Technology Licensing, Llc. Application programming interface (API) hub
US11461843B2 (en) * 2019-05-23 2022-10-04 Capital One Services, Llc Multi-lender platform that securely stores proprietary information for pre-qualifying an applicant

Also Published As

Publication number Publication date
US20200387415A1 (en) 2020-12-10
JP2019144848A (ja) 2019-08-29
US10977102B2 (en) 2021-04-13
WO2019163793A1 (ja) 2019-08-29

Similar Documents

Publication Publication Date Title
JP6795531B2 (ja) Apiアダプタ、apiアダプタ作成方法、およびプログラム
US10331422B1 (en) System and method for generating API devlopment code for integrating platforms
US9311171B1 (en) Execution of end-to-end-processes across applications
JP5911262B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
US6961760B2 (en) Transforming data automatically between communications parties in a computing network
US8248992B2 (en) Method and apparatus for providing home network device service to an external device through web service
CN107040416B (zh) 一种基于Cairngorm框架的虚拟数据中心可视化管理方法
US9086935B2 (en) Accessing business object resources for a machine-to-machine communication environment
Nguyen et al. Ws2jade: Integrating web service with jade agents
US20060251125A1 (en) System and method for producing notification based web services
US20070118842A1 (en) DDS-assisted CORBA discovery
AU2023251465A1 (en) System and method for generating api development code for integrating platforms
CN102497451A (zh) 服务处理系统和服务处理方法
WO2018116933A1 (ja) Rpc変換処理システムおよびrpc変換方法
CA2543557C (en) System and method for producing notification based web services
CN113778499B (zh) 发布服务的方法、装置、设备和计算机可读介质
US20170353581A1 (en) Content based routing architecture system and method
JP5517255B2 (ja) 複数のサービスノードサーバにおけるサービス連結制御方法、制御ノードサーバ及びプログラム
US8700737B2 (en) Automated method for generating a web service composition
Marinho et al. Extending a software component repository to provide services
Baranda et al. Multi-Administrative Domain Service Onboarding in a ZSM-Based Orchestration Architecture
JP7332950B2 (ja) サービス連携支援装置、サービス連携支援方法、および、サービス連携支援プログラム
Chiponga et al. A version-based transformation proxy for service evolution
WO2006040991A1 (ja) 端末装置、サーバ装置、及びWebサービス提供システム
Lundblad Information Logistics Service Router. An ESB for integrating enterprise services

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201021

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: 20201110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201112

R150 Certificate of patent or registration of utility model

Ref document number: 6795531

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150