Mengapa memilih SWF?
Amazon Simple Workflow Service (Amazon SWF) membantu developer membuat, menjalankan, dan menskalakan tugas latar belakang yang memiliki langkah paralel atau berurutan. Anda dapat menganggap Amazon SWF sebagai pelacak kondisi dan koordinator tugas yang terkelola penuh di Cloud.
Jika langkah aplikasi Anda memerlukan waktu lebih dari 500 milidetik untuk selesai, Anda perlu melacak kondisi pemrosesan, dan Anda perlu memulihkan atau mencoba lagi apabila tugas gagal, Amazon SWF dapat membantu.
Jika Anda mencari layanan alur proses visual rendah kode untuk mengatur layanan AWS, mengotomatiskan proses bisnis, atau membangun aplikasi nirserver, pelajari selengkapnya AWS Step Functions.
Manfaat
Detail produk Amazon SWF
Menggunakan Amazon SWF untuk mengelola alur kerja dalam aplikasi Anda sangatlah mudah.
Fungsionalitas Amazon SWF
Amazon SWF bertindak sebagai hub koordinasi untuk berbagai komponen aplikasi Anda:
- Mempertahankan status aplikasi
- Melacak eksekusi alur kerja dan mencatat kemajuannya
- Menahan dan mengirim tugas
- Mengontrol tugas untuk dijalankan oleh setiap host aplikasi
Untuk menggunakan Amazon SWF, Anda cukup:
- Menggunakan Konsol Manajemen AWS atau API Amazon SWF untuk menentukan nama alur kerja.
- Menggunakan API Amazon SWF untuk “memulai” alur kerja baru, yang akan memulai dilaksanakannya urutan tugas alur kerja tertentu, yang disebut “eksekusi alur kerja”.
- Menggunakan API Amazon SWF dari mesin pekerja Anda (“pekerja” adalah komponen aplikasi yang menangani tugas tertentu) untuk menetapkan urutan tugas, mengelola alur bersyarat, dan menjalankan loop untuk eksekusi alur kerja.
- Menggunakan API Amazon SWF dari mesin pekerja Anda untuk meminta dan menjalankan tugas alur kerja di cloud atau on-premise.
- Memantau status dan kemajuan eksekusi alur kerja serta tugas terkait di Konsol Manajemen AWS.
Panduan contoh di Konsol Manajemen AWS akan membawa Anda melalui langkah-langkah untuk mendaftarkan dan menjalankan contoh aplikasi. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi.
Deskripsi terperinci
Amazon SWF adalah layanan alur kerja yang dikelola sepenuhnya untuk membangun aplikasi yang dapat diskalakan dan tangguh. Amazon SWF menyediakan panggilan API sederhana yang dapat dieksekusi dari kode yang ditulis dalam bahasa apa pun dan dijalankan pada instans EC2, atau mesin Anda di mana pun yang dapat mengakses internet.
Amazon SWF bertindak sebagai hub koordinasi yang berinteraksi dengan host aplikasi Anda. Anda membuat alur kerja yang diinginkan dengan tugas terkait dan logika kondisional apa pun yang ingin Anda terapkan dan menyimpannya dengan Amazon SWF. Setiap eksekusi alur kerja dianggap sebagai eksekusi alur kerja terpisah. Anda memprogram komponen aplikasi untuk meminta berbagai tugas agar dilakukan dalam eksekusi alur kerja dan Amazon SWF mengoordinasikan tugas yang diselesaikan, dalam urutan yang Anda tentukan, di host Anda (baik host yang berada di cloud atau on-premise). Aplikasi berkomunikasi dengan Amazon SWF menggunakan API untuk mencatat keberhasilan atau kegagalan tugas. Amazon SWF kemudian melanjutkan urutan tugas dengan menetapkan tugas alur kerja berikutnya ke host aplikasi, atau dengan menjalankan kembali tugas yang gagal, tergantung pada logika bisnis Anda.
Masuk ke Konsol Manajemen AWS untuk memulai eksekusi alur kerja Amazon SWF. Alternatifnya, Anda dapat memulai eksekusi alur kerja melalui API Amazon SWF kami. Amazon SWF menggunakan antarmuka layanan web sederhana yang mudah digunakan dan sangat fleksibel:
- StartWorkflowExecution: memulai urutan tugas alur kerja dan membuat tugas pertama tersedia untuk salah satu host aplikasi Anda.
- DescribeWorkflowExecution: memberikan status eksekusi dan tugas alur kerja Anda.
- PollForActivityTask: host aplikasi Anda (di cloud atau on-premise) meminta dan menjalankan tugas alur kerja dalam loop berkelanjutan.
- RespondActivityTaskCompleted: host aplikasi memberi tahu Amazon SWF bahwa ia berhasil menyelesaikan tugas. Amazon SWF kemudian akan melanjutkan eksekusi alur kerja dengan menyediakan tugas berikutnya untuk host aplikasi.
- TerminateWorkflowExecution: berhenti mendorong eksekusi alur kerja tertentu. Amazon SWF tidak akan menetapkan tugas lagi dari eksekusi alur kerja khusus ini ke host aplikasi.
Maksud penggunaan dan batasan
Penggunaan Anda untuk layanan ini diatur oleh Perjanjian Pelanggan Amazon Web Services.
Kasus penggunaan
AWS Flow Framework
AWS Flow Framework adalah kumpulan pustaka praktis yang memungkinkan pembuatan aplikasi secara lebih mudah dan cepat dengan Amazon Simple Workflow.
Cara kerjanya
AWS Flow Framework memiliki model pemrograman sederhana yang memudahkan pembuatan aplikasi yang melakukan pekerjaan di banyak mesin. Dengan kerangka kerja ini, Anda dapat dengan cepat membuat tugas, mengoordinasikannya, dan mengekspresikan dependensi antara tugas-tugas tersebut, seperti halnya dalam program biasa. Misalnya, Anda dapat menjalankan sebuah metode dalam aplikasi di komputer “jarak jauh” hanya dengan memanggil metode dalam logika aplikasi dengan host di komputer “lokal” terpisah. AWS Flow Framework menangani kerumitan proses bolak-balik yang diperlukan untuk menjalankan metode jarak jauh dan mengembalikan hasilnya ke aplikasi lokal menggunakan informasi yang disimpan oleh layanan Amazon Simple Workflow. Output dari setiap metode yang dieksekusi dapat digunakan untuk menghubungkan bagian-bagian terpisah dari logika Anda yang saling terkait. Kerangka kerja ini memungkinkan Anda menggunakan sintaksis sederhana untuk mengekspresikan dependensi antarmetode dengan pendekatan “blokir dan tunggu panggilan balik” yang sederhana. Kerangka kerja ini juga memungkinkan Anda menangani kegagalan pada mesin jarak jauh seolah-olah itu adalah kesalahan lokal. Selain itu, kerangka kerja ini memberi Anda cara mudah untuk menentukan cara mencoba lagi metode penting dalam aplikasi jika terjadi kegagalan.
- Dapatkan di AWS SDK for Java
- Lihat Webinar untuk versi Java
- Baca Panduan Developer
- Lihat referensi API
Catatan
AWS Flow Framework untuk Ruby tidak lagi dalam pengembangan aktif. Meskipun kode yang ada akan terus bekerja tanpa batas waktu, tidak akan ada fitur atau versi baru. Kode sumber Flow Framework untuk Ruby akan terus tersedia di arsip GitHub AWS SWF. Jika aplikasi Simple Workflow berbasis Ruby Anda berkembang dan berubah, ada opsi yang mungkin ingin Anda pertimbangkan, termasuk bermigrasi ke AWS Step Functions atau menggunakan API Simple Workflow native. Untuk mengetahui keterangan selengkapnya, lihat Panduan Developer AWS Simple Workflow.
Dengan AWS Flow Framework, Anda dapat menulis kode sederhana serta membiarkan objek dan kelas kerangka kerja yang dibuat sebelumnya menangani detail API Amazon Simple Workflow. AWS Flow Framework menangani pembuatan dan pelaksanaan langkah-langkah aplikasi Anda, melacak kemajuannya, memungkinkan Anda menentukan aturan percobaan ulang saat langkah gagal, dan banyak lagi. Sementara itu, Amazon Simple Workflow Service mempertahankan status eksekusi aplikasi Anda, membagikan tugas kepada pekerja yang tersedia, dan menyimpan riwayat audit semua tugas.
AWS Flow Framework adalah sumber terbuka Java, dan dikembangkan serta dikelola oleh AWS. Anda dapat menggunakan tautan di bawah ini untuk mendapatkan pustaka, kode sumber, dokumentasi, sampel, dan banyak lagi.