Neden SWF?
Amazon Basit İş Akışı Hizmeti (Amazon SWF), geliştiricilerin paralel veya sıralı adımlara sahip arka plan işlerini oluşturmasına, çalıştırmasına ve ölçeklendirmesine yardımcı olur. Amazon SWF'yi, bulutta çalışan tam olarak yönetilen bir durum izleyici ve görev koordinatörü olarak düşünebilirsiniz.
Uygulamanızın adımlarının tamamlanması 500 milisaniyeden uzun sürüyorsa, işlem durumunu izlemeniz gerekiyorsa ve bir görevin başarısız olması halinde kurtarma veya yeniden deneme gerçekleştirmeniz gerekiyorsa Amazon SWF size yardımcı olabilir.
AWS hizmetlerini düzenlemek, iş süreçlerini otomatikleştirmek veya sunucusuz uygulamalar oluşturmak için az kod kullanımlı bir görsel süreç akışı hizmeti arıyorsanız AWS Step Functions hakkında daha fazla bilgi edinin.
Avantajlar
Amazon SWF ürün ayrıntıları
Uygulamanızdaki iş akışlarını yönetmek için Amazon SWF'yi kullanmak kolaydır.
Amazon SWF işlevselliği
Amazon SWF, uygulamanızın tüm farklı bileşenleri için bir koordinasyon merkezi görevi görür:
- Uygulama durumunu koruma
- İş akışı yürütmelerini izleme ve ilerlemelerini kaydetme
- Görevleri bekletme ve dağıtma
- Uygulama ana sunucularınıza hangi görevlerin atanacağını kontrol etme
Amazon SWF'yi kullanmak için şunları yapmanız yeterlidir:
- İş akışlarının adlarını belirtmek için AWS Yönetim Konsolu veya Amazon SWF API'lerini kullanın.
- Yeni bir iş akışı "başlatmak" için Amazon SWF API'lerini kullanın; bu, "iş akışı yürütmesi" adı verilen belirli bir iş akışı görev dizisinin eyleme geçmesini sağlar.
- Görev sırasını oluşturmak, koşullu akışları yönetmek ve iş akışı yürütmesi döngülerini yürütmek için işçi makinelerinizdeki (bir "işçi" belirli görevleri yerine getiren, uygulamanızın bir bileşenidir) Amazon SWF API'lerini kullanın.
- İş akışı görevlerini bulutta veya şirket içinde talep etmek ve yürütmek için işçi makinelerinizdeki Amazon SWF API'lerini kullanın.
- AWS Yönetim Konsolu'nda iş akışı yürütmelerinin ve bunlarla ilişkili görevlerin durumunu ve ilerlemesini izleyin.
AWS Yönetim Konsolu'ndaki örnek rehberlik, örnek bir uygulamayı kaydetme ve çalıştırma adımları konusunda sizi yönlendirir. Daha fazla bilgi için lütfen Belgeler bölümüne bakın.
Ayrıntılı açıklama
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.
Kullanım amacı ve kısıtlamalar
Bu hizmeti kullanımınız Amazon Web Services Müşteri Sözleşmesi'ne tabidir.
Kullanım örnekleri
AWS Flow Framework
AWS Flow Framework, Amazon Basit İş Akışı ile uygulama oluşturmayı daha hızlı ve daha kolay hâle getiren faydalı kitaplıklardan oluşan bir koleksiyondur.
Nasıl çalışır?
AWS Flow Framework, birçok makinede iş gerçekleştiren uygulamalar oluşturmayı kolaylaştıran basit bir programlama modeline sahiptir. Çerçeve ile, hızlı bir şekilde görevler oluşturur, bunları koordine eder ve tipik bir programda yaptığınız gibi bu görevlerin birbirine nasıl bağlı olduğunu ifade edersiniz. Örneğin, uygulama mantığınızdaki ayrı bir "yerel" bilgisayarda barındırılan bir yöntemi çağırarak "uzak" bir bilgisayardaki bir uygulamada bir yöntemi çalıştırabilirsiniz. AWS Flow Framework, uzak yöntemi yürütmek için gereken karmaşık uğraştırıcı işleri halleder ve Amazon Basit İş Akışı hizmeti tarafından depolanan bilgileri kullanarak sonucunu yerel uygulamaya döndürür. Yürütülen herhangi bir yöntemin çıktısı, mantığınızın birbirine bağlı ayrı bölümlerini bağlamak için kullanılabilir. Çerçeve, basit bir "çağırmayı engelle ve bekle" yaklaşımıyla yöntemler arasındaki bağımlılıkları ifade etmek için basit söz dizimi kullanmanıza olanak tanır. Çerçeve ayrıca, uzak bir makinede bir arızayı yerel bir hataymış gibi ele almanıza olanak tanır ve başarısız olursa uygulamanızdaki önemli yöntemleri nasıl yeniden denemek istediğinizi tanımlamanın kolay yollarını sunar.
- Java İçin AWS SDK'de edinin
- Java sürümü için web seminerini görüntüleyin
- Geliştirici Kılavuzu'nu okuyun
- API referansına bakın
Not
Ruby İçin AWS Flow Framework artık aktif geliştirme aşamasında değil. Mevcut kod süresiz olarak çalışmaya devam edecek ancak yeni özellikler veya sürümler gelmeyecek. Ruby İçin Flow Framework'ün kaynak kodu, AWS SWF GitHub arşivinde bulunmaya devam edecektir. Ruby tabanlı Basit İş Akışı uygulamanız gelişiyor ve değişiyorsa AWS Step Functions'a geçiş veya yerel Basit İş Akışı API'sini kullanma gibi göz önünde bulundurmak isteyebileceğiniz seçenekler vardır. Ayrıntılar için AWS Basit İş Akışı Geliştirici Kılavuzu'na bakın.
AWS Flow Framework'ü kullanarak basit kod yazabilir ve çerçevenin önceden oluşturulmuş nesnelerinin ve sınıflarının Amazon Basit İş Akışı API'lerinin ayrıntılarını ele almasını sağlayabilirsiniz. AWS Flow Framework, uygulamanızın adımlarını oluşturup yürütülmesini sağlar, ilerlemelerini takip eder, adımların başarısız olduğu durumlarda yeniden deneme kuralları tanımlamanıza olanak tanır ve çok daha fazlasını yapar. Bu arada Amazon Basit İş Akışı Hizmeti uygulamanızın yürütme durumunu korur, görevleri mevcut çalışanlara dağıtır ve tüm görevlerinizin denetim geçmişini tutar.
AWS Flow Framework, Java açık kaynaklıdır ve AWS tarafından geliştirilip yönetilir. Kitaplıkları, kaynak kodunu, belgeleri, örnekleri ve daha fazlasını almak için aşağıdaki bağlantıları kullanabilirsiniz.