Amazon SWF, ölçeklenebilir ve esnek uygulamalar oluşturmak için tam olarak yönetilen bir iş akışı hizmetidir. Amazon SWF, herhangi bir dilde yazılmış koddan yürütülebilen ve EC2 bulut sunucularınızda veya dünyanın herhangi bir yerinde bulunan ve internete erişebilen makinelerinizden herhangi birinde çalıştırılabilen basit API çağrıları sağlar.
Amazon SWF, uygulama ana sunucularınızın etkileşime girdiği bir koordinasyon merkezi görevi görür. İlişkili görevleri ve uygulamak istediğiniz koşullu mantıklarla istediğiniz iş akışlarını oluşturup Amazon SWF ile depolarsınız. Her iş akışı yürütmeniz ayrı bir iş akışı yürütme işlemi olarak sayılır. Uygulama bileşenlerinizi iş akışınızın yürütülmesinde çeşitli görevlerin gerçekleştirilmesini isteyecek şekilde programlarsınız ve Amazon SWF, ana sunucularınızda belirttiğiniz sırayla (ister bulutta ister şirket içinde yer alan ana sunucular) görevlerin gerçekleştirilmesini koordine eder. Uygulamalar, görevlerin başarısını veya başarısızlığını kaydetmek için API'leri kullanarak Amazon SWF ile iletişim kurar. Sonrasında Amazon SWF bir sonraki iş akışı görevini bir uygulama ana sunucusuna atayarak veya iş mantığınıza bağlı olarak başarısız bir görevi yeniden çalıştırarak görev sırasına devam eder.
Amazon SWF iş akışı yürütmesini başlatmak için AWS Yönetim Konsolu'nda oturum açın. Alternatif olarak, Amazon SWF API'lerimiz aracılığıyla bir iş akışı yürütmesi başlatabilirsiniz. Amazon SWF, kullanımı kolay ve son derece esnek olan basit bir web hizmeti arabirimi kullanır:
- StartWorkflowExecution: Bir dizi iş akışı görevi başlatır ve ilk görevi uygulama ana sunucularınızdan biri tarafından kullanılabilir hâle getirir.
- DescribeWorkflowExecution: İş akışı yürütmelerinizin ve görevlerinizin durumunu gösterir.
- PollForActivityTask: Uygulama ana sunucularınız (bulutta veya şirket içinde) iş akışı görevlerini sürekli bir döngüde talep eder ve yürütür.
- RespondActivityTaskCompleted: Bir uygulama ana sunucusu, Amazon SWF'ye bir görevi başarıyla tamamladığını bildirir. Sonrasında Amazon SWF, bir sonraki görevi bir uygulama ana sunucusu tarafından kullanılabilir hâle getirerek iş akışı yürütmesini devam ettirir.
- TerminateWorkflowExecution: Belirli bir iş akışı yürütmesinde ilerlemeyi durdurun. Amazon SWF, uygulama ana sunucusuna ilgili iş akışı yürütmesinin başka görevlerini atamaz.