ゲートウェイ

ゲートウェイは、プロセス内部のシーケンススローの分岐や合流など、仕事の流れをコントロールするために使用されます。

Bonita BPM Studio のプロセス設計では、パラレル(AND)排他(XOR)包含(OR)の3つの種類のゲートウェイが利用可能です。これらのゲートウェイの振る舞いは、BPMN 2.0 仕様に従います。

パラレル(AND)ゲートウェイ

papde_pm_diag_gateways_parallel_gate

papde_pm_diag_gateways_parallel_gate2

パラレル(AND)ゲートウェイは、1つのシーケンスフローの流入と複数のシーケンスフローの流出を使って並行分岐(上図のゲートウェイ1)を示します。これは流出シーケンスフローのすべてが無条件に、並行に流れることを意味します。したがって、シーケンスフロー上に条件を指定する必要はありません。それぞれの流出経路は、プロセスのアクティビティが同時並行で進む道筋を表します。並行経路は下流で結合(上図のゲートウェイ2)するか、あるいは個別の終了イベントに至るか、いずれかの可能性があります。後者の場合には、各並行経路がプロセスレベルで完了となるために終了イベントに到達しなければいけません。アクティビティまたは開始イベントに続く、複数の流出シーケンスフロー(上図の下例)は並行分岐を意味します。したがって、その場合はANDゲートウェイ(ゲートウェイ1)は不必要です。

上図の2つの例の動作は同じです。一般的には上例の表現(つまり分岐記号を用いる)が使用されます。

排他(XOR)ゲートウェイ

papde_pm_diag_gateways_exclusive_gate.png

papde_pm_diag_gateways_exclusive_gate2

排他(XOR)ゲートウェイは、流出シーケンスフローのうちの1つのフローだけが有効(true)になることを意味します。流出シーケンスフロー上に定義した条件によって、有効/無効が判定されます。流出シーケンスフローは2つ以上存在しますが、そのうちの1つは条件を指定しないデフォルト シーケンスフローにする必要があります。上図のいずれの例でも、「プレミアム会員」でなく、「ゴールド会員」でもない「その他」の場合は、デフォルト シーケンスフローが有効になり「ステップ4」が実行されます。

上図の下例に示すように、分岐された流出シーケンスフローを下流で排他(XOR)ゲートウェイを使って結合(上図のゲートウェイ2)して表現することも可能ですが、一般的には上例の表現(つまり合流記号を用いない)が使用されます。動作は上下とも同じです。

 

包含(OR)ゲートウェイ

papde_pm_diag_gateways_inclusive_gate

包含(OR)ゲートウェイは、排他(XOR)ゲートウェイと同様に、流出シーケンスフロー上に定義した条件によって、有効/無効が判定されますが、その条件は独立しており、2つ以上のシーケンスフローが有効(true)になる可能性があります。2つ以上のシーケンスフローが有効になる場合、それらの経路は並行して実行されます。

上図の例では、「プレミアム会員」で、かつ「女性」の場合は、「ステップ2」と「ステップ3」が並行して実行されます。「プレミアム会員」で、かつ「男性」の場合は、「ステップ2」のみ実行されます。それ以外の場合は、「ステップ4」が実行されます。