プロセス内のロジックの種類
akaBot Center の論理ゲートウェイは、プロセス フローが意思決定ポイントでどのように分割および結合されるかを制御します。ゲートウェイはタスクを実行するのではなく、1 つ以上の条件を評価し、プロセス インスタンスが次にどのシーケンス フローに従うべきかを決定します。ワークフローのビジネス ルールを正確にモデル化し、考えられるすべてのシナリオでプロセスが期待どおりに動作するようにするには、正しいゲートウェイ タイプを選択することが重要です。
akaBot Center は、BPMN 2.0 仕様から派生した 3 つの標準ゲートウェイ タイプ、AND (並列)、OR (包括的)、および XOR (排他的) をサポートします。各ゲートウェイ タイプには、対応する分割動作 (どの送信パスがアクティブ化されるかを決定) と結合動作 (複数の並列パスが収束した後にいつプロセスを継続できるかを決定) があります。正しく効率的なプロセスを設計するには、両方の動作を理解することが必要です。
標準のゲートウェイ タイプに加えて、akaBot Center は イベント ベース ゲートウェイをサポートしています。これは、HTTP 呼び出しからの応答の受信や、特定の期限までに完了したヒューマン タスクなど、どの外部イベントが最初に発生したかに基づいて次のパスを決定します。イベントベースのゲートウェイは、複雑なワークフローにおける競合状態やタイムアウト駆動のルーティングをモデル化するために使用されます。
ゲートウェイの種類の比較
| ゲートウェイの種類 | シンボル | スプリットビヘイビア | 結合動作 | いつ使用するか |
|---|---|---|---|---|
| XOR (排他的) | X の付いたダイヤモンド | true と評価される条件に基づいて、出力パスが 1 つだけ選択されます。 | いずれかの入力パスが到着するとすぐに通過します | プロセスは、いくつかの可能なパスのうち 1 つだけをたどる必要があります。 |
| AND (並列) | +の付いたダイヤモンド | すべての発信パスが同時にアクティブ化されます | すべての受信パスが完了するまで待ってから続行します | 複数のタスクを並行して実行する必要があり、続行する前にすべてが完了する必要があります |
| または (包括的) | ダイヤモンドにO | どの条件が true と評価されるかに基づいて、1 つ以上の発信パスが選択されます。 | すべてのアクティブ化されたパスが完了するまで待機します | 条件に応じて、一部またはすべてのパスが選択される可能性があります |
XOR ゲートウェイの例
請求書の承認プロセスは、請求書の金額に基づいてさまざまな承認者にルーティングされます。
[Receive Invoice]
|
[XOR Gateway]
/ | \
<$1k $1k-$10k >$10k
| | |
[Auto] [Mgr] [Director]
\ | /
[XOR Join Gateway]
|
[Process Payment]
AND ゲートウェイの例
最初のチェックの後、次に進む前に、信用検証ボット タスクとコンプライアンス チェック ヒューマン タスクの両方を完了する必要があります。
[Initial Check]
|
[AND Split]
/ \
[Credit Bot] [Compliance Human Task]
\ /
[AND Join]
|
[Final Approval]
OR ゲートウェイの例
注文フラグに基づいて、1 つ以上のエンリッチメント ステップが必要になる場合があります。
[Receive Order]
|
[OR Split]
/ | \
[If [If [If
intl] VIP] large]
\ | /
[OR Join]
|
[Fulfill Order]
ゲートウェイを追加する手順
- プロセス デザイナーで、目的のゲートウェイ タイプをタスク パレットからキャンバスにドラッグします。
- 先行タスクからの受信シーケンス フローをゲートウェイに接続します。
- ゲートウェイから次のタスクへの送信シーケンス フローを描画します。
- XOR および OR ゲートウェイの場合、各送信シーケンス フロー矢印をクリックし、そのパスが選択されるために true と評価される必要がある 条件式 を入力します。
- XOR ゲートウェイの場合は、条件が true でない場合を処理するために、1 つの送信フローを デフォルト パス として指定します。
- [保存] をクリックして適用します。