Process Framework は、開発者がコア コンポーネントを通じて高度なワークフローを構築できるモジュール型アーキテクチャに基づいて構築されています。 これらのコンポーネントを理解することは、フレームワークを効果的に活用するために不可欠です。
プロセス
プロセスは、ステップの実行を調整する包括的なコンテナーとして機能します。 ステップ間のデータのフローとルーティングが定義され、プロセスの目標が効率的に達成されるようにします。 プロセスは入力と出力を処理し、さまざまなワークフローにわたって柔軟性とスケーラビリティを提供します。
プロセス機能
- Stateful: 状態の追跡や完了率などの情報のクエリと、一時停止と再開の機能をサポートします。
- 再利用可能: プロセスは他のプロセス内で呼び出すことができるので、モジュール性と再利用性が向上します。
- Event Driven: リスナーを含むイベント ベースのフローを使用して、ステップやその他のプロセスにデータをルーティングします。
- Scalable: は、グローバルなスケーラビリティとロールアウトのために確立されたランタイムを利用します。
- Cloud Event Integrated: プロセスまたはステップをトリガーするための業界標準のイベントが組み込まれています。
プロセスの作成
新しいプロセスを作成するには、プロセス パッケージをプロジェクトに追加し、プロセスの名前を定義します。
Step
ステップは、プロセス内の基本的な構成要素です。 各ステップは、個別の作業単位に対応し、1 つ以上のカーネル関数をカプセル化します。 手順は、特定のプロセスでの使用とは別に作成でき、再利用性が向上します。 実行された作業に基づいてイベントを生成し、後続のステップをトリガーできます。
ステップ機能
- Stateful: ステータスや定義されたタグなどの情報の追跡を容易にします。
- 再利用可能: ステップは、複数のプロセスで使用できます。
- Dynamic: ステップは、必要なパターンに応じて、必要に応じてプロセスによって動的に作成できます。
- フレキシブル: は、コードのみのカーネル関数、API 呼び出し、AI エージェント、人間のループなど、さまざまな種類の手順を開発者に提供します。
- Auditable: テレメトリは、ステップとプロセスの両方で有効になります。
ステップの定義
Step を作成するには、Step に名前を付けるパブリック クラスを定義し、それを KernelStepBase に追加します。 クラス内には、1 つまたは複数のカーネル関数を組み込むことができます。
プロセスにステップを登録する
クラスが作成されたら、プロセス内で登録する必要があります。 プロセスの最初のステップでは、プロセスがどこから開始するかを認識できるように、 isEntryPoint: true
を追加します。
ステップ イベント
手順には、次のようないくつかのイベントがあります。
- OnEvent: クラスの実行が完了したときにトリガーされます。
- OnFunctionResult: 定義されたカーネル関数が結果を出力するときにアクティブ化され、出力を 1 つまたは複数のステップに送信できます。
- SendOutputTo: 後続のステップに結果を送信するためのステップと入力を定義します。
パターン
パターンによって一般的なプロセス フローが標準化され、頻繁に使用される操作の実装が簡略化されます。 さまざまな実装で繰り返し発生する問題を解決するための一貫したアプローチが促進され、保守性と読みやすさの両方が向上します。
パターンの種類
- ファンイン: 次のステップの入力は、前の手順の複数の出力でサポートされています。
- ファンアウト: 前のステップの出力は、プロセスの下にある複数のステップに送られます。
- Cycle: ステップは、入力と出力に基づいて完了するまでループを続けます。
- Map Reduce: ステップからの出力は、より少量に統合され、次のステップの入力に送られます。
パターンの設定
クラスがステップ用に作成され、プロセス内に登録されたら、他のステップにダウンストリームに送信する必要があるイベントを定義したり、ステップからの出力に基づいてステップを再起動する条件を設定したりできます。