この例では、1 つのプロセスの中の多数のブランチのうち、2 つ以上が実行されます。この例を実装するには、ゲートウェイ要素を使用するか、イベントレシーバーをプロセスのスタートポイントとして使用します。
ゲートウェイを使用した実装
この例には、プロセス変数(どのブランチを実行するかに関する情報を格納)とゲートウェイ(実行可能なブランチを格納)が含まれています。各ブランチの特性は次のとおりです。
-
各ブランチの最初の操作は、
Decision Point
サービスによって提供される
execute
操作です。
-
この execute 操作を起点とするルートは、ブランチ内で実行されるアクティビティに続いています。
-
このルートには条件が関連付けられており、この条件に従って、アクティビティを実行するかどうかが判断されます。ルートが有効である場合は、アクティビティが実行されます。ルートが有効でない場合は、ブランチは完了となり、アクティビティは実行されません。
次の図では、activity A と activity B のいずれかまたは両方が実行されます。
イベントを使用した実装
この実装には、1 つのメインプロセスと多数のサブプロセスが含まれます。これらのサブプロセスは、実行される可能性のあるブランチです。実行時にどのサブプロセスを実行するかは、非同期タイプのイベントを使用して次のように決定します。
-
メインプロセスによって、このイベントがスローされます。イベントデータは、イベント情報の中に含まれています。
-
サブプロセスはそれぞれ、このイベントをスタートポイントとして受け取ります。スタートポイントに対するフィルターによって、そのサブプロセスが実行されるかどうかが決まります。
次の例では、メインのサブプロセスによって非同期イベントがスローされ、各サブプロセスはこのイベントをスタートポイントとして使用します。サブプロセスのスタートポイントに対するフィルターによって、そのサブプロセスを起動するかどうかが決まり、したがって activity A、activity B、またはその両方の、どれを実行するかが決まります。
-
A.
-
メインプロセス。
-
B.
-
activity A が含まれるサブプロセス
-
C.
-
activity B が含まれるサブプロセス。
|
|
|