このページ内
BPMNゲートウェイの種類と活用法
はじめに
BPMN 2.0では、Gatewayはプロセスフローを条件によって分岐・合流・誘導する役割です。分岐や合流などの判断点となり、多様なワークフローも直感的に表現できます。BPMN図ではアイコン入りの菱形で表されます。
Gatewayの種類
Exclusive Gateway (XOR Gateway)
- 目的: 最も一般的なGatewayで、条件により1つだけの経路を選択します。
- 表記: “X”が入った菱形。
- 例: 承認フローで承認なら1つの経路、却下ならもう一方に進みます。
- ユースケース: 「はい/いいえ」「真/偽」など判断で1つだけ進む場合に使います。
Inclusive Gateway (OR Gateway)
- 目的: 条件により1つまたは複数の経路を同時に進行します。条件が真のすべての経路を実行。
- 表記: 円が入った菱形。
- 例: 複数承認が必要なプロセスで、条件を満たす全承認経路が並行実行。
- ユースケース: 複数条件を満たせば複数経路を同時進行したい時に使います。
Parallel Gateway (AND Gateway)
- 目的: フローを複数のパラレルな経路に分岐。すべての経路を同時に進行し、また複数経路の合流にも使えます。
- 表記: ”+“入りの菱形。
- 例: 複数部門で同時に書類をレビューするタスク。
- ユースケース: 複数タスクを並行実行、またはパラレル経路を同期したい時に使います。
Event-Based Gateway
- 目的: 発生したeventによってフローを分岐します。特定のevent(例:Message、Timer、Signal)が発生するまで待機し、進行するパスを決定します。
- 表記: 五角形が入った菱形で表されます。
- 例: 顧客からの返信かタイムアウトを待って処理を続けるプロセス。
- ユースケース: 次の処理がメッセージやタイマートリガーなど外部eventに依存する場合に使用します。
Gatewayの主なポイント
- 分岐(Splitting Flows): 1つのシーケンスを複数経路に分け、条件やeventに沿った進路選択が可能。
- 合流(Merging Flows): 複数シーケンスを1つにまとめ、並列経路の同期や条件合流が可能です。
- 意思決定(Decision-Making): 評価・event・ユーザー入力の結果でフローを判断しやすくなります。
ユースケース
- Exclusive Gateway: 1つのみが真となり、プロセスが1経路だけ進行する場合。
- Parallel Gateway: 複数タスクの同時実行すべてを完了させたい時。
- Inclusive Gateway: 複数条件を満たす場合に該当経路を同時進行したい時。
- Event-Based Gateway: メッセージやタイマー等の外部eventで分岐が必要な場合。
- Complex Gateway: 複雑なルールや条件で経路を制御する必要がある場合。
例
シンプルな承認ワークフローの場合:
- Exclusive Gateway: リクエスト承認時は進行、却下時は終了。
- Parallel Gateway: 承認後、書類作成と通知タスクを同時並行で実行。
- Event-Based Gateway: 顧客返信またはタイムアウトを待って次工程を分岐。
Gatewayは業務プロセスの柔軟性向上・意思決定・並列処理・経路同期の重要要素です。