REST HTTP çağrılarının mesaj kuyruğu kavramının yerini nasıl alabileceğini dikkate alan son zamanlarda oldukça fazla araştırma yapılmıştır.
Bir süreç ve görev kavramını kaynak olarak tanıtırsanız, orta mesajlaşma katmanı ihtiyacı buharlaşmaya başlar.
Ör:
POST /task/name
- Returns a 202 accepted status immediately
- Returns a resource url for the created task: /task/name/X
- Returns a resource url for the started process: /process/Y
GET /process/Y
- Returns status of ongoing process
Bir görevin başlatma için birden fazla adımı olabilir ve bir işlem sorgulandığında durumu döndürebilir veya tamamlandığında geri arama URL'sine POST gönderebilir.
Bu çok basittir ve artık herhangi bir orta katman olmadan çalışan tüm işlemlerin ve görevlerin bir rss / atom beslemesine abone olabileceğinizi fark ettiğinizde oldukça güçlü hale gelir. Herhangi bir kuyruk sistemi yine de bir tür web ön uç gerektirecek ve bu kavram başka bir özel kod katmanı olmadan inşa etti.
Kaynaklarınız siz silene kadar var olur, yani işlem ve görev tamamlandıktan çok sonra geçmiş bilgilerini görüntüleyebilirsiniz.
Ekstra karmaşık protokoller olmadan birden fazla adımı olan bir görev için bile yerleşik hizmet keşfi yaptınız.
GET /task/name
- returns form with required fields
POST (URL provided form's "action" attribute)
Hizmet keşfiniz bir HTML formudur - evrensel ve insan tarafından okunabilir bir biçim.
Tüm akış, evrensel olarak kabul edilen araçlar kullanılarak programlı olarak veya bir insan tarafından kullanılabilir. Bu bir müşteri odaklı ve bu nedenle RESTful. Web için oluşturulan her araç iş süreçlerinizi yönlendirebilir. Yine de ayrı bir günlük sunucusu dizisine eşzamansız POST yaparak alternatif mesaj kanallarınız var.
Bir süre düşündükten sonra arkanıza yaslanın ve REST'in bir mesajlaşma kuyruğu ve ESB'ye olan ihtiyacı tamamen ortadan kaldırabileceğini anlamaya başlıyorsunuz.
http://www.infoq.com/presentations/BPM-with-REST