JP2021518619A - コネクタ開発および統合チャネル展開のためのシステムおよび方法 - Google Patents

コネクタ開発および統合チャネル展開のためのシステムおよび方法 Download PDF

Info

Publication number
JP2021518619A
JP2021518619A JP2020563664A JP2020563664A JP2021518619A JP 2021518619 A JP2021518619 A JP 2021518619A JP 2020563664 A JP2020563664 A JP 2020563664A JP 2020563664 A JP2020563664 A JP 2020563664A JP 2021518619 A JP2021518619 A JP 2021518619A
Authority
JP
Japan
Prior art keywords
connector
package
developer
container orchestrator
archive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020563664A
Other languages
English (en)
Other versions
JP7011737B2 (ja
Inventor
ドゥビンスキー,ヴィアチェスラフ
エルマコフ,アルチョム
ハキミャノフ,ティムール
ログヴィネンコ,アントン
ヴァグリン,イゴール
Original Assignee
イングラム マイクロ インコーポレーテッド
イングラム マイクロ インコーポレーテッド
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 イングラム マイクロ インコーポレーテッド, イングラム マイクロ インコーポレーテッド filed Critical イングラム マイクロ インコーポレーテッド
Publication of JP2021518619A publication Critical patent/JP2021518619A/ja
Application granted granted Critical
Publication of JP7011737B2 publication Critical patent/JP7011737B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

独立系ソフトウェアベンダーISVは、クラウドアプリケーションを開発、サポート、実行および販売する。クラウドサービスブローカプラットフォーム(CSB)は、異なるISVからの統合クラウドアプリケーションの部分的自動配信を提供する。ISVソフトウェアの統合は、コネクタパッケージおよびコネクタバックエンドなどの特殊な統合構成要素を必要とする。そのような構成要素の開発は、時間がかかり、費用がかかることがある。本開示は、ウェブサービスの展開および構成を自動的に可能にすることによって、コネクタデベロッパがコネクタパッケージおよびコネクタバックエンドの開発のコストを低減できるようにするためのシステムおよび方法に関し、CSBによって作成されたアーキタイプからコネクタパッケージを生成する自動オーサリングツールを使用することで、スケーラビリティおよびすぐに使えるゼロダウンタイムアップグレードのサポートも可能にする。

Description

関連出願の相互参照
本願は、2018年5月15日に出願された米国特許出願第15/980,487号の優先権の利益を主張する国際特許出願であり、その本文および図面はその全体が参照として本明細書に組み込まれる。
本開示は、開発のシステムおよび方法に、より詳細には、コネクタ開発および統合チャネル展開のためのシステムおよび方法に関する。
現在、多くの独立系ソフトウェアベンダー(ISV)が、オンラインサービスプラットフォームを介して自身のソフトウェアを提供する。このようなソフトウェアアズアサービス(SaaS)ベンダーにより、SaaS登録者/エンドユーザは、SaaSプロバイダによってホストされるソフトウェアサービスを取得して使用することができる。ISVは、クラウドSaaSオファリングを開発、サポート、実行および販売する。例えば、Dropbox(登録商標)およびOffice365(登録商標)は、ISVによるSaaSオファリングの一般的な例である。
いくつかの実施形態においては、ISVは、クラウドサービスブローカ(CSB)プラットフォームを介して自身のソフトウェアを提供する。CSBは、異なるISVから再販売業者および最終顧客への統合クラウドアプリケーションの部分的自動配信を提供する。CSBプラットフォームにより、顧客は、統合ユーザインタフェース(UI)を介して、1つの場所において異なるISVからの統合クラウドアプリケーションを獲得して構成することが可能になる。
CSBへのそのような統合を可能にするために、ISVは通常、コネクタパッケージおよびコネクタバックエンドと呼ばれる特殊な統合構成要素を準備する。コネクタバックエンドは、CSBプラットフォームから受信した制御方法によってアプリケーションプログラミングインタフェース(API)コールをそれぞれのISVクラウドアプリケーションに特有のAPIコールに変換するために使用される。いくつかの実施形態においては、このような統合構成要素は、CSBからの要求の処理を担うウェブサービスとして表される。
一実施形態においては、コネクタパッケージは通常、アーカイブファイルという形態をとり、このアーカイブフィルはメタデータ、制御方法記述およびコンテンツファイルを含み、これらは、SaaSアプリケーションリソース、サービス、ユーザインタフェース構成要素を宣言して定義するために使用するとともに、リソースを管理するために必要な制御方法の論理を使用する。
コネクタおよびコネクタバックエンドの開発は、いくつかの構成要素およびアクティビティからなる複雑なプロセスとされ得るが、例えば、ISVのアプリケーションリソースを設計して、CSBメタ記述用語を定義することと、リソースの作成、変更、削除、リンク付け、リンク解除およびカスタム動作のCSB要求を処理するためにビジネス論理を実施することと、自動バックエンドユニットおよび統合テストを作成することと、UIアプリケーション画面を作成して、これらをCSBの事前定義されたプレースホルダに埋め込むことと、ISVのコネクタパッケージをパッケージ化することと、コネクタバックエンドを展開して構成して、妥当性確認のためにCSBからコネクタバックエンドにアクセス可能にすることと、販売、アップセル、キャンセルおよび終了、および同様のものなどのすべてのシナリオをチェックすることとを含む。
さらに、任意の新しい統合構成要素を加えると、ISVは、現在のSaaSオファリングを販売するための能力、および顧客が自身のSaaS購入をオンラインで管理するための能力をサポートするためにコネクタバックエンドを保持する必要があるだろう。ISVは、販売機会を確実に最大化するために、任意のコネクタバックエンドサービスのダウンタイムを回避したい。
現行のコネクタおよびコネクタバックエンドの開発は、時間がかかり、費用がかかり、ダウンタイムを生じやすい。したがって、コネクタデベロッパ(例えば、ISV)がコネクタパッケージおよびコネクタバックエンドの開発のコストを低減できるようにし、SaaS統合をサポートするウェブサービスの展開および構成を自動的に可能にし、スケーラビリティおよびゼロダウンタイムアップグレードをさらに可能にする、コネクタ開発および統合チャネル展開のための改善されたシステムおよび方法に対する必要性が存在する。
本開示は、クラウドサービスブローカ(CSB)プラットフォームを用いた、ソフトウェアサービスのコネクタ開発のための方法に関し、この方法は、コネクタパッケージの作成要求を受信することを含み、デベロッパツールはCSBプラットフォームに動作可能に接続され、ベースコネクタパッケージを作成するためにアーキタイプコネクタパッケージのコピーを作成することと、ソフトウェアサービスのためのビジネス論理コードをコンパイルして、ベースコネクタパッケージに少なくとも部分的に基づいてコネクタパッケージを生成することと、リソースモデルスキーマを作成することとを含み、リソースモデルスキーマは、コネクタアーカイブ内にさらにパッケージ化され、コネクタバックエンド展開ユニットを作成することを含み、コネクタバックエンド展開ユニットは、サーバ画像内にさらに結合され、コンテナオーケストレータパッケージを作成することを含み、コンテナオーケストレータパッケージは、コンテナオーケストレータリソースのセットを含み、コンテナオーケストレータパッケージは次いで、パッケージリポジトリ内にプッシュされることを含み、サーバ画像をサーバリポジトリにプッシュすることと、サーバ画像、コネクタアーカイブからのリソースモデルスキーマ、およびコンテナオーケストレータパッケージをアセンブルして、アーカイブコネクタパッケージを作成することと、アーカイブコネクタパッケージをCSBプラットフォームに送達することとを含む。
本開示の少なくとも1つの実施形態においては、ベースコネクタパッケージを作成することは、アプリケーション名およびパーシスタンス条件を要求することと、ライブラリ、ドライバおよびログアペンダからなるグループから選択された付加的な構成要素をダウンロードすることと、コネクタパッケージソースを生成することと、開発ディレクトリを作成することとをさらに含む。
本開示の少なくとも1つの実施形態においては、アーカイブコネクタパッケージは、ユーザインタフェースコード、リソースモデル、ナビゲーション記述および展開ディスクリプタの集合体をさらに含む。
本開示の少なくとも1つの実施形態においては、クラウドサービスブローカ(CSB)プラットフォームを用いた、ソフトウェアサービスの統合チャネル開発のための方法は、CSBプラットフォームアプリケーションプログラミングインタフェース(API)を介して、CSBプラットフォームにアーカイブコネクタパッケージをインストールすることと、コンテナオーケストレータパッケージを受信することと、認証クレデンシャルを生成することとを含み、認証クレデンシャルは、展開ディスクリプタ内にさらに組み込まれ、コンテナオーケストレータパッケージから取得されたコネクタバックエンドを実行することと、バックエンドのエンドポイント統一資源位置指定子(URL)を生成することと、CSBプラットフォームにおいて、エンドポイントURLを登録することとを含む。
本開示の少なくとも1つの実施形態においては、クラウドサービスブローカ(CSB)プラットフォームを用いた、ソフトウェアサービスのコネクタ開発および統合チャネル開発のためのシステムが提供され、このシステムは、CSBプラットフォームに動作可能に接続されたデベロッパツールを含み、デベロッパツールは、インフラストラクチャ構成要素ライブラリと、複数のデベロッパツールモジュールとを備え、CSBプラットフォームは、CSBコントローラをさらに備える。
本開示の少なくとも1つの実施形態においては、システムは、ログマネージャ、テスト、モニタリングマネージャ、認可マネージャ、ユーザインタフェース構成要素、データベースマネージャ、RESTアプリケーションサービスおよびデベロッパ構成要素プレースホルダからなるグループから選択された複数のライブラリをさらに含む。
本開示の少なくとも1つの実施形態においては、デベロッパツールモジュールは、構成要素クリエータ、アーカイバ、コンパイラ、リソースモデルスキーマビルダー、統合チャネルビルダー、構成要素ビルダー、インタフェース、コネクタアセンブラ、画像ビルダーおよびコンテナオーケストレータパッケージビルダーからなるグループから選択される。
本開示の少なくとも1つの実施形態においては、システム、さらにデベロッパツールは、コネクタパッケージの作成を要求し、ベースコネクタパッケージを作成するためにアーキタイプコネクタパッケージのコピーを作成し、ソフトウェアサービスのためのビジネス論理コードをコンパイルして、ベースコネクタパッケージに少なくとも部分的に基づいてコネクタパッケージを生成し、リソースモデルスキーマを作成し、リソースモデルスキーマは、コネクタアーカイブ内にさらにパッケージ化され、コネクタバックエンド展開ユニットを作成し、コネクタバックエンド展開ユニットは、サーバ画像内にさらに結合され、コンテナオーケストレータパッケージを作成し、コンテナオーケストレータパッケージは、コンテナオーケストレータリソースのセットを含み、コンテナオーケストレータパッケージは次いで、パッケージリポジトリ内にプッシュされ、サーバ画像をサーバリポジトリにプッシュし、コネクタアーカイブからのリソースモデルスキーマ、およびコンテナオーケストレータパッケージをアセンブルして、アーカイブコネクタパッケージを作成し、アーカイブコネクタパッケージをCSBプラットフォームに送達するように構成される。
本開示の少なくとも1つの実施形態による、システムコネクタ開発および統合チャネル展開の概略図である。
本開示の少なくとも1つの実施形態による、デベロッパツールの概略図である。
本開示の少なくとも1つの実施形態による、コネクタ開発および統合チャネル展開のための方法のフローチャートである。
本開示の少なくとも1つの実施形態による、コネクタ開発および統合チャネル展開のための方法のフローチャートである。
本開示の少なくとも1つの実施形態による、コネクタ開発および統合チャネル展開のための方法のフローチャートである。
本開示の少なくとも1つの実施形態による、コネクタ開発および統合チャネル展開のための方法のフローチャートである。
本開示の少なくとも1つの実施形態による、コネクタ開発および統合チャネル展開のためのシステムの構成要素を示す図である。
ここで本開示の好ましい実施形態を詳細に参照して、これらの実施例が添付図面に図示される。本開示の付加的な特徴および利点は、以下の説明に記載されており、説明から明らかにされ得るかまたは本開示の実践によって学ばれ得る。上記の一般的な説明および以下の詳細な説明は例示および解説であり、本開示のさらなる説明を請求通りに提供することを意図することは理解されたい。
ここで図1を参照すると、本開示の少なくとも1つの実施形態による、コネクタ開発および統合チャネル展開のためのシステム100が示される。システム100は、クラウドサービスブローカ(CSB)デバイス102、CSBコントローラ104、コネクタパッケージカタログ106、デベロッパツール108、コネクタバックエンドハブ110、独立系ソフトウェアベンダー(ISV)デバイス112およびISVデベロッパデバイス114を含む。
本開示の少なくとも1つの実施形態においては、CSBデバイス102は、CSBコントローラ104およびコネクタパッケージカタログ106を含む。CSBコントローラ104およびコネクタパッケージカタログ106は、CSBデバイス102内の構成要素として示されているが、CSBコントローラ104およびコネクタパッケージカタログ106は別個とされ得ること、および遠隔に配置されてCSBデバイス102に動作可能に接続され得ることが、本開示の範囲内に十分に含まれる。本開示の少なくとも1つの実施形態においては、CSBコントローラ104は、コネクタパッケージカタログ106から取得されるパッケージに適応されたリソースを作成するように構成される。例として、デベロッパツール(本明細書にさらに開示)は、パッケージをコネクタパッケージカタログ106にアップロードするように構成され得るが、CSBコントローラ104は、パッケージカタログから取得された情報を用いて、パッケージに適用可能なリソース(すなわち、ソフトウェア)をプロビジョニングする。
本開示の少なくとも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は、複数のコンテナオーケストレータソリューションを含み得るが、複数のコンテナオーケストレータソリューションの各々は、異なる目的のために、例えば、テスト、または製造サポート目的のために構成されることがさらに理解されるであろう。
本開示の少なくとも1つの実施形態においては、システム100は、複数のISVデバイス112を含み得る。システム100は、CSBプラットフォーム(すなわち、CSBデバイス102)を介してSaaSオファリングを提供するであろうISVが存在するのと同数のISVデバイス112を含み得ることは、本開示の範囲内に十分に含まれる。
ここで図2を参照すると、本開示の少なくとも1つの実施形態による、デベロッパツール108の構成要素が示され、概して200に示す。本開示の少なくとも1つの実施形態においては、デベロッパツール108は、インフラストラクチャ構成要素ライブラリ202、構成要素クリエータ220、アーカイバ222、コンパイラ224、リソースモデルスキーマビルダー226、統合チャネルビルダー228、構成要素ビルダー230、インタフェース232、コネクタアセンブラ234、画像ビルダー236、コンテナオーケストレータパッケージビルダー240およびコンテナオーケストレータマネージャ242を含む。
本開示の少なくとも1つの実施形態においては、リソースモデルスキーマビルダー226は、特殊なアノテーション付きJavaファイルをコネクタパッケージリソーススキーマに変換するように構成される。リソースモデルスキーマビルダー226は、例えば、APSType、APSStructure、および同様のものなどの特殊なアノテーションを読み出すように構成され、アノテーション付きフィールドをリソーススキーマのフィールドに変換する。リソースモデルスキーマビルダー226は、CSBデバイス102内のリソースにより利用可能な動作のリストおよびJSONフォーマットの使用データ型を含むことが理解されるであろう。
本開示の少なくとも1つの実施形態においては、構成要素ビルダー230は、例えば、Mavenセントラルリポジトリなどの複数のリポジトリからJavaライブラリを動的にダウンロードするように構成され、これらをローカルキャッシュ内に記憶する。構成要素ビルダー230は、例えば、ウェブアーカイブ、Zip(登録商標)アーカイブおよび同様のものなどの任意の構築されたアーチファクトをローカルキャッシュ内に記憶するようにさらに構成される。構成要素ビルダー230は、ローカルキャッシュ内にアーチファクトを見出せない場合は、複数のリポジトリからこれらをダウンロードするように構成されることが理解されるであろう。
本開示の少なくとも1つの実施形態においては、インタフェース232は、デベロッパ指定の必須プロパティを、コマンドラインを介してインタラクティブモードまたは非インタラクティブモードで作成するように構成される。
本開示の少なくとも1つの実施形態においては、画像ビルダー236は、本明細書にさらに開示するように、構築された展開ユニット(ステップ412)に基づいてDocker(登録商標)画像を作成するように構成される。Docker(登録商標)画像は、基本的にはコンテナのスナップショットである不活性でイミュータブルなファイルであることが理解されるであろう。コンテナは、Docker(登録商標)画像のインスタンスであり、ランタイムオブジェクトであることがさらに理解されるであろう。
本開示の少なくとも1つの実施形態においては、インフラストラクチャ構成要素ライブラリ202は、ログマネージャライブラリ204、テストライブラリ206、モニタリングマネージャライブラリ208、認可マネージャライブラリ210、ユーザインタフェース(UI)構成要素ライブラリ212、データベースマネージャライブラリ214、RESTアプリケーションサービスライブラリ216および開発構成要素プレースホルダライブラリ218を含む、複数の事前定義されたコネクタパッケージライブラリをさらに含む。
本開示の少なくとも1つの実施形態においては、ログマネージャライブラリ204は、統合ロギング機構を使用するコネクタバックエンドとの統合のためのロギングライブラリを含む。統合ロギングは、保守コストを低減することが理解されるであろう。本開示の少なくとも1つの実施形態においては、ログマネージャ204は、当業者には周知のように、コネクタバックエンド(コネクタバックエンドが記録するように構成されていれば)のすべての標準出力を記録するように構成されたロギングサブシステムを含む。ログマネージャ204は、そのようなロギングに適用可能なトレースレベルで記録されるすべての着信HTTPおよび発信API要求を記録するように構成され得ることが理解されるであろう。
本開示の少なくとも1つの実施形態においては、デベロッパツール202は、埋め込みロガーを構成するように動作可能であり、中央ロギングシステムにおいて起点特定のために用いられるコネクタパッケージ名と同じであり得る一意の名前をセットアップすることと、トレースニーズのためにすべての着信および発信要求のログを生成することと、着信するマルチサービスコール要求から相関および生成情報を抽出することと、日付、相関識別子、スレッド識別子、一意の名前、ロガー名およびログメッセージを含む統合ログラインフォーマットをセットアップすることと、非同期標準出力ロギングアペンダをセットアップすることとを含む。統合ログファイルフォーマットは、好ましい性能を可能にすることが理解されるであろう。非同期標準化出力ロギングが、中央ロギングシステムにおいて容易な検索を可能にすることがさらに理解されるであろう。
本開示の少なくとも1つの実施形態においては、テストライブラリ206は、例えば、当業者には周知のように、ユニットテストおよび統合テストなどの様々なテストを構築して実行するように構成される。
本開示の少なくとも1つの実施形態においては、モニタリングマネージャライブラリ208は、例えば、ハイパーテキストトランスファプロトコル(HTTP)要求、構造化問い合わせ言語(SQL)要求、平均応答時間、最大応答時間、最小応答時間、アクティブセッション、並列要求数および同様のものなどの健全性および性能メトリックモニタリングのためのライブラリを含む。モニタリングマネージャライブラリ208は、Java Management Extensions(JMX)を介して収集されたメトリックを追跡するようにさらに構成され、リソースは、当業者には周知のように、Managed Beans(MBeans)と呼ばれるオブジェクトによって表現されることが理解されるであろう。モニタリングマネージャライブラリ208は、動的にロードされてインスタンス化可能なAPIおよびクラスを含み、例えば、Zabbixなどの外部(クラスタ外部で実行される)モニタリングシステムのための能力を与えることが理解されるであろう。
本開示の少なくとも1つの実施形態においては、認証マネージャライブラリ210は、OAuth 1.0プロトコルおよび同様のものを含む認可プロトコルライブラリを提供するように構成されるが、これに限定されない。OAuthクレデンシャル(鍵および秘密)が、当業者には周知のように、環境変数を介してコネクタバックエンドハブ110に提供されることが理解されるであろう。
本開示の少なくとも1つの実施形態においては、UI構成要素ライブラリ212は、CSBプラットフォーム(例えば、CSBデバイス102)に動作可能に接続できるコネクタパッケージを作成するように構成された埋め込みUI構成要素を提供するように構成される。コネクタに特有のUI構成要素を作成するために、Javaデベロッパフレームワークが使用され得ることが理解されるであろう。
本開示の少なくとも1つの実施形態においては、データベースマネージャライブラリ214は、任意のサードパーティデータベースを含むデータベースとの接続を確立するための構成要素を提供するように構成される。例えば、コネクタパッケージデベロッパは、データを記憶するために、CSBプラットフォームによって提供されるデータベースではなく自身のデータベースを使用するほうを好み得る。本開示の少なくとも1つの実施形態においては、データベースマネージャライブラリは、コネクタバックエンドハブ110の構成要素であり得る。データベースマネージャライブラリ214は、クレデンシャルに基づいてデータベースへの接続を提供することができ、コネクタバックエンド110に環境変数を提供することが理解されるであろう。
本開示の少なくとも1つの実施形態においては、RESTアプリケーションサービスライブラリ216は、RESTサービス構成要素を提供するように構成され、ソフトウェアインスタンス、作成、更新、削除および同様のものの要求で動作するように構成される。
本開示の少なくとも1つの実施形態においては、デベロッパ構成要素プレースホルダライブラリ218は、本明細書にさらに開示するように、コネクタデベロッパのビジネスコードのためのプレースホルダライブラリを提供するように構成される。
本開示の少なくとも1つの実施形態においては、デベロッパツール108は、「開発」モードで動作するように構成される。デベロッパツール108は、CSBプラットフォームデベロッパ(図示せず)によって作成されたアーキタイプから新しいコネクタパッケージを生成するように構成される。本開示の少なくとも1つの実施形態においては、新しいコネクタパッケージ名が指定されて、データベースが必要かどうかが選択される(本明細書にさらに開示するように)。アーキタイプは、同じ種類のすべての他のコピーが作成される元のパターンまたはモデルとして定義され、開発のアーキタイプパターンに従うが、これは、当業者には周知であり、本明細書にさらに開示される。
本開示の少なくとも1つの実施形態においては、コネクタパッケージは、リソースを管理するために必要な(SaaS)アプリケーションリソース、サービス、ユーザインタフェース構成要素および制御方法の論理を宣言して定義するために使用されるメタデータ、制御方法記述およびコンテンツファイルを一般的に含む、アーカイブファイルという形態である。コネクタパッケージは、ISVのアプリケーションリソースを定義するために使用される宣言型ファイルと、「コネクタフロントエンド」(すなわち、CSBの顧客が(クライアント側で)CSBインタフェース内にみるウェブインタフェース)とからなることが理解されるであろう。このウェブインタフェースは、ウィジェット、事前定義されたページ構造、ナビゲーション方法および画面挿入機構、および同様のものを含み得る特殊なフレームワークを使用してコネクタパッケージデベロッパによって開発されることがさらに理解されるであろう。本開示の少なくとも1つの実施形態においては、コネクタフロントエンドは、事前定義されたビューに挿入された画面、ウィジェットをレンダリングするためのカスタム論理およびカスタムナビゲーション構造からなる。例として、ウィジェットは、対応するSaaSオファリングの顧客にとって価値があるとコネクタデベロッパがみなす情報を表示し得る(例えば、使用量報告、サブスクリプションおよびサービス情報、命令など)。
本開示の少なくとも1つの実施形態においては、コネクタバックエンドは、CSB REST APIを解釈して、それらをISVのサービスAPI要求に変換して、サービス、テナントを作成して、サービスをユーザに割り当てて、相互間のサービスをリンクするように構成されたウェブサービスである。CSB REST APIは、幅広い統合および機能性オプションを提供して、販売、アップセル、キャンセルおよび同様のもののような、クラウドサービスに適用可能なほとんどのシナリオの実施を可能にすることが理解されるであろう。本開示の少なくとも1つの実施形態においては、すべてのCSB動作は、アプリケーションサービスリソースの作成、更新および削除、並びにこれらのリソース間のリンクの作成に関連して定義される。標準アクションが適していないいくつかのリソースに対しては、カスタム動作としていくつかのアクションを実施可能であることが理解されるであろう。コネクタバックエンドパッケージは、ISVのソフトウェアデベロッパによって、当業者には周知の様々なプログラミング言語を用いて開発することができ、または任意のサービスモデル(例えば、SaaS、Function as a service(FaaS))によって提供することができ、またはプラットフォームアズアサービス(PaaS)またはインフラストラクチャアズアサービス(IaaS)モデル内で展開することができることがさらに理解されるであろう。
ここで図3を参照すると、本開示の少なくとも1つの実施形態による、コネクタ開発および統合チャネル開発のための方法300が示される。方法300は、ステップ302において、要求をチェックすること、ステップ304において、コネクタパッケージのコピーを作成すること、ステップ314において、統合コマンドをチェックすること、およびステップ316において、バックエンド構築を開始することを含む。
本開示の少なくとも1つの実施形態においては、ステップ304は、ステップ306においてアプリケーション名をおよびデータベースが必要かどうかを要求することをさらに含む。本開示の少なくとも1つの実施形態においては、インタフェース232は、アプリケーション名要求、およびデータベースが必要かどうかについての情報を受信するように構成される。
本開示の少なくとも1つの実施形態においては、ステップ304は、ステップ308においてライブラリをダウンロードすることをさらに含む。本開示の少なくとも1つの実施形態においては、構成要素ビルダー230は、例えば、Mavenセントラルリポジトリなどの複数のリポジトリからライブラリ、ドライバ、ログアペンダおよび同様のものをダウンロードように構成され、このようなアイテムをローカルキャッシュ内に記憶する。
本開示の少なくとも1つの実施形態においては、ステップ304は、ステップ310においてコネクタパッケージソースを生成することをさらに含む。本開示の少なくとも1つの実施形態においては、構成要素クリエータ220は、ファイルシステム内で新しいコネクタパッケージを作成するように構成され、構成要素ビルダー230は、構成要素クリエータ220によって生成されたファイルソースから新しいコネクタパッケージを構築するように構成される。
本開示の少なくとも1つの実施形態においては、方法300は、ステップ314に進み、統合チャネル構築信号が受信されるかチェックする。この信号が受信されていなければ、方法300は待機する。受信されていれば、方法300はステップ316に進む。
本開示の少なくとも1つの実施形態においては、ステップ316は、(図4を介して本明細書にさらに開示するような)バックエンド構築プロセスを開始することを含む。
ここで図4を参照すると、本開示の少なくとも1つの実施形態による、コネクタバックエンドを構築するための方法が示され、概して400に示す。方法400は、ステップ402から始まり、コネクタバックエンド構築コマンドが受信されたか確認するためにチェックが実行される。そのコマンドが受信されなければ、方法400は待機し、受信されれば、方法400はステップ404に進む。
本開示の少なくとも1つの実施形態においては、ステップ404において、ビジネスコードがコンパイルされて、コネクタパッケージが生成される。本開示の少なくとも1つの実施形態においては、コネクタデベロッパがバックエンドの構築を完了した後、デベロッパツール102は、(任意のビジネスコードを含む)新しいコネクタパッケージのソースコードを自動的にコンパイルして、新しいコネクタパッケージをテストするように構成される。
方法400は次に、ステップ406に進み、ステップ404で生成されたコードのテストが行われる。テストは、ユニットおよび統合テストを含むことができることが理解されるであろう。本開示の少なくとも1つの実施形態においては、コンパイラ224が、ステップ404および406のアクティビティを実行するように構成される。本開示の少なくとも1つの実施形態においては、コンパイラ224は、ソースファイル(例えば、Javaソースファイル)からバイトコードを作成する。
本開示の少なくとも1つの実施形態においては、デベロッパツール102は、ステップ408において、リソースモデルスキーマビルダー226を使用して、リソースモデルスキーマを生成して、これをアーカイブに圧縮するようにさらに構成される。リソースモデルスキーマは、コネクタデベロッパによって記述されたビジネスコードのJavaクラスから生成されることが理解されるであろう。
本開示の少なくとも1つの実施形態においては、ステップ410において、コネクタバックエンド展開ユニットが作成される。本開示の少なくとも1つの実施形態においては、アーカイバ222が、コネクタバックエンド展開ユニットを作成するように構成され、コネクタパッケージのソースおよびコンパイル済みファイルからアーカイブ(例えば、Zip(登録商標)ファイル)を作成するようにさらに構成される。
本開示の少なくとも1つの実施形態においては、ステップ412において、コネクタバックエンド展開ユニットは、画像ビルダー236を介してアプリケーションサービス画像内に含められる。本開示の少なくとも1つの実施形態においては、新しいコネクタバックエンドのための画像(例えば、Docker画像)が、アーキタイプ内の事前定義されたルールによって構築される。画像は、一連のレイヤから構築されて、各レイヤは、単一命令を表す。例えば、図7を参照すると、本開示の少なくとも1つの実施形態による、アーキタイプ内のレイヤの例示的な実施形態が示される。最後のレイヤ以外の各レイヤ(例えば、レイヤ702−722)は、読み出し専用である。各レイヤは、自身の前のレイヤからの単なる差分セットである。レイヤは、相互の上に積み重ねられる。ベース画像(すなわち、レイヤ702−722は、アーキタイプに基づく)は、CSBプラットフォームデベロッパによって(コネクタデベロッパによってではなく)提供されることが理解されるであろう。
本開示の少なくとも1つの実施形態においては、ステップ414において、コンテナオーケストレータパッケージビルダー240を介してコンテナオーケストレータパッケージが作成される。コンテナオーケストレータパッケージ(例えば、Kubernetes用のHelmチャート)を作成するために、複数のサードパーティソフトウェア機構が使用可能であり、パッケージはコンテナオーケストレータリソースの関連セットを記述し、これをパッケージリポジトリ(例えば、GitHubリポジトリ)内にプッシュすることが理解されるであろう。本開示の少なくとも1つの実施形態においては、パッケージは、特定のディレクトリツリー内に配置されて、展開されるべきバージョニングされたアーカイブに圧縮されるファイルとして作成される。
本開示の少なくとも1つの実施形態においては、ステップ416において、コネクタバックエンド画像は、画像ビルダー236を介してサーバリポジトリ(例えば、CSBデバイス102のデベロッパのリポジトリ)内にプッシュされる。本開示の少なくとも1つの実施形態においては、ステップ414で作成された画像は、CSB画像リポジトリ(Dockerレジストリ)にプッシュされる。レジストリは、Docker画像を記憶して配布を可能にする、ステートフルで高度にスケーラブルなサーバサイドアプリケーションであることが理解されるであろう。
方法400は、ステップ418で終了し、コネクタパッケージがアーカイブ(例えば、Zip(登録商標))にアセンブルされる。
ここで図5を参照すると、本開示の少なくとも1つの実施形態による、コネクタパッケージをアセンブルするための方法500が示される。本開示の少なくとも1つの実施形態においては、ステップ501において、デベロッパツールデバイス108は、コネクタパッケージをアセンブルするためのコマンドが受信されるかチェックするように構成される。コマンドが受信されていなければ、方法500は待機するが、受信されていれば、方法500はステップ503に進む。
本開示の少なくとも1つの実施形態においては、ステップ503において、リソースモデルスキーマが、コネクタアセンブラ234を介して解凍される。
本開示の少なくとも1つの実施形態においては、ステップ505において、コネクタアセンブラ234を用いてUIコードがアセンブルされる。本開示の少なくとも1つの実施形態においては、リソースモデルスキーマ、ナビゲーション記述およびコンテナオーケストレータパッケージがさらにアセンブルされる。コンテナオーケストレータパッケージは、コンテナオーケストレータへの自身の展開のために必要な情報を含み、限定ではないが、画像名、バージョン、必要な構成要素とそのバージョン、環境変数、ポートマッピングおよび同様のものを含むことが理解されるであろう。
本開示の少なくとも1つの実施形態においては、ステップ507において、コネクタパッケージは、アーカイバ222を用いてアーカイブされて、コネクタパッケージカタログ106に送達される。
ここで図6を参照すると、本開示の少なくとも1つの実施形態による、チャネルを構築するための方法600が示される。本開示の少なくとも1つの実施形態においては、統合チャネルビルダー228は、本明細書にさらに開示するように、方法600のステップを実行するように構成される。
本開示の少なくとも1つの実施形態においては、方法600は、ステップ601において、統合チャネルを設定するためのコマンドが(例えば、インタフェース232を介して)受信されるか確認するためにチェックを実行するように構成される。コマンドが受信されなければ、方法は待機し、受信されれば、方法はステップ603に進む。
本開示の少なくとも1つの実施形態においては、ステップ603において、デベロッパツール108は、CSBが提供するAPIを介して、コネクタパッケージをCSBデバイス102にインストールするように構成される。
本開示の少なくとも1つの実施形態においては、ステップ605において、デベロッパツール108は、コネクタパッケージからコンテナオーケストレータパッケージを受信するように構成される。
本開示の少なくとも1つの実施形態においては、ステップ607において、デベロッパツール108は、認可クレデンシャルを生成するように構成される。本開示の少なくとも1つの実施形態においては、デベロッパツール108は、コンテナオーケストレータパッケージから受信した情報に基づいて、既存の環境認証データを無効にするようにさらに構成される。
方法600は次に、ステップ609に進み、コネクタパッケージがパーシスタンス(すなわち、ステートフル性を保証するためのデータベースの使用)を必要とするか確認するためにチェックが実行される。コネクタバックエンドがデータベースを必要とすれば、方法600は、ステップ609に進み、必要としなければ、ステップ613に進む。
本開示の少なくとも1つの実施形態においては、コネクタパッケージがデータベースを必要とする場合、ステップ611において、デベロッパツール108は、デベロッパに、データベース接続ストリングを指定してコンテナオーケストレータパッケージに基づいて環境を上書きにするよう求めるように構成される。本開示の少なくとも1つの実施形態においては、ステップ611において、デベロッパツール108は、この情報を受信し得る。
本開示の少なくとも1つの実施形態においては、ステップ613において、デベロッパツール108は、コネクタバックエンドハブのうちの1つでコネクタバックエンドを実行するように構成される。デベロッパツール108は、コンテナオーケストレータマネージャ242を介してコンテナオーケストレータ(例えば、Kubernetes)を含めるようにさらに構成される。本開示の少なくとも1つの実施形態においては、コンテナオーケストレータマネージャ242は、コネクタバックエンドの実行、負荷バランシングの構成、スケーラビリティの追加およびログの保持を行うように構成される。
方法600は次に、ステップ615に進み、コンテナオーケストレータは、バックエンドのエンドポイントURLを生成する。本開示の少なくとも1つの実施形態においては、コンテナオーケストレータ(例えば、Kubernetes)は、必要な依存関係を有するコネクタバックエンド画像をダウンロードして、それらをコンテナオーケストレータパッケージ内で設定された事前定義された順序で実行して、展開されたコネクタバックエンドのエンドポイントURLを返す。
方法600は次に、ステップ617に進み、デベロッパツール108は、適切なハイパーテキストトランスファプロトコル(HTTP)要求をCSBコントローラ104に送信することによって、提供されたエンドポイントURLを用いてCSBコントローラ104内でコネクタバックエンドを登録する。
本開示の少なくとも1つの実施形態においては、デベロッパツール108は、アップグレードモードで動作するようにさらに構成され、デベロッパツール108は、CSB APIを介してコネクタパッケージの新バージョンをCSBプラットフォームにインストールして、デベロッパツール108は、コネクタパッケージから新しいコンテナオーケストレータパッケージを受信する。最後に、デベロッパツール108は、新しいコンテナオーケストレータパッケージをコンテナオーケストレータ(例えば、Kubernetes)にアップロードするように構成される。本開示の少なくとも1つの実施形態においては、コンテナオーケストレータは、新しい依存関係を有する新しいコンテナアプリケーションサービス画像をダウンロードして、新しい画像を実行して、次に以前のバージョンの動作を停止する。コンテナオーケストレータにより、サービスのダウンタイム無しでリアルタイム(すなわち、最新の)アップグレードが可能になることが理解されるであろう。
本発明は、図面および上記の説明において例示され詳述されたが、それは、特性においても、例示的であり、限定的でないとみなされるべきであるが、特定の実施形態のみが示されて説明されたものであり、本開示の精神の範囲に入るすべての変更と修飾が保護されることが望ましいことが理解される。
本開示の少なくとも1つの実施形態においては、クラウドサービスブローカ(CSB)プラットフォームを用いた、ソフトウェアサービスの統合チャネル展開のための方法は、CSBプラットフォームアプリケーションプログラミングインタフェース(API)を介して、CSBプラットフォームにアーカイブコネクタパッケージをインストールすることと、コンテナオーケストレータパッケージを受信することと、認証クレデンシャルを生成することとを含み、認証クレデンシャルは、展開ディスクリプタ内にさらに組み込まれ、コンテナオーケストレータパッケージから取得されたコネクタバックエンドを実行することと、バックエンドのエンドポイント統一資源位置指定子(URL)を生成することと、CSBプラットフォームにおいて、エンドポイントURLを登録することとを含む。
本開示の少なくとも1つの実施形態においては、クラウドサービスブローカ(CSB)プラットフォームを用いた、ソフトウェアサービスのコネクタ開発および統合チャネル展開のためのシステムが提供され、このシステムは、CSBプラットフォームに動作可能に接続されたデベロッパツールを含み、デベロッパツールは、インフラストラクチャ構成要素ライブラリと、複数のデベロッパツールモジュールとを備え、CSBプラットフォームは、CSBコントローラをさらに備える。
本開示の少なくとも1つの実施形態においては、デベロッパツールは、コネクタパッケージの作成を要求し、ベースコネクタパッケージを作成するためにアーキタイプコネクタパッケージのコピーを作成し、ソフトウェアサービスのためのビジネス論理コードをコンパイルして、ベースコネクタパッケージに少なくとも部分的に基づいてコネクタパッケージを生成し、リソースモデルスキーマを作成し、リソースモデルスキーマは、コネクタアーカイブ内にさらにパッケージ化され、コネクタバックエンド展開ユニットを作成し、コネクタバックエンド展開ユニットは、サーバ画像内にさらに結合され、コンテナオーケストレータパッケージを作成し、コンテナオーケストレータパッケージは、コンテナオーケストレータリソースのセットを含み、コンテナオーケストレータパッケージは次いで、パッケージリポジトリ内にプッシュされ、サーバ画像をサーバリポジトリにプッシュし、コネクタアーカイブからのリソースモデルスキーマ、およびコンテナオーケストレータパッケージをアセンブルして、アーカイブコネクタパッケージを作成し、アーカイブコネクタパッケージをCSBプラットフォームに送達するように構成される。
本開示の少なくとも1つの実施形態による、コネクタ開発のためのシステムおよび統合チャネル展開の概略図である。
本開示の少なくとも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は、複数のコンテナオーケストレータソリューションを含み得るが、複数のコンテナオーケストレータソリューションの各々は、異なる目的のために、例えば、テスト、または製造サポート目的のために構成されることがさらに理解されるであろう。
本開示の少なくとも1つの実施形態においては、インフラストラクチャ構成要素ライブラリ202は、ログマネージャライブラリ204、テストライブラリ206、モニタリングマネージャライブラリ208、認可マネージャライブラリ210、ユーザインタフェース(UI)構成要素ライブラリ212、データベースマネージャライブラリ214、RESTアプリケーションサービスライブラリ216およびデベロッパ構成要素プレースホルダライブラリ218を含む、複数の事前定義されたコネクタパッケージライブラリをさらに含む。
本開示の少なくとも1つの実施形態においては、デベロッパツール108は、埋め込みロガーを構成するように動作可能であり、中央ロギングシステムにおいて起点特定のために用いられるコネクタパッケージ名と同じであり得る一意の名前をセットアップすることと、トレースニーズのためにすべての着信および発信要求のログを生成することと、着信するマルチサービスコール要求から相関および生成情報を抽出することと、日付、相関識別子、スレッド識別子、一意の名前、ロガー名およびログメッセージを含む統合ログラインフォーマットをセットアップすることと、非同期標準出力ロギングアペンダをセットアップすることとを含む。統合ログファイルフォーマットは、好ましい性能を可能にすることが理解されるであろう。非同期標準化出力ロギングが、中央ロギングシステムにおいて容易な検索を可能にすることがさらに理解されるであろう。
ここで図3を参照すると、本開示の少なくとも1つの実施形態による、コネクタ開発および統合チャネル展開のための方法300が示される。方法300は、ステップ302において、要求をチェックすること、ステップ304において、コネクタパッケージのコピーを作成すること、ステップ314において、統合コマンドをチェックすること、およびステップ316において、バックエンド構築を開始することを含む。
本開示の少なくとも1つの実施形態においては、ステップ404において、ビジネスコードがコンパイルされて、コネクタパッケージが生成される。本開示の少なくとも1つの実施形態においては、コネクタデベロッパがバックエンドの構築を完了した後、デベロッパツール10は、(任意のビジネスコードを含む)新しいコネクタパッケージのソースコードを自動的にコンパイルして、新しいコネクタパッケージをテストするように構成される。
本開示の少なくとも1つの実施形態においては、デベロッパツール10は、ステップ408において、リソースモデルスキーマビルダー226を使用して、リソースモデルスキーマを生成して、これをアーカイブに圧縮するようにさらに構成される。リソースモデルスキーマは、コネクタデベロッパによって記述されたビジネスコードのJavaクラスから生成されることが理解されるであろう。
本開示の少なくとも1つの実施形態においては、コネクタパッケージがデータベースを必要とする場合、ステップ611において、デベロッパツール108は、デベロッパに、データベース接続ストリングを指定してコンテナオーケストレータパッケージに基づいて環境変数を上書きにするよう求めるように構成される。本開示の少なくとも1つの実施形態においては、ステップ611において、デベロッパツール108は、この情報を受信し得る。

Claims (17)

  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に記載のシステム。


JP2020563664A 2018-05-15 2019-05-15 コネクタ開発および統合チャネル展開のためのシステムおよび方法 Active JP7011737B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/980,487 US10942719B2 (en) 2018-05-15 2018-05-15 System and method for connector development and integration channel development
US15/980,487 2018-05-15
PCT/US2019/032427 WO2019222357A1 (en) 2018-05-15 2019-05-15 System and method for connector development and integration channel deployment

Publications (2)

Publication Number Publication Date
JP2021518619A true JP2021518619A (ja) 2021-08-02
JP7011737B2 JP7011737B2 (ja) 2022-01-27

Family

ID=68533715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020563664A Active JP7011737B2 (ja) 2018-05-15 2019-05-15 コネクタ開発および統合チャネル展開のためのシステムおよび方法

Country Status (8)

Country Link
US (1) US10942719B2 (ja)
EP (1) EP3814888A4 (ja)
JP (1) JP7011737B2 (ja)
CN (1) CN112534398B (ja)
AU (2) AU2019268349B2 (ja)
CA (1) CA3100205A1 (ja)
MX (1) MX2020012301A (ja)
WO (1) WO2019222357A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3079948C (en) * 2017-10-30 2022-12-20 Ingram Micro Inc. System and method for integrating cloud applications into a cloud service broker platform using an automated, universal connector package
EP3891605A1 (en) * 2018-12-05 2021-10-13 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus of providing a function as a service (faas) deployment of an application
US10776254B1 (en) * 2019-04-22 2020-09-15 Sap Se Executing integration scenario regression tests in customer landscapes
US11863673B1 (en) * 2019-12-17 2024-01-02 APPDIRECT, Inc. White-labeled data connections for multi-tenant cloud platforms
CN111078229A (zh) * 2019-12-20 2020-04-28 北京天融信网络安全技术有限公司 一种应用程序处理方法、装置、存储介质及电子设备
CN111158859B (zh) * 2019-12-30 2023-09-26 中电工业互联网有限公司 基于麒麟操作系统的应用管理系统及其实现与使用方法
US11366683B2 (en) * 2020-01-03 2022-06-21 International Business Machines Corporation Images deployment system across multiple architectures
US11775287B2 (en) * 2020-01-15 2023-10-03 Salesforce, Inc. Manifest and content delivery
US10908971B1 (en) * 2020-01-30 2021-02-02 Salesforce.Com, Inc. Method and system for generating a customizable connector
CN111596927B (zh) * 2020-05-15 2023-08-18 北京金山云网络技术有限公司 服务部署方法、装置及电子设备
CN112181587B (zh) * 2020-09-18 2022-09-09 烽火通信科技股份有限公司 一种基于docker技术的软件产品部署方法与系统
US11671419B2 (en) 2020-09-30 2023-06-06 APPDIRECT, Inc. Multi-cloud data connections for white-labeled platforms
CN112286628B (zh) * 2020-10-19 2022-05-17 烽火通信科技股份有限公司 一种统一纳管Kubernetes异构应用的系统及运行方法
CN112394954B (zh) * 2020-12-03 2023-07-04 中国人民解放军国防科技大学 一种面向高性能计算的随作业自动部署运行环境方法
CN112506796B (zh) * 2020-12-21 2022-06-10 北京百度网讯科技有限公司 数据处理方法、装置、设备以及存储介质
US11956232B2 (en) * 2021-03-19 2024-04-09 Okta, Inc. Integration packaging for a multi-tenant computing environment
CN113590169B (zh) * 2021-09-30 2021-12-21 武汉四通信息服务有限公司 应用部署方法、应用部署系统和计算机可读存储介质
US11893373B2 (en) * 2021-11-05 2024-02-06 Microsoft Technology Licensing, Llc Exposure and de-duplication of input parameters for complex Helm chart deployment
US11750710B2 (en) 2021-11-30 2023-09-05 Hewlett Packard Enterprise Development Lp Management cluster with integration service for deploying and managing a service in tenant clusters
US20230409306A1 (en) * 2022-05-25 2023-12-21 Cloudblue Llc Systems and methods for independent application design and deployment to platform host
WO2024182768A1 (en) * 2023-03-02 2024-09-06 Cloudblue Llc Sharing components among applications method for web application development

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015534674A (ja) * 2012-09-07 2015-12-03 オラクル・インターナショナル・コーポレイション クラウドコンピューティング環境で使用するためのワークフローオーケストレーションのためのシステムおよび方法
US10089083B2 (en) * 2016-12-14 2018-10-02 General Electric Company Service broker code generator

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9100345B2 (en) * 2012-12-21 2015-08-04 Software Ag Usa, Inc. Systems and/or methods for supporting a generic framework for integration of on-premises and SaaS applications with security, service mediation, administrative, and/or monitoring capabilities
US9824390B2 (en) * 2013-03-15 2017-11-21 International Business Machines Corporation Cloud service brokerage service store
US10230571B2 (en) * 2014-10-30 2019-03-12 Equinix, Inc. Microservice-based application development framework
CN107209692A (zh) * 2014-12-04 2017-09-26 诺基亚通信管理国际两合公司 虚拟化资源的操纵
US10581755B2 (en) * 2015-04-03 2020-03-03 Nicira, Inc. Provisioning network services in a software defined data center
EP3304285A1 (en) * 2015-06-03 2018-04-11 Telefonaktiebolaget LM Ericsson (publ) Implanted agent within a first service container for enabling a reverse proxy on a second container

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015534674A (ja) * 2012-09-07 2015-12-03 オラクル・インターナショナル・コーポレイション クラウドコンピューティング環境で使用するためのワークフローオーケストレーションのためのシステムおよび方法
US10089083B2 (en) * 2016-12-14 2018-10-02 General Electric Company Service broker code generator

Also Published As

Publication number Publication date
AU2021201836A1 (en) 2021-04-22
AU2021201836B2 (en) 2022-12-22
CN112534398B (zh) 2022-07-05
CA3100205A1 (en) 2019-11-21
JP7011737B2 (ja) 2022-01-27
US10942719B2 (en) 2021-03-09
AU2019268349B2 (en) 2021-01-21
US20190354354A1 (en) 2019-11-21
WO2019222357A1 (en) 2019-11-21
CN112534398A (zh) 2021-03-19
MX2020012301A (es) 2023-01-12
AU2019268349A1 (en) 2020-11-26
EP3814888A1 (en) 2021-05-05
EP3814888A4 (en) 2021-12-29

Similar Documents

Publication Publication Date Title
JP7011737B2 (ja) コネクタ開発および統合チャネル展開のためのシステムおよび方法
Burns et al. Kubernetes: up and running
US8850420B2 (en) Dynamically updating on-demand runtime platforms executing business applications
US10430204B2 (en) System and method for cloud provisioning and application deployment
US8122106B2 (en) Integrating design, deployment, and management phases for systems
Jendrock et al. Java EE 7 Tutorial, The, Volume 1
US7684964B2 (en) Model and system state synchronization
US9830135B2 (en) Declarative and pluggable business logic for systems management
US20130326487A1 (en) Emulating cloud functioning of applications locally
US10656971B2 (en) Agile framework for vertical application development and delivery
KR20200004835A (ko) 모놀로식 레거시 애플리케이션들에 기초한 마이크로서비스들의 컨테이너화된 전개
US10114861B2 (en) Expandable ad hoc domain specific query for system management
US10564961B1 (en) Artifact report for cloud-based or on-premises environment/system infrastructure
US8839223B2 (en) Validation of current states of provisioned software products in a cloud environment
Chawla et al. Building microservices applications on Microsoft azure: designing, Developing, Deploying, and Monitoring
US10802810B2 (en) Consuming persistent library bundles
Raman et al. Building RESTful Web Services with Spring 5: Leverage the Power of Spring 5.0, Java SE 9, and Spring Boot 2.0
Chawla et al. Building Microservices Applications on Microsoft Azure
Choudhary Kubernetes-Based Architecture For An On-premises Machine Learning Platform
Benton et al. Wallaby: A scalable semantic configuration service for grids and clouds
Somerville et al. Deploying Your Rails Applications
da Costa Pinto Refactoring Monoliths to Microservices
CN118227154A (zh) 基于可执行包的镜像制作方法、装置、服务器、介质及产品
Mulder et al. Oracle Application Server 10g: J2EE Deployment and Administration
Viklund Migration of a Large Scale J2EE Application from BEA WebLogic to IBM WebSphere

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210129

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210406

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211224

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220114

R150 Certificate of patent or registration of utility model

Ref document number: 7011737

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350