統同期合

これは、複数選択の例で説明した構成体の後に実行される同期の例です。複数選択構成体の中で実行されるブランチは、1 つのアクティビティで収束します。このアクティビティが実行されるのは、実行されたブランチがすべて完了したときのみです。

この例の実装は、複数選択構成体の実装にゲートウェイ要素とイベントのどちらを使用したかによって異なります。

複数選択にゲートウェイを使用した場合の実装

複数選択構成体の実装にゲートウェイを使用した場合の、同期統合構成体の実装の特性は次のとおりです。

  • 各ブランチの実行後に実行されるアクティビティは、ゲートウェイの後に続きます。

  • ゲートウェイの Control Type プロパティの値は AND-WAIT に設定されます。

    次の図は、ゲートウェイに続くアクティビティを示しています。このアクティビティは、ゲートウェイ内のブランチがすべて完了した後に実行されます。

複数選択にイベントを使用した場合の実装

複数選択構成体がイベントを使用して実装された場合の同期統合を実装するには、各サブプロセスがメインプロセスにメッセージを送信する必要があります。これは、そのサブプロセスが完了したか、実行されなかったかを通知するためです。

  • 各サブプロセスのスタートポイントでは、イベントデータのフィルタリングは行われません。代わりに、サブプロセス内のアクティビティが実行されるかどうかの判定を、 Decision Point サービスの execute 操作によって行います。

  • 各サブプロセスは、そのサブプロセスの最後のアクティビティとして非同期イベントをスローします。

  • このイベントがスローされるときに、イベントが属するサブプロセスの名前がイベントデータの一部として送信されます。

  • メインプロセスに含まれているゲートウェイには、サブプロセスごとに 1 つのブランチがあり、各ブランチには、そのサブプロセスがスローしたイベントのレシーバーが含まれます。ゲートウェイの Control Type プロパティは AND-WAIT に設定されます。

    次の図に示すメインプロセスには、merge AB アクティビティが含まれています。このアクティビティは、各サブプロセスが完了するたびに実行されます。また、その図に示すように、サブプロセスがイベントをスローします。これは、そのサブプロセス内のアクティビティが完了したか、実行されなかったかを知らせるものです。

    フルサイズのグラフィックを表示
    A.
    メインプロセス。

    B.
    activity A が含まれるサブプロセス

    C.
    activity B が含まれるサブプロセス