camundaサブプロセスの使い方(サブプロセス)

Camunda では、サブプロセスはメイン プロセスに埋め込むことができる小さなプロセスであり、複雑なビジネス ロジックを処理してプロセスの可読性と保守性を向上させるために使用できます。サブプロセスを使用する利点は次のとおりです。

1. 複雑なビジネス ロジックの分離: 複雑なビジネス ロジックをサブプロセスに分割することで、メイン プロセスをシンプルにし、読みやすく、保守しやすくします。

2. プロセスの再利用性の向上: サブプロセスを複数のプロセスで共有して、プロセスの再利用性とスケーラビリティを向上させることができます。

3. 独立性: メインプロセスへの影響を避けるために、サブプロセスはメインプロセスから独立してテスト、デバッグ、変更できます。

4. 柔軟性: 複数のサブプロセスを使用することで、さまざまなビジネス シナリオや要件の変化に対応する柔軟なプロセスを構築できます。

Camunda では、サブプロセスは、埋め込みサブプロセス (埋め込みサブプロセス) または呼び出しサブプロセス (呼び出しアクティビティ) を使用して実装できます。埋め込みサブプロセスは、メイン プロセスに直接埋め込まれ、メイン プロセスのどこでも実行できるサブプロセスです。一方、呼び出しサブプロセスは、別のプロセス定義を呼び出すことによってサブプロセスを実行する方法であり、入力出力パラメータを使用して実行できます。データを渡すため。

つまり、Camunda のサブプロセスを使用すると、複雑なビジネス ロジックを分離し、プロセスの再利用性、独立性、柔軟性を向上させることができます。サブプロセスは、埋め込みサブプロセスまたはサブプロセスの呼び出しを使用して実装でき、ビジネス シナリオと要件に応じて適切な方法を選択する必要があります。

1. camundaのサブプロセスの使い方

Camunda では、サブプロセスはメイン プロセスに埋め込むことができ、複雑なビジネス ロジックを処理するために使用できる小さなプロセスです。Camunda は、埋め込みサブプロセスと呼び出しアクティビティという 2 つのサブプロセス実装をサポートしています。

以下では、これら 2 つのサブプロセスの使用方法について説明します。

1. 埋め込みサブプロセス

埋め込みサブプロセスは、メイン プロセスに直接埋め込まれ、メイン プロセス内のどこでも実行できるサブプロセスです。メインプロセスと同じBPMN形式を使用してモデル化されているため、タスク、ゲートウェイ、イベントなどの同じ要素を使用できます。

埋め込みサブプロセスを使用する手順は次のとおりです。

(1) BPMN モデルで、サブプロセス要素を追加する適切な場所を選択します。

(2) サブプロセス内のタスク、ゲートウェイ、イベント、その他の要素を含む、サブプロセスの BPMN モデルを定義します。

(3) メインプロセスの任意の場所にサブプロセス実行タスク(Sub Process Task)を追加し、実行するサブプロセスIDを設定します。

(4) プロセスインスタンスの起動後、メインプロセスは自動的にサブプロセスタスクを実行し、実行完了後もメインプロセスを継続実行します。

2. サブプロセスの呼び出し

呼び出されたサブプロセスは、別のプロセス定義を呼び出し、入出力パラメーターを使用してデータを渡すことによってサブプロセスを実行する方法です。これは Java のメソッド呼び出しに似ており、同じサブプロセス定義を再利用できます。

呼び出されたサブプロセスを使用する手順は次のとおりです。

(1) BPMN モデルで、通話アクティビティ要素を追加する適切な場所を選択します。

(2) Call Activityに呼び出されるサブプロセス定義IDを設定します。

(3) メインプロセスの任意の場所に呼び出し元のサブプロセスタスク(Call Activity Task)を追加し、実行するためのCall Activity IDを設定します。

(4) メインプロセスの入出力パラメータを使用して、サブプロセスで使用するデータを渡します。

(5) プロセスインスタンスの起動後、メインプロセスはサブプロセスを呼び出すタスクを自動的に実行し、実行完了後もメインプロセスを継続実行します。

つまり、Camunda のサブプロセスを使用すると、複雑なビジネス ロジックを分離し、プロセスの再利用性、独立性、柔軟性を向上させることができます。サブプロセスは、埋め込みサブプロセスまたはサブプロセスの呼び出しを使用して実装でき、ビジネス シナリオと要件に応じて適切な方法を選択する必要があります。

 

2. camundaのメインプロセスとサブプロセス間でデータを転送する方法

Camunda では、次のようなさまざまな方法でメイン プロセスとサブプロセスの間でデータを転送できます。

1. 変数の転送
変数は、プロセス インスタンスにデータを保存するために Camunda で使用されるメカニズムです。メインプロセスとサブプロセスに同名の変数を定義することでデータの受け渡しが可能です。具体的には、メインプロセスでは出力パラメータを通じてサブプロセスに変数を渡し、サブプロセスでは入力パラメータを通じて変数の値を取得できます。同様に、サブプロセスの実行が完了した後、変数の値を出力パラメータを通じてメイン プロセスに戻すことができます。

2. 非同期メッセージパッシング
非同期メッセージは、Camunda がサポートするイベントで、メインプロセスとサブプロセス間でデータを転送できます。具体的には、サブプロセスのメッセージイベント(Message Event)を通じてメインプロセスにメッセージを送信し、中間のメッセージイベント(Intermediate Message Event)を通じてメインプロセスでメッセージとデータを受信することができます。

3. 共有データ
共有データは、プロセス インスタンス内の複数のノード間で同じデータを共有できる Camunda のメカニズムです。メインプロセスとサブプロセスでデータを共有してデータを転送できます。

つまり、Camunda ではメインプロセスとサブプロセスの間でデータを転送する方法が複数あり、ビジネス シナリオや要件に応じて適切な方法を選択する必要があります。最も一般的な方法は、変数の受け渡しを使用することです。変数の受け渡しはシンプルで使いやすく、簡単に拡張および保守できるためです。

おすすめ

転載: blog.csdn.net/wxz258/article/details/130709338