Alur Kerja Turunan (Anak) - Amazon Simple Workflow Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Alur Kerja Turunan (Anak)

Alur kerja yang rumit dapat dipecah menjadi komponen yang lebih kecil, lebih mudah dikelola, dan berpotensi dapat digunakan kembali dengan menggunakan alur kerja turunan (anak). Alur kerja anak adalah eksekusi alur kerja yang dimulai oleh eksekusi alur kerja (induk) lain. Untuk memulai alur kerja anak, pengambil keputusan alur kerja induk menggunakan keputusan StartChildWorkflowExecution. Data masukan yang ditentukan dengan keputusan ini tersedia untuk alur kerja anak melalui riwayatnya.

Atribut untuk keputusan StartChildWorkflowExecution juga menentukan child policy (kebijakan anak), yaitu, bagaimana Amazon SWF harus menangani situasi di mana eksekusi alur kerja induk berakhir sebelum eksekusi alur kerja anak. Ada tiga nilai yang mungkin:

  • TERMINATE: Amazon SWF akan mengakhiri eksekusi anak.

  • REQUEST_CANCEL: Amazon SWF akan mencoba untuk membatalkan eksekusi anak dengan menempatkan kejadian WorkflowExecutionCancelRequested dalam riwayat eksekusi alur kerja anak.

  • ABANDON: Amazon SWF tidak akan mengambil tindakan apa pun; eksekusi anak akan terus berjalan.

Setelah eksekusi alur kerja anak dimulai, prosesnya berjalan seperti eksekusi biasa. Saat selesai, Amazon SWF mencatat penyelesaian, beserta hasilnya, dalam riwayat alur kerja eksekusi alur kerja induk. Contoh alur kerja anak meliputi:

  • Alur kerja anak pemrosesan kartu kredit yang digunakan oleh alur kerja di berbagai situs web

  • Alur kerja anak email yang memverifikasi alamat email pelanggan, memeriksa daftar penyisihan, mengirim email, dan memverifikasi bahwa email tidak hilang atau gagal.

  • Penyimpanan basis data dan pengambilan alur kerja anak yang menggabungkan koneksi, penyiapan, transaksi, dan verifikasi.

  • Alur kerja anak kompilasi kode sumber yang menggabungkan pembuatan, pengemasan, dan verifikasi.

Dalam contoh perdagangan elektronik, Anda mungkin ingin menjadikan aktivitas Charge Credit Card (Biaya Kartu Kredit) sebagai alur kerja anak. Untuk melakukan ini, Anda dapat mendaftarkan alur kerja Verify Customer (Verifikasi Pelanggan) baru, mendaftarkan aktivitas Verify Customer Address (Verifikasi Alamat Pelanggan) dan aktivitas Check Fraud DB (Periksa DB Penipuan), dan menentukan logika koordinasi untuk tugas tersebut. Kemudian, pengambil keputusan dalam alur kerja Customer Order (Pesanan Pelanggan) dapat memulai alur kerja anak Verify Customer (Verifikasi Pelanggan) dengan menjadwalkan keputusan StartChildWorkflowExecution yang menentukan jenis alur kerja ini.

Gambar berikut memperlihatkan alur kerja pesanan pelanggan yang menyertakan alur kerja anak Verify Customer (Verifikasi Pelanggan) baru, yang memeriksa alamat pelanggan, memeriksa basis data penipuan, dan menagih kartu kredit.

Diagram alur kerja anak

Beberapa alur kerja dapat membuat eksekusi alur kerja anak menggunakan jenis alur kerja yang sama. Misalnya, alur kerja anak Verify Customer (Verifikasi Pelanggan) juga bisa digunakan di bagian lain organisasi. Kejadian untuk alur kerja anak berada di riwayat alur kerjanya sendiri dan tidak disertakan dalam riwayat alur kerja induk.

Karena alur kerja anak hanyalah eksekusi alur kerja yang dimulai oleh pengambil keputusan, sehingga bisa dimulai sebagai eksekusi alur kerja yang berdiri sendiri secara normal.