アーキテクチャの概要
Crosswork Workflow Manager アーキテクチャは、Kubernetes コンテナ オーケストレーション システム上で動作するマイクロサービスベースのソリューションです。このセクションでは、コア アーキテクチャ コンポーネントを示す図と、それぞれの簡単な説明を示します。
-
ユーザーインターフェイス(UI):オペレータは、ワークフローの追加とインスタンス化、ワークフローデータの入力、実行中のワークフローの一覧表示、ジョブの進行状況の監視を行うことができます。UI の [管理(Admin)] セクションでは、ワーカーの追加、ワーカープロセスの管理、およびアダプタからワーカーへのアクティビティの割り当てを行うことができます。
-
REST API:CWM アプリケーションとのすべての連携(アダプタの展開、ワークフローの公開とインスタンス化、ワーカー、リソース、およびシークレットの管理)が含まれます。
-
制御サーバー:関連するマイクロサービスに API 要求をディスパッチします。
-
ワークフローエンジン:ワークフローの処理方法を制御するコアコンポーネントです。ワークフロー定義の実行を解釈および管理します。
-
実行エンジン(ワークフローワーカー):ワークフロータスクの実行を担当します。ワークフローエンジンからワークフロータスクを受信し、正しい順序で実行し、結果をワークフローエンジンに返します。
-
アダプタワーカー:ワークフロー定義とアダプタコードで定義されたタスクの実行を担うプロセスです。ワークフローワーカーからタスクを受信して実行し、結果をワークフローワーカーに送り返します。実行ワーカーは、追加のアダプタをプラグインとしてロードできるため、さまざまなシステムやテクノロジーと連携できます。
-
アダプタ:外部システム、アプリケーション、およびテクノロジーとのインターフェイスとなり、これらと統合します。アダプタ内部では、ワークフローで使われるアクティビティが定義されます。
-
アダプタ SDK:外部システムと統合するための新しいアダプタを作成する開発者を支援するソフトウェア開発キット。
-
ワークフロー定義:サーバレスワークフロー仕様に基づいて JSON 形式で記述されたワークフローコード。
-
K8s インフラストラクチャ:CWM アプリケーション用のランタイムプラットフォーム。これは、Kubernetes クラスタ内のアプリケーションの展開と管理をサポートするために必要なインフラストラクチャを提供するサービスの集合です。
-
PostgreSQL:データを保存および管理するためにシステムで使用されるデータベースです。