Memilih Gateway
Gateway bukan task yang melakukan pekerjaan. Ia mengendalikan divergensi (membuka jalur) atau konvergensi (menggabungkan jalur) sesuai tipe gateway.
Pembayaran belum diketahui dan proses menunggu callback sukses atau batas waktu. Apa jenis kontrol yang paling tepat?
Gambar 4.1 — XOR dan AND memperlihatkan perilaku divergensi yang berbeda.
Decision tree
Section titled “Decision tree”Diagram sedang dimuat…
Panduan ini menyederhanakan pemilihan berdasarkan kebutuhan. Periksa juga apakah gateway dipakai untuk split atau join; khususnya, XOR join bukan barrier yang menunggu semua cabang.
Ringkasan perbandingan
Section titled “Ringkasan perbandingan”| Gateway | Split | Join | Kesalahan pemula |
|---|---|---|---|
| XOR | Pilih satu outgoing flow yang kondisinya terpenuhi (atau default) | Lanjutkan token yang tiba; bukan barrier sinkronisasi | Menganggap XOR join menunggu semua jalur |
| AND | Aktifkan seluruh jalur | Tunggu token pada semua jalur yang relevan | Menghilangkan join lalu menjalankan pekerjaan hilir berkali-kali |
| OR | Aktifkan semua jalur dengan kondisi benar | Sinkronisasi mengikuti jalur yang diaktifkan | Memakai OR tanpa memahami token aktif dan join |
| Event-Based | Menunggu salah satu event kandidat | Bukan gateway join untuk sinkronisasi umum | Memakainya sebagai conditional data decision |
| Complex | Kontrol kombinasi kondisi khusus | Aturan aktivasi yang ditentukan model | Mengganti pola biasa tanpa kebutuhan jelas |
AND split vs AND join: bentuk gateway sama, fungsi ditentukan oleh koneksi masuk/keluar.
XOR vs conditional flow: kondisi jalur dapat menjadi bagian split; gateway membuat titik keputusan terlihat.
Event-Based vs XOR: yang pertama menunggu kejadian, yang kedua mengevaluasi kondisi/data.
[STANDARD] Semantik detail dan batasan kombinasi perlu dibaca pada OMG BPMN 2.0.2. [BEST PRACTICE] Namai gateway sebagai pertanyaan; labeli outgoing flow dengan jawaban.
Latihan argumentasi
Section titled “Latihan argumentasi”Pembayaran sudah disimpan pada variabel ketika token sampai ke titik keputusan: valid atau tidak? Pilih XOR atau event-based dan jelaskan. Lalu ubah requirement: proses menunggu callback sukses atau timer 24 jam. Apa yang berubah?
Ingat: tentukan apakah alur bercabang karena data, semua cabang berjalan, atau event yang datang lebih dulu.