XOR / OR / AND ゲートウェイの使い分け

ワークフローでは、業務を1本の流れだけでなく、状況に応じて複数の経路に分けたい場面があります。この記事では、分岐に使う3種類のゲートウェイ(分岐 XOR/分岐 OR/分岐 AND ゲートウェイ)の「使い分け」を解説します。

条件式(遷移条件)の具体的な指定方法や、ヒューマンタスクによる分岐は、別記事「分岐条件の指定の仕方」を参照してください。

分岐とは?

多くのワークフローでは、業務は1つの流れに沿って進みます。分岐を配置すると進むべき経路を複数設定でき、入力データや処理担当者の選択に応じて、どの経路に進むかを決められます。

ワークフロー図上で業務の進捗を表すアイコンを「トークン」と呼びます。通常トークンは1つで、条件を満たした1経路だけに進みますが、分岐 OR/分岐 AND ゲートウェイではトークンが複製され、複数の経路を同時並行で進むこともあります。

使い分け早見表

迷ったら、まずこの表で当たりをつけてください。

アイコン分岐の方法トークンの複製遷移条件主な用途対応エディション
ヒューマンタスク分岐しない(1経路)ユーザ選択 または 条件式担当者がボタンで進路を選ぶ/入力値で自動振り分けBasic 以上
分岐 XOR ゲートウェイしない(1経路)条件式(最初に合致した1つ)入力値で自動的に1経路へ振り分けBasic 以上
分岐 OR ゲートウェイする(合致した全経路)条件式条件を満たす複数経路へ同時に進めるAdvanced 以上
分岐 AND ゲートウェイする(全経路)不要必ず複数工程を同時並行で進めるAdvanced 以上

ポイントは2つです。「1経路だけに進めたいのか、複数経路に分けたいのか」、そして「振り分けを自動(条件式)にするか、担当者の選択にするか」。トークンの複製が必要な 分岐 OR/分岐 AND ゲートウェイは Advanced エディション以上で利用できます。なお、担当者がボタンで進路を選ぶ「ヒューマンタスク分岐」は別記事「分岐条件の指定の仕方」で解説しています。

      各ゲートウェイの挙動

      分岐 XOR ゲートウェイ(Basic 以上)

      設定した条件式に従い、最初に合致した1経路へ自動的にトークンを進めます。担当者が処理する工程は作られず、入力済みのデータをもとにシステムが自動で1経路へ振り分けます。複数進路のうち、必ずどれか1つだけに進めたいときに使います。

      分岐 OR ゲートウェイ(Advanced 以上)

      条件式を満たす経路すべてに、トークンを複製して進めます。分岐 XOR が「最初の1つだけ」なのに対し、分岐 OR は「条件を満たすものを全部」進める点が違います。「メール通知も送りつつ、本筋の確認工程にも必ず進める」のように、複数の処理を同時に走らせたい場面で使います。

      分岐 AND ゲートウェイ(Advanced 以上)

      条件式は設定せず、接続された全経路にトークンを複製して進めます。「総務部の契約書作成」と「経理部の与信確認」のように、無条件で必ず複数工程を同時並行させたいときに使います。

      分岐 OR / 分岐 AND を使うときの注意

      分岐 OR・分岐 AND はトークンが複製されるため、設計上いくつか気をつける点があります。

      • 複製されたトークンを1本に戻すには、分岐タイプに対応した統合 OR/統合 AND ゲートウェイを配置します。これらは、到着予定の全トークンが揃うまで待ち合わせてから次へ進みます。
      • 各経路をそれぞれ別の終了イベントに到達させ、合流させずに終わらせることもできます。この場合、すべてのトークンが終了して初めてケースが終了します([全終了イベント]を配置すると、他経路にトークンが残っていても、その時点でケースを終了できます)。
      • ループ構造の中で 分岐 OR/分岐 AND を使い、複製されたトークンがさらに複製されるような形は、トークンが無限に増殖するおそれがあるため禁止されており、定義エラーになります。

      ※ 統合 XOR ゲートウェイは分岐 XOR に対応する合流で、待ち合わせは行いません(トークンは1つずつそのまま通過します)。

      業務アプリでの例

      分岐 XOR:稟議フロー

      稟議承認フローでは、決裁後に 分岐 XOR ゲートウェイで「外部支払」の金額を評価し、一定額以上なら役員承認へ、そうでなければ次工程へ自動で振り分けます。

      分岐 AND:外注契約フロー

      外注契約フローでは、分岐 AND ゲートウェイでトークンを複製し、「委託契約書案の提示」(総務部)と「与信確認」(経理部)を同時並行で処理します。両方が完了すると統合 AND ゲートウェイで合流して次へ進みます。

      分岐 OR:SLA申請対応フロー

      SLA申請対応フローでは、分岐 OR ゲートウェイで「ダウンタイム確認」へは無条件に進めつつ、「一次回答が必要」な場合だけメール送信にもトークンを複製します。条件を満たす経路すべてに進む 分岐 OR の特性を活かした例です。

      これらのサンプルは「ワークフローアプリ(業務テンプレート)」からダウンロードして試せます。

      See also

      Questetra Supportをもっと見る

      今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

      続きを読む