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:
...
<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:
...
<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
