Onboarding Workflow

Scope Variable untuk Pemula: Nilai Ini Hidup Sampai Kapan?

Membedakan current item, workflow execution, dan persistent workflow melalui lifecycle serta contoh penggunaan.

Kesalahan variable sering bukan pada nilainya, melainkan pada kapan nilai dibuat, siapa yang dapat membacanya, dan kapan nilai harus hilang. Scope menjawab seluruh pertanyaan itu.

Inti pembahasan Pilih scope terkecil yang memenuhi kebutuhan; semakin lama nilai hidup, semakin besar tanggung jawab concurrency, cleanup, dan keamanan.

Current item untuk satu baris

Pada Untuk Setiap, nilai item seperti line_total hanya relevan saat item tersebut diproses. Tentukan boundary proses sebelum memilih detail implementasi. Catat input, output, pemilik, dan kondisi selesai agar perubahan teknis tetap mengikuti kebutuhan bisnis.

Gunakan item scope agar nilai tidak tercampur dengan item lain atau keluar dari loop tanpa sengaja.

Execution untuk satu request

UUID invoice, correlation ID, atau token hasil login sementara dapat dipakai beberapa cabang dalam eksekusi yang sama. Periksa juga jalur yang tidak ideal. Null, data duplikat, gangguan koneksi, perubahan skema, dan timeout sering memperlihatkan asumsi yang tidak tampak pada happy path.

Buat sekali dan referensikan dengan nama unik seperti $invoice_id tanpa menyimpan lintas request.

Persistent untuk lintas execution

Cursor sinkronisasi atau session token dapat dibutuhkan pada proses berikutnya, tetapi nilai ini menjadi state bersama. Gunakan nama dan struktur yang dapat dibaca tanpa membuka semua konfigurasi. Kejelasan mempercepat review dan mengurangi ketergantungan pada satu orang yang memahami sejarah integrasi.

Tetapkan TTL, aturan update, concurrency behavior, dan prosedur penghapusan.

01

Item

Hanya untuk satu iterasi

02

Execution

Berlaku satu request

03

Persistent

Punya TTL dan ownership

04

Name

Unik dalam workflow

Nama dan konflik variable

Dua node yang membuat nama sama dalam workflow dapat menimpa maksud dan membingungkan field picker. Buktikan rancangan melalui simulasi dan Sandbox menggunakan data yang aman. Catat expected result, actual result, serta dampak pada sistem tujuan sebelum trafik operasional diaktifkan.

Gunakan validasi keunikan dan pilih nama berdasarkan entitas serta tujuan nilai.

Gunakan hasil pembahasan ini sebagai bahan walkthrough lintas tim. Minta pemilik proses, developer, operator, dan pihak keamanan menyepakati kontrak, outcome, serta tindakan pemulihan. Workflow visual membantu membuat keputusan itu terlihat, tetapi tidak menggantikan ownership, pengetahuan domain, atau review manusia. Simpan alasan keputusan bersama contoh input dan hasil yang telah dibuktikan. Dengan begitu, anggota tim berikutnya dapat membedakan perilaku yang disengaja dari konfigurasi yang sekadar kebetulan bekerja.

Contoh nyata

Contoh nyata

Workflow membuat $invoice_id sekali pada scope execution, lalu header dan seluruh current item memakainya. line_total memakai item scope, sedangkan sync_cursor persisten memiliki TTL untuk execution berikutnya. Gunakan skenario tersebut untuk mengikuti data dari pemicu hingga outcome. Catat perubahan field, sistem yang disentuh, bukti selesai, dan keadaan akhir bila salah satu langkah gagal.

Anti-pattern yang perlu dihindari

Menyimpan seluruh nilai sebagai persistent terasa praktis, tetapi memperkenalkan state lama, concurrency, cleanup, dan risiko secret bertahan lebih lama. Sebaliknya item scope tidak dapat memenuhi kebutuhan cabang setelah loop. Masalahnya bukan hanya keterbacaan. Pola ini dapat menyembunyikan dependency, membuat response menyesatkan, atau mendorong operator mengulang proses yang sebenarnya membutuhkan koreksi data.

Langkah review

Untuk setiap variable, catat producer, consumer, creation time, update rule, delete condition, TTL, dan sensitivitas. Uji dua execution paralel untuk nilai yang berpotensi berbagi state. Reviewer perlu meminta contoh input, expected result, trace node, serta bukti pada destination. Jalur gagal harus diuji dengan perhatian yang sama seperti jalur sukses.

Keputusan operasional

Variable persisten memerlukan owner dan observability. Tentukan apa yang terjadi saat nilainya hilang, kedaluwarsa, gagal disimpan, atau berasal dari token eksternal yang sudah tidak valid. Tentukan siapa yang memantau, kapan retry diizinkan, kapan proses dihentikan, dan siapa yang mengambil keputusan jika hasil tidak konsisten. Masukkan jawaban ke runbook. Sertakan indikator yang dapat diamati, cara memperoleh correlation ID, serta bukti yang harus tersedia sebelum proses boleh dinyatakan pulih dan tiket operasional ditutup.

Pertanyaan sebelum diterapkan

Apakah nilai berlaku untuk item, request, atau workflow? Siapa boleh mengubahnya? Apakah nama unik? Apakah default menyembunyikan variable yang sebenarnya tidak pernah dibuat? Sebelum menyimpan perubahan, pastikan istilah, ownership, kontrak, dan outcome dipahami lintas tim. Jika jawaban masih berbeda, desain belum cukup jelas untuk Production. Dokumentasikan keputusan, pihak yang menyetujui, asumsi yang masih berlaku, dan tanggal review berikutnya agar konteks tidak hilang saat tim atau sistem berubah.

Batas yang perlu dipahami

NitroNet membantu memvalidasi, mengarahkan, mengantrekan, dan menelusuri perjalanan data melalui agent serta workflow. Platform ini tidak menggantikan logika domain, kebijakan organisasi, atau sistem sumber dan tujuan. Efek API eksternal tetap at-least-once; transaksi ACID hanya berlaku dalam satu koneksi database, sedangkan koordinasi lintas database memakai Saga dan kompensasi.

Langkah berikutnya

Pelajari fondasinya melalui integrasi agent-centric, baca artikel lain di Blog NitroNet, lalu tinjau cara kerja dan fitur workflow NitroNet. Terapkan perubahan secara bertahap dan buktikan perilakunya dengan data uji sebelum Production.

Bawa konsep ke kasus nyata

Sedang merancang integrasi lintas-sistem?

Petakan satu alur nyata bersama tim NitroNet untuk melihat posisi agent, Core, workflow, dan batas transaksinya.

Bahas arsitektur AndaKembali ke blog
Chat WhatsApp