Dalam Camunda, ada dua jenis subproses yang dapat digunakan untuk memecah suatu proses menjadi bagian-bagian yang lebih kecil. Kedua jenis subproses ini adalah Subprocess dan Call Activity.
Subprocess adalah jenis subproses yang didefinisikan secara langsung dalam proses induk dan digunakan untuk mengorganisir dan menjalankan tugas-tugas yang terkait dalam konteks proses induk tersebut. Dalam BPMN, Subprocess dapat memiliki tipe tertentu seperti Embedded Subprocess, Event Subprocess, dan lain-lain. Subprocess dapat diakses secara langsung dari proses induk, dan dapat digunakan untuk mengatasi situasi seperti percabangan atau perulangan.
Call Activity, di sisi lain, adalah subproses yang didefinisikan secara terpisah dari proses induk, dan dapat dipanggil dari dalam proses induk. Call Activity digunakan untuk menghindari pengulangan dalam proses dan untuk memungkinkan penggunaan kembali kode dan logika bisnis yang sama di beberapa proses. Call Activity juga dapat memudahkan pemeliharaan dan pengembangan kode, karena kode tersebut dapat dikelola terpisah dari proses induk.
Dalam Call Activity, subproses yang dipanggil didefinisikan dalam file BPMN terpisah dan dapat dipanggil oleh beberapa proses. Sedangkan dalam Subprocess, subproses didefinisikan secara langsung di dalam proses yang menggunakannya dan hanya dapat diakses oleh proses tersebut.
Dengan demikian, perbedaan utama antara Subprocess dan Call Activity adalah bagaimana subproses tersebut didefinisikan dan digunakan. Subprocess didefinisikan secara langsung dalam proses induk dan digunakan untuk mengorganisir tugas-tugas dalam proses induk, sedangkan Call Activity didefinisikan terpisah dari proses induk dan dapat dipanggil dari dalam proses.
Sumber: Buku Tanya Jawab BPMN & Camunda (2023), Ditulis oleh Wisnu Manupraba & Novi Setiani