BPMNゲートウェイ
ゲートウェイとは
BPMN 2.0では、ゲートウェイが、条件に基づいてSequence Flowを分岐、統合、方向付けすることで、プロセスの流れを制御します。プロセス内の判断ポイントとして、経路を分岐または収束させ、複数の結果を持つ複雑なワークフローをモデル化できます。BPMN図では、ゲートウェイはひし形で表され、内部の異なる記号によって固有の動作を示します。
ゲートウェイのタイプ
排他的ゲートウェイ(XORゲートウェイ)
- 目的:条件に基づいて、プロセスが1つの出力経路だけを進む、最も一般的なタイプのゲートウェイです。
- 視覚表現:内部に「X」を持つひし形です。
- 例:承認プロセスで、申請が承認された場合は一方の経路を進み、却下された場合は別の経路を進みます。
- 使用例:判断に基づいてプロセスが1つの経路だけを進む場合です。「はい/いいえ」や「真/偽」などが該当します。
包括的ゲートウェイ(ORゲートウェイ)
- 目的:条件に基づいて、1つ以上の経路を進めるゲートウェイです。条件が真になるすべての経路が選択されます。
- 視覚表現:内部に円を持つひし形です。
- 例:複数の承認が必要なプロセスで、設定した条件に基づき、該当するすべての承認経路を進めます。
- 使用例:複数の条件に応じて異なるアクションを実行できる場合など、複数の経路を進める場合です。
並列ゲートウェイ(ANDゲートウェイ)
- 目的:フローを複数の並列経路に分岐し、すべての分岐を同時に進めるゲートウェイです。複数の入力経路を同期するためにも使用できます。
- 視覚表現:内部に「+」を持つひし形です。
- 例:複数の部門が同時に文書を確認するタスクです。
- 使用例:タスクやアクションを並列に実行する場合、または複数の経路を同期してから次に進む場合です。
イベントベースゲートウェイ
- 目的:発生したイベントに基づいてフローを振り分けるゲートウェイです。特定のイベント(たとえば、メッセージ、タイマー、シグナル)を待ち、進む経路を決定します。
- 視覚表現:内部に五角形を持つひし形です。
- 例:顧客からの返信またはタイムアウトを待ってフローを進めるプロセスです。
- 使用例:メッセージやタイマーのトリガーを待つ場合など、プロセスの次のステップが外部イベントに依存する場合です。
ゲートウェイの要点
- フローの分岐:ゲートウェイは、1つのSequence Flowを複数の分岐に分け、条件やイベントに基づいて進む経路を決定できます。
- フローの統合:複数のSequence Flowを1つに統合し、並列経路を同期したり、特定の条件に基づいて収束させたりできます。
- 意思決定:評価結果、イベント、ユーザー入力に応じてプロセスの流れが変わる判断ポイントをモデル化するために、ゲートウェイは欠かせません。
使用例
- 排他的ゲートウェイ:1つの条件だけが真になり、プロセスが1つの経路を進む必要がある場合です。
- 並列ゲートウェイ:複数のタスクを同時に実行でき、すべて完了する必要がある場合です。
- 包括的ゲートウェイ:1つ以上の条件が真になり、複数の経路を進む必要がある場合です。
- イベントベースゲートウェイ:メッセージやタイマーを待つ場合など、フローが外部イベントに依存する場合です。
- 複合ゲートウェイ:複雑なルールや条件によってプロセスの進み方が決まる場合です。
例
単純な承認ワークフローでは、次のようになります:
- 排他的ゲートウェイ:申請が承認されるとプロセスは進み、却下されると終了します。
- 並列ゲートウェイ:承認後、文書の準備と通知という2つのタスクを並列に完了できます。
- イベントベースゲートウェイ:顧客からの返信またはタイムアウトを待ち、次のステップを決定します。
ゲートウェイは、判断、並列処理、ワークフロー内の異なる経路の同期を可能にし、ビジネスプロセスをより柔軟にするために重要です。