(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2021-518619(P2021-518619A)
(43)【公表日】2021年8月2日
(54)【発明の名称】コネクタ開発および統合チャネル展開のためのシステムおよび方法
(51)【国際特許分類】
G06F 8/30 20180101AFI20210705BHJP
G06F 8/60 20180101ALI20210705BHJP
G06Q 50/10 20120101ALI20210705BHJP
【FI】
G06F8/30
G06F8/60
G06Q50/10
【審査請求】有
【予備審査請求】未請求
【全頁数】24
(21)【出願番号】特願2020-563664(P2020-563664)
(86)(22)【出願日】2019年5月15日
(85)【翻訳文提出日】2020年12月13日
(86)【国際出願番号】US2019032427
(87)【国際公開番号】WO2019222357
(87)【国際公開日】20191121
(31)【優先権主張番号】15/980,487
(32)【優先日】2018年5月15日
(33)【優先権主張国】US
(81)【指定国】
AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
(71)【出願人】
【識別番号】518279875
【氏名又は名称】イングラム マイクロ インコーポレーテッド
(74)【代理人】
【識別番号】100138760
【弁理士】
【氏名又は名称】森 智香子
(72)【発明者】
【氏名】ドゥビンスキー,ヴィアチェスラフ
(72)【発明者】
【氏名】エルマコフ,アルチョム
(72)【発明者】
【氏名】ハキミャノフ,ティムール
(72)【発明者】
【氏名】ログヴィネンコ,アントン
(72)【発明者】
【氏名】ヴァグリン,イゴール
【テーマコード(参考)】
5B376
5L049
【Fターム(参考)】
5B376AB01
5B376BC31
5B376BC57
5B376BC71
5B376FA17
5L049CC11
(57)【要約】
独立系ソフトウェアベンダーISVは、クラウドアプリケーションを開発、サポート、実行および販売する。クラウドサービスブローカプラットフォーム(CSB)は、異なるISVからの統合クラウドアプリケーションの部分的自動配信を提供する。ISVソフトウェアの統合は、コネクタパッケージおよびコネクタバックエンドなどの特殊な統合構成要素を必要とする。そのような構成要素の開発は、時間がかかり、費用がかかることがある。本開示は、ウェブサービスの展開および構成を自動的に可能にすることによって、コネクタデベロッパがコネクタパッケージおよびコネクタバックエンドの開発のコストを低減できるようにするためのシステムおよび方法に関し、CSBによって作成されたアーキタイプからコネクタパッケージを生成する自動オーサリングツールを使用することで、スケーラビリティおよびすぐに使えるゼロダウンタイムアップグレードのサポートも可能にする。
【特許請求の範囲】
【請求項1】
デベロッパツールにおいて、コネクタパッケージの作成要求を受信することであって、前記デベロッパツールはクラウドサービスブローカプラットフォームに動作可能に接続されることと、
前記デベロッパツールにおいて、ベースコネクタパッケージを作成するためにアーキタイプコネクタパッケージのコピーを作成することと、
前記デベロッパツールにおいて、前記ソフトウェアサービスのためのビジネス論理コードをコンパイルして、前記ベースコネクタパッケージに少なくとも部分的に基づいて前記コネクタパッケージを生成することと、
前記デベロッパツールにおいて、リソースモデルスキーマを作成することであって、前記リソースモデルスキーマは、コネクタアーカイブ内にさらにパッケージ化されることと、
前記デベロッパツールにおいて、コネクタバックエンド展開ユニットを作成することであって、前記コネクタバックエンド展開ユニットは、サーバ画像内にさらに結合されることと、
前記デベロッパツールにおいて、コンテナオーケストレータパッケージを作成することであって、前記コンテナオーケストレータパッケージは、コンテナオーケストレータリソースのセットを含み、前記コンテナオーケストレータパッケージは次いで、パッケージリポジトリ内にプッシュされることと、
前記デベロッパツールにおいて、前記サーバ画像をサーバリポジトリにプッシュすることと、
前記デベロッパツールにおいて、前記サーバ画像、前記コネクタアーカイブからの前記リソースモデルスキーマ、およびコンテナオーケストレータパッケージをアセンブルして、アーカイブコネクタパッケージを作成することと、
前記アーカイブコネクタパッケージを前記クラウドサービスブローカプラットフォームに送達することとを含む、
クラウドサービスブローカ(CSB)プラットフォームを用いた、ソフトウェアサービスのコネクタ開発のための方法。
【請求項2】
ベースコネクタパッケージを作成することは、
アプリケーション名およびパーシスタンス条件を要求することと、
ライブラリ、ドライバおよびログアペンダからなるグループから選択された付加的な構成要素をダウンロードすることと、
コネクタパッケージソースを生成することと、
開発ディレクトリを作成することとをさらに含む、請求項1に記載の方法。
【請求項3】
前記コネクタパッケージをテストする前記ステップをさらに含む、請求項1に記載の方法。
【請求項4】
前記アーカイブコネクタパッケージは、ユーザインタフェースコード、リソースモデル、ナビゲーション記述および展開ディスクリプタの集合体をさらに含む、請求項1に記載の方法。
【請求項5】
前記サーバ画像は、複数の命令セットレイヤを含む、請求項1に記載の方法。
【請求項6】
前記複数の命令セットレイヤは、ベース画像を形成する、請求項5に記載の方法。
【請求項7】
前記複数の命令セットレイヤの最後のレイヤは、デベロッパレイヤを含む、請求項5に記載の方法。
【請求項8】
クラウドサービスブローカプラットフォームアプリケーションプログラミングインタフェース(API)を介して、前記クラウドサービスブローカプラットフォームにアーカイブコネクタパッケージをインストールすることと、
前記クラウドサービスブローカプラットフォームにおいて、コンテナオーケストレータパッケージを受信することと、
デベロッパツールにおいて、認証クレデンシャルを生成することであって、前記認証クレデンシャルは、展開ディスクリプタ内にさらに組み込まれることと、
前記コンテナオーケストレータパッケージから取得されたコネクタバックエンドを、コンテナオーケストレータを介して実行することと、
前記デベロッパツールにおいて、バックエンドのエンドポイント統一資源位置指定子(URL)を生成することと、
前記クラウドサービスブローカプラットフォームにおいて、前記エンドポイント統一資源位置指定子を登録することとを含む、
クラウドサービスブローカ(CSB)プラットフォームを用いた、ソフトウェアサービスの統合チャネル開発のための方法。
【請求項9】
パーシスタンス要件のためのチェックをさらに含む、請求項8に記載の方法。
【請求項10】
データベース接続が指定されて、前記データベース接続は、前記展開ディスクリプタ内にさらに書き込まれる、請求項9に記載の方法。
【請求項11】
クラウドサービスブローカプラットフォームに動作可能に接続されたデベロッパツールを備え、前記デベロッパツールは、
インフラストラクチャ構成要素ライブラリと、
複数のデベロッパツールモジュールとを備え、
前記クラウドサービスブローカプラットフォームは、クラウドサービスブローカコントローラをさらに備える、
クラウドサービスブローカ(CSB)プラットフォームを用いた、ソフトウェアサービスのコネクタ開発および統合チャネル開発のためのシステム。
【請求項12】
前記インフラストラクチャ構成要素ライブラリは、ログマネージャ、テスト、モニタリングマネージャ、認可マネージャ、ユーザインタフェース構成要素、データベースマネージャ、RESTアプリケーションサービスおよびデベロッパ構成要素プレースホルダからなるグループから選択された複数のライブラリを含む、請求項11に記載のシステム。
【請求項13】
複数のデベロッパツールモジュールは、構成要素クリエータ、アーカイバ、コンパイラ、リソースモデルスキーマビルダー、統合チャネルビルダー、構成要素ビルダー、インタフェース、コネクタアセンブラ、画像ビルダーおよびコンテナオーケストレータパッケージビルダーからなるグループから選択される、請求項11に記載のシステム。
【請求項14】
前記デベロッパツールは、
コネクタパッケージの作成を要求し、
ベースコネクタパッケージを作成するためにアーキタイプコネクタパッケージのコピーを作成し、
前記ソフトウェアサービスのためのビジネス論理コードをコンパイルして、前記ベースコネクタパッケージに少なくとも部分的に基づいて前記コネクタパッケージを生成し、
リソースモデルスキーマを作成し、前記リソースモデルスキーマは、コネクタアーカイブ内にさらにパッケージ化され、
コネクタバックエンド展開ユニットを作成し、前記コネクタバックエンド展開ユニットは、サーバ画像内にさらに結合され、
コンテナオーケストレータパッケージを作成し、前記コンテナオーケストレータパッケージは、コンテナオーケストレータリソースのセットを含み、前記コンテナオーケストレータパッケージは次いで、パッケージリポジトリ内にプッシュされ、
前記サーバ画像をサーバリポジトリにプッシュし、
前記コネクタアーカイブからの前記リソースモデルスキーマ、およびコンテナオーケストレータパッケージをアセンブルして、アーカイブコネクタパッケージを作成し、
前記アーカイブコネクタパッケージを前記クラウドサービスブローカプラットフォームに送達するように構成される、請求項11に記載のシステム。
【請求項15】
前記デベロッパツールは、ベースコネクタパッケージを作成するようにさらに構成される、請求項14に記載のシステム。
【請求項16】
前記デベロッパツールは、
前記クラウドサービスブローカプラットフォームアプリケーションプログラミングインタフェース(API)を介して、前記クラウドサービスブローカプラットフォームにアーカイブコネクタパッケージをインストールし、
認証クレデンシャルを生成し、前記認証クレデンシャルは、展開ディスクリプタ内にさらに組み込まれ、
前記コンテナオーケストレータパッケージから取得されたコネクタバックエンドを、コンテナオーケストレータを介して実行し、
バックエンドのエンドポイント統一資源位置指定子(URL)を生成し、
前記クラウドサービスブローカプラットフォームにおいて、前記エンドポイント統一資源位置指定子を登録するように構成される、請求項11に記載のシステム。
【請求項17】
パーシスタンスをサポートするように構成されたデータベースをさらに備える、請求項16に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2018年5月15日に出願された米国特許出願第15/980,487号の優先権の利益を主張する国際特許出願であり、その本文および図面はその全体が参照として本明細書に組み込まれる。
【0002】
本開示は、開発のシステムおよび方法に、より詳細には、コネクタ開発および統合チャネル展開のためのシステムおよび方法に関する。
【背景技術】
【0003】
現在、多くの独立系ソフトウェアベンダー(ISV)が、オンラインサービスプラットフォームを介して自身のソフトウェアを提供する。このようなソフトウェアアズアサービス(SaaS)ベンダーにより、SaaS登録者/エンドユーザは、SaaSプロバイダによってホストされるソフトウェアサービスを取得して使用することができる。ISVは、クラウドSaaSオファリングを開発、サポート、実行および販売する。例えば、Dropbox(登録商標)およびOffice365(登録商標)は、ISVによるSaaSオファリングの一般的な例である。
【0004】
いくつかの実施形態においては、ISVは、クラウドサービスブローカ(CSB)プラットフォームを介して自身のソフトウェアを提供する。CSBは、異なるISVから再販売業者および最終顧客への統合クラウドアプリケーションの部分的自動配信を提供する。CSBプラットフォームにより、顧客は、統合ユーザインタフェース(UI)を介して、1つの場所において異なるISVからの統合クラウドアプリケーションを獲得して構成することが可能になる。
【0005】
CSBへのそのような統合を可能にするために、ISVは通常、コネクタパッケージおよびコネクタバックエンドと呼ばれる特殊な統合構成要素を準備する。コネクタバックエンドは、CSBプラットフォームから受信した制御方法によってアプリケーションプログラミングインタフェース(API)コールをそれぞれのISVクラウドアプリケーションに特有のAPIコールに変換するために使用される。いくつかの実施形態においては、このような統合構成要素は、CSBからの要求の処理を担うウェブサービスとして表される。
【0006】
一実施形態においては、コネクタパッケージは通常、アーカイブファイルという形態をとり、このアーカイブフィルはメタデータ、制御方法記述およびコンテンツファイルを含み、これらは、SaaSアプリケーションリソース、サービス、ユーザインタフェース構成要素を宣言して定義するために使用するとともに、リソースを管理するために必要な制御方法の論理を使用する。
【0007】
コネクタおよびコネクタバックエンドの開発は、いくつかの構成要素およびアクティビティからなる複雑なプロセスとされ得るが、例えば、ISVのアプリケーションリソースを設計して、CSBメタ記述用語を定義することと、リソースの作成、変更、削除、リンク付け、リンク解除およびカスタム動作のCSB要求を処理するためにビジネス論理を実施することと、自動バックエンドユニットおよび統合テストを作成することと、UIアプリケーション画面を作成して、これらをCSBの事前定義されたプレースホルダに埋め込むことと、ISVのコネクタパッケージをパッケージ化することと、コネクタバックエンドを展開して構成して、妥当性確認のためにCSBからコネクタバックエンドにアクセス可能にすることと、販売、アップセル、キャンセルおよび終了、および同様のものなどのすべてのシナリオをチェックすることとを含む。
【0008】
さらに、任意の新しい統合構成要素を加えると、ISVは、現在のSaaSオファリングを販売するための能力、および顧客が自身のSaaS購入をオンラインで管理するための能力をサポートするためにコネクタバックエンドを保持する必要があるだろう。ISVは、販売機会を確実に最大化するために、任意のコネクタバックエンドサービスのダウンタイムを回避したい。
【0009】
現行のコネクタおよびコネクタバックエンドの開発は、時間がかかり、費用がかかり、ダウンタイムを生じやすい。したがって、コネクタデベロッパ(例えば、ISV)がコネクタパッケージおよびコネクタバックエンドの開発のコストを低減できるようにし、SaaS統合をサポートするウェブサービスの展開および構成を自動的に可能にし、スケーラビリティおよびゼロダウンタイムアップグレードをさらに可能にする、コネクタ開発および統合チャネル展開のための改善されたシステムおよび方法に対する必要性が存在する。
【発明の概要】
【課題を解決するための手段】
【0010】
本開示は、クラウドサービスブローカ(CSB)プラットフォームを用いた、ソフトウェアサービスのコネクタ開発のための方法に関し、この方法は、コネクタパッケージの作成要求を受信することを含み、デベロッパツールはCSBプラットフォームに動作可能に接続され、ベースコネクタパッケージを作成するためにアーキタイプコネクタパッケージのコピーを作成することと、ソフトウェアサービスのためのビジネス論理コードをコンパイルして、ベースコネクタパッケージに少なくとも部分的に基づいてコネクタパッケージを生成することと、リソースモデルスキーマを作成することとを含み、リソースモデルスキーマは、コネクタアーカイブ内にさらにパッケージ化され、コネクタバックエンド展開ユニットを作成することを含み、コネクタバックエンド展開ユニットは、サーバ画像内にさらに結合され、コンテナオーケストレータパッケージを作成することを含み、コンテナオーケストレータパッケージは、コンテナオーケストレータリソースのセットを含み、コンテナオーケストレータパッケージは次いで、パッケージリポジトリ内にプッシュされることを含み、サーバ画像をサーバリポジトリにプッシュすることと、サーバ画像、コネクタアーカイブからのリソースモデルスキーマ、およびコンテナオーケストレータパッケージをアセンブルして、アーカイブコネクタパッケージを作成することと、アーカイブコネクタパッケージをCSBプラットフォームに送達することとを含む。
【0011】
本開示の少なくとも1つの実施形態においては、ベースコネクタパッケージを作成することは、アプリケーション名およびパーシスタンス条件を要求することと、ライブラリ、ドライバおよびログアペンダからなるグループから選択された付加的な構成要素をダウンロードすることと、コネクタパッケージソースを生成することと、開発ディレクトリを作成することとをさらに含む。
【0012】
本開示の少なくとも1つの実施形態においては、アーカイブコネクタパッケージは、ユーザインタフェースコード、リソースモデル、ナビゲーション記述および展開ディスクリプタの集合体をさらに含む。
【0013】
本開示の少なくとも1つの実施形態においては、クラウドサービスブローカ(CSB)プラットフォームを用いた、ソフトウェアサービスの統合チャネル開発のための方法は、CSBプラットフォームアプリケーションプログラミングインタフェース(API)を介して、CSBプラットフォームにアーカイブコネクタパッケージをインストールすることと、コンテナオーケストレータパッケージを受信することと、認証クレデンシャルを生成することとを含み、認証クレデンシャルは、展開ディスクリプタ内にさらに組み込まれ、コンテナオーケストレータパッケージから取得されたコネクタバックエンドを実行することと、バックエンドのエンドポイント統一資源位置指定子(URL)を生成することと、CSBプラットフォームにおいて、エンドポイントURLを登録することとを含む。
【0014】
本開示の少なくとも1つの実施形態においては、クラウドサービスブローカ(CSB)プラットフォームを用いた、ソフトウェアサービスのコネクタ開発および統合チャネル開発のためのシステムが提供され、このシステムは、CSBプラットフォームに動作可能に接続されたデベロッパツールを含み、デベロッパツールは、インフラストラクチャ構成要素ライブラリと、複数のデベロッパツールモジュールとを備え、CSBプラットフォームは、CSBコントローラをさらに備える。
【0015】
本開示の少なくとも1つの実施形態においては、システムは、ログマネージャ、テスト、モニタリングマネージャ、認可マネージャ、ユーザインタフェース構成要素、データベースマネージャ、RESTアプリケーションサービスおよびデベロッパ構成要素プレースホルダからなるグループから選択された複数のライブラリをさらに含む。
【0016】
本開示の少なくとも1つの実施形態においては、デベロッパツールモジュールは、構成要素クリエータ、アーカイバ、コンパイラ、リソースモデルスキーマビルダー、統合チャネルビルダー、構成要素ビルダー、インタフェース、コネクタアセンブラ、画像ビルダーおよびコンテナオーケストレータパッケージビルダーからなるグループから選択される。
【0017】
本開示の少なくとも1つの実施形態においては、システム、さらにデベロッパツールは、コネクタパッケージの作成を要求し、ベースコネクタパッケージを作成するためにアーキタイプコネクタパッケージのコピーを作成し、ソフトウェアサービスのためのビジネス論理コードをコンパイルして、ベースコネクタパッケージに少なくとも部分的に基づいてコネクタパッケージを生成し、リソースモデルスキーマを作成し、リソースモデルスキーマは、コネクタアーカイブ内にさらにパッケージ化され、コネクタバックエンド展開ユニットを作成し、コネクタバックエンド展開ユニットは、サーバ画像内にさらに結合され、コンテナオーケストレータパッケージを作成し、コンテナオーケストレータパッケージは、コンテナオーケストレータリソースのセットを含み、コンテナオーケストレータパッケージは次いで、パッケージリポジトリ内にプッシュされ、サーバ画像をサーバリポジトリにプッシュし、コネクタアーカイブからのリソースモデルスキーマ、およびコンテナオーケストレータパッケージをアセンブルして、アーカイブコネクタパッケージを作成し、アーカイブコネクタパッケージをCSBプラットフォームに送達するように構成される。
【図面の簡単な説明】
【0018】
【
図1】本開示の少なくとも1つの実施形態による、システムコネクタ開発および統合チャネル展開の概略図である。
【0019】
【
図2】本開示の少なくとも1つの実施形態による、デベロッパツールの概略図である。
【0020】
【
図3】本開示の少なくとも1つの実施形態による、コネクタ開発および統合チャネル展開のための方法のフローチャートである。
【0021】
【
図4】本開示の少なくとも1つの実施形態による、コネクタ開発および統合チャネル展開のための方法のフローチャートである。
【0022】
【
図5】本開示の少なくとも1つの実施形態による、コネクタ開発および統合チャネル展開のための方法のフローチャートである。
【0023】
【
図6】本開示の少なくとも1つの実施形態による、コネクタ開発および統合チャネル展開のための方法のフローチャートである。
【0024】
【
図7】本開示の少なくとも1つの実施形態による、コネクタ開発および統合チャネル展開のためのシステムの構成要素を示す図である。
【発明を実施するための形態】
【0025】
ここで本開示の好ましい実施形態を詳細に参照して、これらの実施例が添付図面に図示される。本開示の付加的な特徴および利点は、以下の説明に記載されており、説明から明らかにされ得るかまたは本開示の実践によって学ばれ得る。上記の一般的な説明および以下の詳細な説明は例示および解説であり、本開示のさらなる説明を請求通りに提供することを意図することは理解されたい。
【0026】
ここで
図1を参照すると、本開示の少なくとも1つの実施形態による、コネクタ開発および統合チャネル展開のためのシステム100が示される。システム100は、クラウドサービスブローカ(CSB)デバイス102、CSBコントローラ104、コネクタパッケージカタログ106、デベロッパツール108、コネクタバックエンドハブ110、独立系ソフトウェアベンダー(ISV)デバイス112およびISVデベロッパデバイス114を含む。
【0027】
本開示の少なくとも1つの実施形態においては、CSBデバイス102は、CSBコントローラ104およびコネクタパッケージカタログ106を含む。CSBコントローラ104およびコネクタパッケージカタログ106は、CSBデバイス102内の構成要素として示されているが、CSBコントローラ104およびコネクタパッケージカタログ106は別個とされ得ること、および遠隔に配置されてCSBデバイス102に動作可能に接続され得ることが、本開示の範囲内に十分に含まれる。本開示の少なくとも1つの実施形態においては、CSBコントローラ104は、コネクタパッケージカタログ106から取得されるパッケージに適応されたリソースを作成するように構成される。例として、デベロッパツール(本明細書にさらに開示)は、パッケージをコネクタパッケージカタログ106にアップロードするように構成され得るが、CSBコントローラ104は、パッケージカタログから取得された情報を用いて、パッケージに適用可能なリソース(すなわち、ソフトウェア)をプロビジョニングする。
【0028】
本開示の少なくとも1つの実施形態においては、コネクタバックエンドハブ110は、Kubernetes、Docker swarm、および同様のものなどの少なくとも1つのコンテナオーケストレータソリューション110Aを含む。コネクタバックエンドハブ110は、当業者には周知のように多くのおよび本明細書にさらに開示するようなコンテナオーケストレータソリューション110を含み得ることが理解されるであろう。本開示の少なくとも1つの実施形態においては、コンテナオーケストレータソリューション110Aは、ホストのクラスタにわたってアプリケーションコンテナの自動展開、スケーリング、および動作を可能にするように構成される。例として、特定のソフトウェアサービスは、(単一サーバ/ホストの容量を超える)予想される使用負荷をサポートするために、複数のサーバ(すなわち、ホスト)にわたって展開されることが望まれ得る。この例を続けると、コンテナオーケストレータソリューション110Aは、このようなソフトウェアの展開をホスト/サーバのクラスタにわたるアプリケーションコンテナを介して可能にするように構成される。本開示の少なくとも1つの実施形態においては、コンテナオーケストレータソリューション110Aは、1つの非限定な例として、APIを介してCSBデバイス102およびISVデバイス112に動作可能に接続される。コンテナオーケストレータソリューション110Aは、インフラストラクチャアズアサービス(IaaS)ソリューションとして構成され得ることが理解されるであろう。本開示の少なくとも1つの実施形態においては、コンテナオーケストレータソリューション110Aは、CSBデバイス102によってアクセス可能な複数のAPIを保持するように構成され、CSBデバイス102は、コネクタバックエンドを構成するためにそのようなAPIを使用し得る。システム100は、複数のコンテナオーケストレータソリューションを含み得るが、複数のコンテナオーケストレータソリューションの各々は、異なる目的のために、例えば、テスト、または製造サポート目的のために構成されることがさらに理解されるであろう。
【0029】
本開示の少なくとも1つの実施形態においては、システム100は、複数のISVデバイス112を含み得る。システム100は、CSBプラットフォーム(すなわち、CSBデバイス102)を介してSaaSオファリングを提供するであろうISVが存在するのと同数のISVデバイス112を含み得ることは、本開示の範囲内に十分に含まれる。
【0030】
ここで
図2を参照すると、本開示の少なくとも1つの実施形態による、デベロッパツール108の構成要素が示され、概して200に示す。本開示の少なくとも1つの実施形態においては、デベロッパツール108は、インフラストラクチャ構成要素ライブラリ202、構成要素クリエータ220、アーカイバ222、コンパイラ224、リソースモデルスキーマビルダー226、統合チャネルビルダー228、構成要素ビルダー230、インタフェース232、コネクタアセンブラ234、画像ビルダー236、コンテナオーケストレータパッケージビルダー240およびコンテナオーケストレータマネージャ242を含む。
【0031】
本開示の少なくとも1つの実施形態においては、リソースモデルスキーマビルダー226は、特殊なアノテーション付きJavaファイルをコネクタパッケージリソーススキーマに変換するように構成される。リソースモデルスキーマビルダー226は、例えば、APSType、APSStructure、および同様のものなどの特殊なアノテーションを読み出すように構成され、アノテーション付きフィールドをリソーススキーマのフィールドに変換する。リソースモデルスキーマビルダー226は、CSBデバイス102内のリソースにより利用可能な動作のリストおよびJSONフォーマットの使用データ型を含むことが理解されるであろう。
【0032】
本開示の少なくとも1つの実施形態においては、構成要素ビルダー230は、例えば、Mavenセントラルリポジトリなどの複数のリポジトリからJavaライブラリを動的にダウンロードするように構成され、これらをローカルキャッシュ内に記憶する。構成要素ビルダー230は、例えば、ウェブアーカイブ、Zip(登録商標)アーカイブおよび同様のものなどの任意の構築されたアーチファクトをローカルキャッシュ内に記憶するようにさらに構成される。構成要素ビルダー230は、ローカルキャッシュ内にアーチファクトを見出せない場合は、複数のリポジトリからこれらをダウンロードするように構成されることが理解されるであろう。
【0033】
本開示の少なくとも1つの実施形態においては、インタフェース232は、デベロッパ指定の必須プロパティを、コマンドラインを介してインタラクティブモードまたは非インタラクティブモードで作成するように構成される。
【0034】
本開示の少なくとも1つの実施形態においては、画像ビルダー236は、本明細書にさらに開示するように、構築された展開ユニット(ステップ412)に基づいてDocker(登録商標)画像を作成するように構成される。Docker(登録商標)画像は、基本的にはコンテナのスナップショットである不活性でイミュータブルなファイルであることが理解されるであろう。コンテナは、Docker(登録商標)画像のインスタンスであり、ランタイムオブジェクトであることがさらに理解されるであろう。
【0035】
本開示の少なくとも1つの実施形態においては、インフラストラクチャ構成要素ライブラリ202は、ログマネージャライブラリ204、テストライブラリ206、モニタリングマネージャライブラリ208、認可マネージャライブラリ210、ユーザインタフェース(UI)構成要素ライブラリ212、データベースマネージャライブラリ214、RESTアプリケーションサービスライブラリ216および開発構成要素プレースホルダライブラリ218を含む、複数の事前定義されたコネクタパッケージライブラリをさらに含む。
【0036】
本開示の少なくとも1つの実施形態においては、ログマネージャライブラリ204は、統合ロギング機構を使用するコネクタバックエンドとの統合のためのロギングライブラリを含む。統合ロギングは、保守コストを低減することが理解されるであろう。本開示の少なくとも1つの実施形態においては、ログマネージャ204は、当業者には周知のように、コネクタバックエンド(コネクタバックエンドが記録するように構成されていれば)のすべての標準出力を記録するように構成されたロギングサブシステムを含む。ログマネージャ204は、そのようなロギングに適用可能なトレースレベルで記録されるすべての着信HTTPおよび発信API要求を記録するように構成され得ることが理解されるであろう。
【0037】
本開示の少なくとも1つの実施形態においては、デベロッパツール202は、埋め込みロガーを構成するように動作可能であり、中央ロギングシステムにおいて起点特定のために用いられるコネクタパッケージ名と同じであり得る一意の名前をセットアップすることと、トレースニーズのためにすべての着信および発信要求のログを生成することと、着信するマルチサービスコール要求から相関および生成情報を抽出することと、日付、相関識別子、スレッド識別子、一意の名前、ロガー名およびログメッセージを含む統合ログラインフォーマットをセットアップすることと、非同期標準出力ロギングアペンダをセットアップすることとを含む。統合ログファイルフォーマットは、好ましい性能を可能にすることが理解されるであろう。非同期標準化出力ロギングが、中央ロギングシステムにおいて容易な検索を可能にすることがさらに理解されるであろう。
【0038】
本開示の少なくとも1つの実施形態においては、テストライブラリ206は、例えば、当業者には周知のように、ユニットテストおよび統合テストなどの様々なテストを構築して実行するように構成される。
【0039】
本開示の少なくとも1つの実施形態においては、モニタリングマネージャライブラリ208は、例えば、ハイパーテキストトランスファプロトコル(HTTP)要求、構造化問い合わせ言語(SQL)要求、平均応答時間、最大応答時間、最小応答時間、アクティブセッション、並列要求数および同様のものなどの健全性および性能メトリックモニタリングのためのライブラリを含む。モニタリングマネージャライブラリ208は、Java Management Extensions(JMX)を介して収集されたメトリックを追跡するようにさらに構成され、リソースは、当業者には周知のように、Managed Beans(MBeans)と呼ばれるオブジェクトによって表現されることが理解されるであろう。モニタリングマネージャライブラリ208は、動的にロードされてインスタンス化可能なAPIおよびクラスを含み、例えば、Zabbixなどの外部(クラスタ外部で実行される)モニタリングシステムのための能力を与えることが理解されるであろう。
【0040】
本開示の少なくとも1つの実施形態においては、認証マネージャライブラリ210は、OAuth 1.0プロトコルおよび同様のものを含む認可プロトコルライブラリを提供するように構成されるが、これに限定されない。OAuthクレデンシャル(鍵および秘密)が、当業者には周知のように、環境変数を介してコネクタバックエンドハブ110に提供されることが理解されるであろう。
【0041】
本開示の少なくとも1つの実施形態においては、UI構成要素ライブラリ212は、CSBプラットフォーム(例えば、CSBデバイス102)に動作可能に接続できるコネクタパッケージを作成するように構成された埋め込みUI構成要素を提供するように構成される。コネクタに特有のUI構成要素を作成するために、Javaデベロッパフレームワークが使用され得ることが理解されるであろう。
【0042】
本開示の少なくとも1つの実施形態においては、データベースマネージャライブラリ214は、任意のサードパーティデータベースを含むデータベースとの接続を確立するための構成要素を提供するように構成される。例えば、コネクタパッケージデベロッパは、データを記憶するために、CSBプラットフォームによって提供されるデータベースではなく自身のデータベースを使用するほうを好み得る。本開示の少なくとも1つの実施形態においては、データベースマネージャライブラリは、コネクタバックエンドハブ110の構成要素であり得る。データベースマネージャライブラリ214は、クレデンシャルに基づいてデータベースへの接続を提供することができ、コネクタバックエンド110に環境変数を提供することが理解されるであろう。
【0043】
本開示の少なくとも1つの実施形態においては、RESTアプリケーションサービスライブラリ216は、RESTサービス構成要素を提供するように構成され、ソフトウェアインスタンス、作成、更新、削除および同様のものの要求で動作するように構成される。
【0044】
本開示の少なくとも1つの実施形態においては、デベロッパ構成要素プレースホルダライブラリ218は、本明細書にさらに開示するように、コネクタデベロッパのビジネスコードのためのプレースホルダライブラリを提供するように構成される。
【0045】
本開示の少なくとも1つの実施形態においては、デベロッパツール108は、「開発」モードで動作するように構成される。デベロッパツール108は、CSBプラットフォームデベロッパ(図示せず)によって作成されたアーキタイプから新しいコネクタパッケージを生成するように構成される。本開示の少なくとも1つの実施形態においては、新しいコネクタパッケージ名が指定されて、データベースが必要かどうかが選択される(本明細書にさらに開示するように)。アーキタイプは、同じ種類のすべての他のコピーが作成される元のパターンまたはモデルとして定義され、開発のアーキタイプパターンに従うが、これは、当業者には周知であり、本明細書にさらに開示される。
【0046】
本開示の少なくとも1つの実施形態においては、コネクタパッケージは、リソースを管理するために必要な(SaaS)アプリケーションリソース、サービス、ユーザインタフェース構成要素および制御方法の論理を宣言して定義するために使用されるメタデータ、制御方法記述およびコンテンツファイルを一般的に含む、アーカイブファイルという形態である。コネクタパッケージは、ISVのアプリケーションリソースを定義するために使用される宣言型ファイルと、「コネクタフロントエンド」(すなわち、CSBの顧客が(クライアント側で)CSBインタフェース内にみるウェブインタフェース)とからなることが理解されるであろう。このウェブインタフェースは、ウィジェット、事前定義されたページ構造、ナビゲーション方法および画面挿入機構、および同様のものを含み得る特殊なフレームワークを使用してコネクタパッケージデベロッパによって開発されることがさらに理解されるであろう。本開示の少なくとも1つの実施形態においては、コネクタフロントエンドは、事前定義されたビューに挿入された画面、ウィジェットをレンダリングするためのカスタム論理およびカスタムナビゲーション構造からなる。例として、ウィジェットは、対応するSaaSオファリングの顧客にとって価値があるとコネクタデベロッパがみなす情報を表示し得る(例えば、使用量報告、サブスクリプションおよびサービス情報、命令など)。
【0047】
本開示の少なくとも1つの実施形態においては、コネクタバックエンドは、CSB REST APIを解釈して、それらをISVのサービスAPI要求に変換して、サービス、テナントを作成して、サービスをユーザに割り当てて、相互間のサービスをリンクするように構成されたウェブサービスである。CSB REST APIは、幅広い統合および機能性オプションを提供して、販売、アップセル、キャンセルおよび同様のもののような、クラウドサービスに適用可能なほとんどのシナリオの実施を可能にすることが理解されるであろう。本開示の少なくとも1つの実施形態においては、すべてのCSB動作は、アプリケーションサービスリソースの作成、更新および削除、並びにこれらのリソース間のリンクの作成に関連して定義される。標準アクションが適していないいくつかのリソースに対しては、カスタム動作としていくつかのアクションを実施可能であることが理解されるであろう。コネクタバックエンドパッケージは、ISVのソフトウェアデベロッパによって、当業者には周知の様々なプログラミング言語を用いて開発することができ、または任意のサービスモデル(例えば、SaaS、Function as a service(FaaS))によって提供することができ、またはプラットフォームアズアサービス(PaaS)またはインフラストラクチャアズアサービス(IaaS)モデル内で展開することができることがさらに理解されるであろう。
【0048】
ここで
図3を参照すると、本開示の少なくとも1つの実施形態による、コネクタ開発および統合チャネル開発のための方法300が示される。方法300は、ステップ302において、要求をチェックすること、ステップ304において、コネクタパッケージのコピーを作成すること、ステップ314において、統合コマンドをチェックすること、およびステップ316において、バックエンド構築を開始することを含む。
【0049】
本開示の少なくとも1つの実施形態においては、ステップ304は、ステップ306においてアプリケーション名をおよびデータベースが必要かどうかを要求することをさらに含む。本開示の少なくとも1つの実施形態においては、インタフェース232は、アプリケーション名要求、およびデータベースが必要かどうかについての情報を受信するように構成される。
【0050】
本開示の少なくとも1つの実施形態においては、ステップ304は、ステップ308においてライブラリをダウンロードすることをさらに含む。本開示の少なくとも1つの実施形態においては、構成要素ビルダー230は、例えば、Mavenセントラルリポジトリなどの複数のリポジトリからライブラリ、ドライバ、ログアペンダおよび同様のものをダウンロードように構成され、このようなアイテムをローカルキャッシュ内に記憶する。
【0051】
本開示の少なくとも1つの実施形態においては、ステップ304は、ステップ310においてコネクタパッケージソースを生成することをさらに含む。本開示の少なくとも1つの実施形態においては、構成要素クリエータ220は、ファイルシステム内で新しいコネクタパッケージを作成するように構成され、構成要素ビルダー230は、構成要素クリエータ220によって生成されたファイルソースから新しいコネクタパッケージを構築するように構成される。
【0052】
本開示の少なくとも1つの実施形態においては、方法300は、ステップ314に進み、統合チャネル構築信号が受信されるかチェックする。この信号が受信されていなければ、方法300は待機する。受信されていれば、方法300はステップ316に進む。
【0053】
本開示の少なくとも1つの実施形態においては、ステップ316は、(
図4を介して本明細書にさらに開示するような)バックエンド構築プロセスを開始することを含む。
【0054】
ここで
図4を参照すると、本開示の少なくとも1つの実施形態による、コネクタバックエンドを構築するための方法が示され、概して400に示す。方法400は、ステップ402から始まり、コネクタバックエンド構築コマンドが受信されたか確認するためにチェックが実行される。そのコマンドが受信されなければ、方法400は待機し、受信されれば、方法400はステップ404に進む。
【0055】
本開示の少なくとも1つの実施形態においては、ステップ404において、ビジネスコードがコンパイルされて、コネクタパッケージが生成される。本開示の少なくとも1つの実施形態においては、コネクタデベロッパがバックエンドの構築を完了した後、デベロッパツール102は、(任意のビジネスコードを含む)新しいコネクタパッケージのソースコードを自動的にコンパイルして、新しいコネクタパッケージをテストするように構成される。
【0056】
方法400は次に、ステップ406に進み、ステップ404で生成されたコードのテストが行われる。テストは、ユニットおよび統合テストを含むことができることが理解されるであろう。本開示の少なくとも1つの実施形態においては、コンパイラ224が、ステップ404および406のアクティビティを実行するように構成される。本開示の少なくとも1つの実施形態においては、コンパイラ224は、ソースファイル(例えば、Javaソースファイル)からバイトコードを作成する。
【0057】
本開示の少なくとも1つの実施形態においては、デベロッパツール102は、ステップ408において、リソースモデルスキーマビルダー226を使用して、リソースモデルスキーマを生成して、これをアーカイブに圧縮するようにさらに構成される。リソースモデルスキーマは、コネクタデベロッパによって記述されたビジネスコードのJavaクラスから生成されることが理解されるであろう。
【0058】
本開示の少なくとも1つの実施形態においては、ステップ410において、コネクタバックエンド展開ユニットが作成される。本開示の少なくとも1つの実施形態においては、アーカイバ222が、コネクタバックエンド展開ユニットを作成するように構成され、コネクタパッケージのソースおよびコンパイル済みファイルからアーカイブ(例えば、Zip(登録商標)ファイル)を作成するようにさらに構成される。
【0059】
本開示の少なくとも1つの実施形態においては、ステップ412において、コネクタバックエンド展開ユニットは、画像ビルダー236を介してアプリケーションサービス画像内に含められる。本開示の少なくとも1つの実施形態においては、新しいコネクタバックエンドのための画像(例えば、Docker画像)が、アーキタイプ内の事前定義されたルールによって構築される。画像は、一連のレイヤから構築されて、各レイヤは、単一命令を表す。例えば、
図7を参照すると、本開示の少なくとも1つの実施形態による、アーキタイプ内のレイヤの例示的な実施形態が示される。最後のレイヤ以外の各レイヤ(例えば、レイヤ702−722)は、読み出し専用である。各レイヤは、自身の前のレイヤからの単なる差分セットである。レイヤは、相互の上に積み重ねられる。ベース画像(すなわち、レイヤ702−722は、アーキタイプに基づく)は、CSBプラットフォームデベロッパによって(コネクタデベロッパによってではなく)提供されることが理解されるであろう。
【0060】
本開示の少なくとも1つの実施形態においては、ステップ414において、コンテナオーケストレータパッケージビルダー240を介してコンテナオーケストレータパッケージが作成される。コンテナオーケストレータパッケージ(例えば、Kubernetes用のHelmチャート)を作成するために、複数のサードパーティソフトウェア機構が使用可能であり、パッケージはコンテナオーケストレータリソースの関連セットを記述し、これをパッケージリポジトリ(例えば、GitHubリポジトリ)内にプッシュすることが理解されるであろう。本開示の少なくとも1つの実施形態においては、パッケージは、特定のディレクトリツリー内に配置されて、展開されるべきバージョニングされたアーカイブに圧縮されるファイルとして作成される。
【0061】
本開示の少なくとも1つの実施形態においては、ステップ416において、コネクタバックエンド画像は、画像ビルダー236を介してサーバリポジトリ(例えば、CSBデバイス102のデベロッパのリポジトリ)内にプッシュされる。本開示の少なくとも1つの実施形態においては、ステップ414で作成された画像は、CSB画像リポジトリ(Dockerレジストリ)にプッシュされる。レジストリは、Docker画像を記憶して配布を可能にする、ステートフルで高度にスケーラブルなサーバサイドアプリケーションであることが理解されるであろう。
【0062】
方法400は、ステップ418で終了し、コネクタパッケージがアーカイブ(例えば、Zip(登録商標))にアセンブルされる。
【0063】
ここで
図5を参照すると、本開示の少なくとも1つの実施形態による、コネクタパッケージをアセンブルするための方法500が示される。本開示の少なくとも1つの実施形態においては、ステップ501において、デベロッパツールデバイス108は、コネクタパッケージをアセンブルするためのコマンドが受信されるかチェックするように構成される。コマンドが受信されていなければ、方法500は待機するが、受信されていれば、方法500はステップ503に進む。
【0064】
本開示の少なくとも1つの実施形態においては、ステップ503において、リソースモデルスキーマが、コネクタアセンブラ234を介して解凍される。
【0065】
本開示の少なくとも1つの実施形態においては、ステップ505において、コネクタアセンブラ234を用いてUIコードがアセンブルされる。本開示の少なくとも1つの実施形態においては、リソースモデルスキーマ、ナビゲーション記述およびコンテナオーケストレータパッケージがさらにアセンブルされる。コンテナオーケストレータパッケージは、コンテナオーケストレータへの自身の展開のために必要な情報を含み、限定ではないが、画像名、バージョン、必要な構成要素とそのバージョン、環境変数、ポートマッピングおよび同様のものを含むことが理解されるであろう。
【0066】
本開示の少なくとも1つの実施形態においては、ステップ507において、コネクタパッケージは、アーカイバ222を用いてアーカイブされて、コネクタパッケージカタログ106に送達される。
【0067】
ここで
図6を参照すると、本開示の少なくとも1つの実施形態による、チャネルを構築するための方法600が示される。本開示の少なくとも1つの実施形態においては、統合チャネルビルダー228は、本明細書にさらに開示するように、方法600のステップを実行するように構成される。
【0068】
本開示の少なくとも1つの実施形態においては、方法600は、ステップ601において、統合チャネルを設定するためのコマンドが(例えば、インタフェース232を介して)受信されるか確認するためにチェックを実行するように構成される。コマンドが受信されなければ、方法は待機し、受信されれば、方法はステップ603に進む。
【0069】
本開示の少なくとも1つの実施形態においては、ステップ603において、デベロッパツール108は、CSBが提供するAPIを介して、コネクタパッケージをCSBデバイス102にインストールするように構成される。
【0070】
本開示の少なくとも1つの実施形態においては、ステップ605において、デベロッパツール108は、コネクタパッケージからコンテナオーケストレータパッケージを受信するように構成される。
【0071】
本開示の少なくとも1つの実施形態においては、ステップ607において、デベロッパツール108は、認可クレデンシャルを生成するように構成される。本開示の少なくとも1つの実施形態においては、デベロッパツール108は、コンテナオーケストレータパッケージから受信した情報に基づいて、既存の環境認証データを無効にするようにさらに構成される。
【0072】
方法600は次に、ステップ609に進み、コネクタパッケージがパーシスタンス(すなわち、ステートフル性を保証するためのデータベースの使用)を必要とするか確認するためにチェックが実行される。コネクタバックエンドがデータベースを必要とすれば、方法600は、ステップ609に進み、必要としなければ、ステップ613に進む。
【0073】
本開示の少なくとも1つの実施形態においては、コネクタパッケージがデータベースを必要とする場合、ステップ611において、デベロッパツール108は、デベロッパに、データベース接続ストリングを指定してコンテナオーケストレータパッケージに基づいて環境を上書きにするよう求めるように構成される。本開示の少なくとも1つの実施形態においては、ステップ611において、デベロッパツール108は、この情報を受信し得る。
【0074】
本開示の少なくとも1つの実施形態においては、ステップ613において、デベロッパツール108は、コネクタバックエンドハブのうちの1つでコネクタバックエンドを実行するように構成される。デベロッパツール108は、コンテナオーケストレータマネージャ242を介してコンテナオーケストレータ(例えば、Kubernetes)を含めるようにさらに構成される。本開示の少なくとも1つの実施形態においては、コンテナオーケストレータマネージャ242は、コネクタバックエンドの実行、負荷バランシングの構成、スケーラビリティの追加およびログの保持を行うように構成される。
【0075】
方法600は次に、ステップ615に進み、コンテナオーケストレータは、バックエンドのエンドポイントURLを生成する。本開示の少なくとも1つの実施形態においては、コンテナオーケストレータ(例えば、Kubernetes)は、必要な依存関係を有するコネクタバックエンド画像をダウンロードして、それらをコンテナオーケストレータパッケージ内で設定された事前定義された順序で実行して、展開されたコネクタバックエンドのエンドポイントURLを返す。
【0076】
方法600は次に、ステップ617に進み、デベロッパツール108は、適切なハイパーテキストトランスファプロトコル(HTTP)要求をCSBコントローラ104に送信することによって、提供されたエンドポイントURLを用いてCSBコントローラ104内でコネクタバックエンドを登録する。
【0077】
本開示の少なくとも1つの実施形態においては、デベロッパツール108は、アップグレードモードで動作するようにさらに構成され、デベロッパツール108は、CSB APIを介してコネクタパッケージの新バージョンをCSBプラットフォームにインストールして、デベロッパツール108は、コネクタパッケージから新しいコンテナオーケストレータパッケージを受信する。最後に、デベロッパツール108は、新しいコンテナオーケストレータパッケージをコンテナオーケストレータ(例えば、Kubernetes)にアップロードするように構成される。本開示の少なくとも1つの実施形態においては、コンテナオーケストレータは、新しい依存関係を有する新しいコンテナアプリケーションサービス画像をダウンロードして、新しい画像を実行して、次に以前のバージョンの動作を停止する。コンテナオーケストレータにより、サービスのダウンタイム無しでリアルタイム(すなわち、最新の)アップグレードが可能になることが理解されるであろう。
【0078】
本発明は、図面および上記の説明において例示され詳述されたが、それは、特性においても、例示的であり、限定的でないとみなされるべきであるが、特定の実施形態のみが示されて説明されたものであり、本開示の精神の範囲に入るすべての変更と修飾が保護されることが望ましいことが理解される。
【手続補正書】
【提出日】2021年1月29日
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項8
【補正方法】変更
【補正の内容】
【請求項8】
クラウドサービスブローカプラットフォームアプリケーションプログラミングインタフェース(API)を介して、前記クラウドサービスブローカプラットフォームにアーカイブコネクタパッケージをインストールすることと、
前記クラウドサービスブローカプラットフォームにおいて、コンテナオーケストレータパッケージを受信することと、
デベロッパツールにおいて、認証クレデンシャルを生成することであって、前記認証クレデンシャルは、展開ディスクリプタ内にさらに組み込まれることと、
前記コンテナオーケストレータパッケージから取得されたコネクタバックエンドを、コンテナオーケストレータを介して実行することと、
前記デベロッパツールにおいて、バックエンドのエンドポイント統一資源位置指定子(URL)を生成することと、
前記クラウドサービスブローカプラットフォームにおいて、前記エンドポイント統一資源位置指定子を登録することとを含む、
クラウドサービスブローカ(CSB)プラットフォームを用いた、ソフトウェアサービスの統合チャネル展開のための方法。
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項11
【補正方法】変更
【補正の内容】
【請求項11】
クラウドサービスブローカプラットフォームに動作可能に接続されたデベロッパツールを備え、前記デベロッパツールは、
インフラストラクチャ構成要素ライブラリと、
複数のデベロッパツールモジュールとを備え、
前記クラウドサービスブローカプラットフォームは、クラウドサービスブローカコントローラをさらに備える、
クラウドサービスブローカ(CSB)プラットフォームを用いた、ソフトウェアサービスのコネクタ開発および統合チャネル展開のためのシステム。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0013
【補正方法】変更
【補正の内容】
【0013】
本開示の少なくとも1つの実施形態においては、クラウドサービスブローカ(CSB)プラットフォームを用いた、ソフトウェアサービスの統合チャネル
展開のための方法は、CSBプラットフォームアプリケーションプログラミングインタフェース(API)を介して、CSBプラットフォームにアーカイブコネクタパッケージをインストールすることと、コンテナオーケストレータパッケージを受信することと、認証クレデンシャルを生成することとを含み、認証クレデンシャルは、展開ディスクリプタ内にさらに組み込まれ、コンテナオーケストレータパッケージから取得されたコネクタバックエンドを実行することと、バックエンドのエンドポイント統一資源位置指定子(URL)を生成することと、CSBプラットフォームにおいて、エンドポイントURLを登録することとを含む。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0014
【補正方法】変更
【補正の内容】
【0014】
本開示の少なくとも1つの実施形態においては、クラウドサービスブローカ(CSB)プラットフォームを用いた、ソフトウェアサービスのコネクタ開発および統合チャネル
展開のためのシステムが提供され、このシステムは、CSBプラットフォームに動作可能に接続されたデベロッパツールを含み、デベロッパツールは、インフラストラクチャ構成要素ライブラリと、複数のデベロッパツールモジュールとを備え、CSBプラットフォームは、CSBコントローラをさらに備える。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0017
【補正方法】変更
【補正の内容】
【0017】
本開示の少なくとも1つの実施形態においては
、デベロッパツールは、コネクタパッケージの作成を要求し、ベースコネクタパッケージを作成するためにアーキタイプコネクタパッケージのコピーを作成し、ソフトウェアサービスのためのビジネス論理コードをコンパイルして、ベースコネクタパッケージに少なくとも部分的に基づいてコネクタパッケージを生成し、リソースモデルスキーマを作成し、リソースモデルスキーマは、コネクタアーカイブ内にさらにパッケージ化され、コネクタバックエンド展開ユニットを作成し、コネクタバックエンド展開ユニットは、サーバ画像内にさらに結合され、コンテナオーケストレータパッケージを作成し、コンテナオーケストレータパッケージは、コンテナオーケストレータリソースのセットを含み、コンテナオーケストレータパッケージは次いで、パッケージリポジトリ内にプッシュされ、サーバ画像をサーバリポジトリにプッシュし、コネクタアーカイブからのリソースモデルスキーマ、およびコンテナオーケストレータパッケージをアセンブルして、アーカイブコネクタパッケージを作成し、アーカイブコネクタパッケージをCSBプラットフォームに送達するように構成される。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0018
【補正方法】変更
【補正の内容】
【0018】
【
図1】本開示の少なくとも1つの実施形態による、
コネクタ開発のためのシステムおよび統合チャネル展開の概略図である。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0028
【補正方法】変更
【補正の内容】
【0028】
本開示の少なくとも1つの実施形態においては、コネクタバックエンドハブ110は、Kubernetes、Docker swarm、および同様のものなどの少なくとも1つのコンテナオーケストレータソリューション110Aを含む。コネクタバックエンドハブ110は、当業者には周知のように多くのおよび本明細書にさらに開示するようなコンテナオーケストレータソリューション110
Aを含み得ることが理解されるであろう。本開示の少なくとも1つの実施形態においては、コンテナオーケストレータソリューション110Aは、ホストのクラスタにわたってアプリケーションコンテナの自動展開、スケーリング、および動作を可能にするように構成される。例として、特定のソフトウェアサービスは、(単一サーバ/ホストの容量を超える)予想される使用負荷をサポートするために、複数のサーバ(すなわち、ホスト)にわたって展開されることが望まれ得る。この例を続けると、コンテナオーケストレータソリューション110Aは、このようなソフトウェアの展開をホスト/サーバのクラスタにわたるアプリケーションコンテナを介して可能にするように構成される。本開示の少なくとも1つの実施形態においては、コンテナオーケストレータソリューション110Aは、1つの非限定な例として、APIを介してCSBデバイス102およびISVデバイス112に動作可能に接続される。コンテナオーケストレータソリューション110Aは、インフラストラクチャアズアサービス(IaaS)ソリューションとして構成され得ることが理解されるであろう。本開示の少なくとも1つの実施形態においては、コンテナオーケストレータソリューション110Aは、CSBデバイス102によってアクセス可能な複数のAPIを保持するように構成され、CSBデバイス102は、コネクタバックエンドを構成するためにそのようなAPIを使用し得る。システム100は、複数のコンテナオーケストレータソリューションを含み得るが、複数のコンテナオーケストレータソリューションの各々は、異なる目的のために、例えば、テスト、または製造サポート目的のために構成されることがさらに理解されるであろう。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0035
【補正方法】変更
【補正の内容】
【0035】
本開示の少なくとも1つの実施形態においては、インフラストラクチャ構成要素ライブラリ202は、ログマネージャライブラリ204、テストライブラリ206、モニタリングマネージャライブラリ208、認可マネージャライブラリ210、ユーザインタフェース(UI)構成要素ライブラリ212、データベースマネージャライブラリ214、RESTアプリケーションサービスライブラリ216および
デベロッパ構成要素プレースホルダライブラリ218を含む、複数の事前定義されたコネクタパッケージライブラリをさらに含む。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0037
【補正方法】変更
【補正の内容】
【0037】
本開示の少なくとも1つの実施形態においては、デベロッパツール
108は、埋め込みロガーを構成するように動作可能であり、中央ロギングシステムにおいて起点特定のために用いられるコネクタパッケージ名と同じであり得る一意の名前をセットアップすることと、トレースニーズのためにすべての着信および発信要求のログを生成することと、着信するマルチサービスコール要求から相関および生成情報を抽出することと、日付、相関識別子、スレッド識別子、一意の名前、ロガー名およびログメッセージを含む統合ログラインフォーマットをセットアップすることと、非同期標準出力ロギングアペンダをセットアップすることとを含む。統合ログファイルフォーマットは、好ましい性能を可能にすることが理解されるであろう。非同期標準化出力ロギングが、中央ロギングシステムにおいて容易な検索を可能にすることがさらに理解されるであろう。
【手続補正10】
【補正対象書類名】明細書
【補正対象項目名】0048
【補正方法】変更
【補正の内容】
【0048】
ここで
図3を参照すると、本開示の少なくとも1つの実施形態による、コネクタ開発および統合チャネル
展開のための方法300が示される。方法300は、ステップ302において、要求をチェックすること、ステップ304において、コネクタパッケージのコピーを作成すること、ステップ314において、統合コマンドをチェックすること、およびステップ316において、バックエンド構築を開始することを含む。
【手続補正11】
【補正対象書類名】明細書
【補正対象項目名】0055
【補正方法】変更
【補正の内容】
【0055】
本開示の少なくとも1つの実施形態においては、ステップ404において、ビジネスコードがコンパイルされて、コネクタパッケージが生成される。本開示の少なくとも1つの実施形態においては、コネクタデベロッパがバックエンドの構築を完了した後、デベロッパツール10
8は、(任意のビジネスコードを含む)新しいコネクタパッケージのソースコードを自動的にコンパイルして、新しいコネクタパッケージをテストするように構成される。
【手続補正12】
【補正対象書類名】明細書
【補正対象項目名】0057
【補正方法】変更
【補正の内容】
【0057】
本開示の少なくとも1つの実施形態においては、デベロッパツール10
8は、ステップ408において、リソースモデルスキーマビルダー226を使用して、リソースモデルスキーマを生成して、これをアーカイブに圧縮するようにさらに構成される。リソースモデルスキーマは、コネクタデベロッパによって記述されたビジネスコードのJavaクラスから生成されることが理解されるであろう。
【手続補正13】
【補正対象書類名】明細書
【補正対象項目名】0073
【補正方法】変更
【補正の内容】
【0073】
本開示の少なくとも1つの実施形態においては、コネクタパッケージがデータベースを必要とする場合、ステップ611において、デベロッパツール108は、デベロッパに、データベース接続ストリングを指定してコンテナオーケストレータパッケージに基づいて環境
変数を上書きにするよう求めるように構成される。本開示の少なくとも1つの実施形態においては、ステップ611において、デベロッパツール108は、この情報を受信し得る。
【手続補正書】
【提出日】2021年4月6日
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
デベロッパツールにおいて、コネクタパッケージの作成要求を受信することであって、前記デベロッパツールはクラウドサービスブローカプラットフォームに動作可能に接続されることと、
前記デベロッパツールにおいて、ベースコネクタパッケージを作成するためにアーキタイプコネクタパッケージのコピーを作成することと、
前記デベロッパツールにおいて、前記ソフトウェアサービスのためのビジネス論理コードをコンパイルして、前記ベースコネクタパッケージに少なくとも部分的に基づいて前記コネクタパッケージを生成することと、
前記デベロッパツールにおいて、リソースモデルスキーマを作成することであって、前記リソースモデルスキーマは、コネクタアーカイブ内にさらにパッケージ化されることと、
前記デベロッパツールにおいて、コネクタバックエンド展開ユニットを作成することであって、前記コネクタバックエンド展開ユニットは、サーバ画像内にさらに結合されることと、
前記デベロッパツールにおいて、コンテナオーケストレータパッケージを作成することであって、前記コンテナオーケストレータパッケージは、コンテナオーケストレータリソースのセットを含み、前記コンテナオーケストレータパッケージは次いで、パッケージリポジトリ内にプッシュされることと、
前記デベロッパツールにおいて、前記サーバ画像をサーバリポジトリにプッシュすることと、
前記デベロッパツールにおいて、前記サーバ画像、前記コネクタアーカイブからの前記リソースモデルスキーマ、およびコンテナオーケストレータパッケージをアセンブルして、アーカイブコネクタパッケージを作成することと、
前記アーカイブコネクタパッケージを前記クラウドサービスブローカプラットフォームに送達することとを含む、
クラウドサービスブローカ(CSB)プラットフォームを用いた、ソフトウェアサービスのコネクタ開発のための方法。
【請求項2】
ベースコネクタパッケージを作成することは、
アプリケーション名およびパーシスタンス条件を要求することと、
ライブラリ、ドライバおよびログアペンダからなるグループから選択された付加的な構成要素をダウンロードすることと、
コネクタパッケージソースを生成することと、
開発ディレクトリを作成することとをさらに含む、請求項1に記載の方法。
【請求項3】
前記コネクタパッケージをテストする前記ステップをさらに含む、請求項1に記載の方法。
【請求項4】
前記アーカイブコネクタパッケージは、ユーザインタフェースコード、リソースモデル、ナビゲーション記述および展開ディスクリプタの集合体をさらに含む、請求項1に記載の方法。
【請求項5】
前記サーバ画像は、複数の命令セットレイヤを含む、請求項1に記載の方法。
【請求項6】
前記複数の命令セットレイヤは、ベース画像を形成する、請求項5に記載の方法。
【請求項7】
前記複数の命令セットレイヤの最後のレイヤは、デベロッパレイヤを含む、請求項5に記載の方法。
【請求項8】
クラウドサービスブローカプラットフォームアプリケーションプログラミングインタフェース(API)を介して、前記クラウドサービスブローカプラットフォームにアーカイブコネクタパッケージをインストールすることと、
前記クラウドサービスブローカプラットフォームにおいて、コンテナオーケストレータパッケージを受信することと、
デベロッパツールにおいて、認証クレデンシャルを生成することであって、前記認証クレデンシャルは、展開ディスクリプタ内にさらに組み込まれることと、
前記コンテナオーケストレータパッケージから取得されたコネクタバックエンドを、コンテナオーケストレータを介して実行することと、
前記デベロッパツールにおいて、バックエンドのエンドポイント統一資源位置指定子(URL)を生成することと、
前記クラウドサービスブローカプラットフォームにおいて、前記エンドポイント統一資源位置指定子を登録することとを含む、
クラウドサービスブローカ(CSB)プラットフォームを用いた、ソフトウェアサービスの統合チャネル展開のための方法。
【請求項9】
パーシスタンス要件のためのチェックをさらに含む、請求項8に記載の方法。
【請求項10】
データベース接続が指定されて、前記データベース接続は、前記展開ディスクリプタ内にさらに書き込まれる、請求項9に記載の方法。
【国際調査報告】