Business Process/Rules

No Gateway Join Fork

Mencegah gateway melakukan join dan fork sekaligus.


Rule No Gateway Join Fork memeriksa apakah sebuah gateway melakukan penggabungan (join) dan percabangan (fork) secara bersamaan, yaitu memiliki lebih dari satu incoming sekaligus lebih dari satu outgoing sequence flow. Gateway yang menggabungkan kedua peran ini membuat alur token sulit dibaca dan rawan salah tafsir. Sebaiknya pisahkan menjadi dua gateway: satu untuk join dan satu untuk fork.

Contoh penggunaan yang salah:

Contoh salah rule No Gateway Join Fork
...
<bpmn:exclusiveGateway id="ExclusiveGateway_1">
  <bpmn:incoming>SequenceFlow_1</bpmn:incoming>
  <bpmn:incoming>SequenceFlow_2</bpmn:incoming>
  <bpmn:outgoing>SequenceFlow_3</bpmn:outgoing>
  <bpmn:outgoing>SequenceFlow_4</bpmn:outgoing>
</bpmn:exclusiveGateway>
...

Contoh penggunaan yang benar:

Contoh benar rule No Gateway Join Fork
...
<bpmn:exclusiveGateway id="ExclusiveGateway_1">
  <bpmn:incoming>SequenceFlow_1</bpmn:incoming>
  <bpmn:incoming>SequenceFlow_2</bpmn:incoming>
  <bpmn:outgoing>SequenceFlow_3</bpmn:outgoing>
</bpmn:exclusiveGateway>
...

Referensi

Dokumentasi BPMN Linter: https://github.com/bpmn-io/bpmnlint/blob/main/docs/rules/no-gateway-join-fork.md

On this page