Lewati ke konten

C01 — Collaboration

KodeC01
Nama BPMNCollaboration
TierA (wajib dikuasai)
DiperkenalkanModul 3
SpesifikasiOMG BPMN 2.0.2 §10.2.3 TODO-VERIFY

C01 — Collaboration: diagram dengan dua Pool dihubungkan Message Flow
Unduh .bpmn

Memuat diagram…

Bukan simbol tunggal — Collaboration adalah tipe diagram: diagram yang berisi dua atau lebih Pool yang dihubungkan dengan Message Flow. Di BPMN XML, dinyatakan dengan elemen <collaboration>.


Collaboration menyatakan: “Ini adalah diagram yang menunjukkan bagaimana beberapa partisipan yang berbeda berinteraksi satu sama lain.”

Berbeda dengan diagram proses biasa (satu Pool atau tanpa Pool) yang hanya menunjukkan satu alur internal, Collaboration menunjukkan kontrak komunikasi — siapa mengirim apa kepada siapa, dan bagaimana setiap pihak merespons.


Collaboration memungkinkan pemodelan interaksi lintas organisasi secara eksplisit. Ini penting ketika:

  • Ada pertukaran pesan yang harus dikontrak secara formal.
  • Ingin menunjukkan perspektif setiap pihak, tidak hanya satu.
  • Model digunakan untuk negosiasi antarmuka sistem antar-organisasi.

Dalam Collaboration:

  • Setiap Pool menjalankan instansi prosesnya sendiri secara independen.
  • Message Flow membawa pesan dari satu Pool ke Pool lain — bukan token.
  • Ketika pesan tiba di Pool tujuan, ia memicu event di sana (Start, Intermediate, atau End Message Event).
  • Proses di setiap Pool dapat dimulai dan berakhir secara asinkron.

  • Ketika dua atau lebih entitas berbeda terlibat dan kamu ingin menunjukkan proses keduanya.
  • Ketika kontrak komunikasi (pesan apa yang dikirim dan diterima) penting untuk didokumentasikan.
  • Dalam pemodelan integrasi sistem antar-perusahaan atau antar-departemen dengan otonomi berbeda.

  • Jika semua pihak adalah bagian dari satu organisasi yang sama → gunakan Lane dalam satu Pool.
  • Jika hanya ingin menunjukkan proses satu pihak dengan menyebut bahwa ada pihak lain → gunakan Black-box Pool (tidak perlu menggambar prosesnya).

Collaboration diagram Customer–Merchant — dua proses independen yang berkomunikasi lewat Message Flow:

C01 — Collaboration Customer–Merchant
Unduh .bpmn

Memuat diagram…


Kasus 3 — Collaboration diagram lengkap
Unduh .bpmn

Memuat diagram…


Ketika melihat diagram Collaboration:

  1. Identifikasi setiap Pool (kotak besar berlabel di kiri) — setiap Pool adalah satu entitas.
  2. Baca alur di dalam setiap Pool secara terpisah.
  3. Perhatikan Message Flow (garis putus-putus) yang menghubungkan Pool — itulah komunikasi antar-entitas.
  4. Baca urutan: “A mengirim X → B menerima X → B merespons Y → A menerima Y.”

“Collaboration = proses gabungan”

Tidak. Collaboration bukan satu proses tunggal yang dibagi-bagi. Setiap Pool tetap merupakan proses independen. Yang ditampilkan adalah koordinasi antar proses, bukan satu proses yang dipecah.

“Urutan dalam Collaboration adalah satu alur linear”

Tidak. Proses di Pool Customer dan proses di Pool Merchant berjalan secara asinkron. Merchant tidak “menunggu” sampai Customer selesai melakukan sesuatu — mereka berkomunikasi lewat pesan, dan masing-masing merespons saat pesan diterima.


Collaboration dengan Sequence Flow lintas Pool

Ini adalah anti-pattern fatal. Sequence Flow hanya untuk koneksi dalam satu Pool. Jika ada Sequence Flow yang terlihat melewati batas Pool, model tidak valid secara BPMN.


Tertukar denganPerbedaan kunci
Pool tunggalPool tunggal = satu proses; Collaboration = multiple proses berinteraksi
ChoreographyChoreography menggambarkan pertukaran pesan tanpa proses internal; Collaboration menggambarkan proses internal setiap pihak

Satu entitas, proses internal → Pool tunggal (atau tanpa Pool)
Beberapa entitas, ingin tampilkan semua proses → Collaboration
Beberapa entitas, hanya pertukaran pesan yang penting → Choreography (Tier C)

  1. Berapa entitas yang berbeda terlibat?
  2. Apakah proses internal setiap entitas penting untuk ditampilkan?
  3. Apakah ada pertukaran pesan yang perlu dikontrak?

Collaboration adalah salah satu kekuatan unik BPMN. Diagram Collaboration bisa digunakan sebagai kontrak antarmuka antara dua organisasi atau dua sistem: “Kita setuju bahwa Customer akan mengirim pesan X dengan format Y, dan Merchant akan merespons dengan pesan Z dalam waktu W.” Ini adalah level abstraksi yang tepat untuk negosiasi antarmuka.


  • Ada minimal dua Pool dalam diagram Collaboration.
  • Semua komunikasi antar-Pool menggunakan Message Flow.
  • Tidak ada Sequence Flow yang melintasi batas Pool.
  • Setiap Pool white-box memiliki proses yang valid (Start dan End Event).

Camunda tidak men-deploy Collaboration sebagai satu unit. Setiap Pool di-deploy sebagai process definition terpisah. Message Flow diimplementasikan melalui message correlation atau signal. Pastikan pesan memiliki nama yang unik untuk menghindari korelasi yang salah.


Collaboration adalah diagram yang menunjukkan bagaimana beberapa entitas berinteraksi melalui pertukaran pesan — bukan satu proses gabungan, melainkan kontrak komunikasi antar-proses yang independen.