BPMN Gatewayleri
Gatewayler nedir?
BPMN 2.0 içinde Gatewayler, Sequence Flowların belirli koşullara göre nasıl bölüneceğini, birleşeceğini veya yönlendirileceğini belirleyerek süreç akışını yönetir. Gatewayler, bir süreç içinde yolun ayrılabildiği veya birleşebildiği karar noktalarıdır. Bu sayede birden fazla olası sonucu olan karmaşık iş akışlarını modelleyebilirsiniz. BPMN diyagramlarında Gatewayler elmas şekliyle gösterilir; içlerindeki farklı simgeler, kendilerine özgü davranışları belirtir.
Gateway türleri
Exclusive Gateway (XOR Gateway)
- Amaç: Bu, en yaygın gateway türüdür. Süreç, koşullara göre yalnızca bir çıkış yolunu izler.
- Görsel gösterim: İçinde “X” bulunan elmas şekli.
- Örnek: Bir onay sürecinde istek onaylanırsa bir yol, reddedilirse başka bir yol izlenir.
- Kullanım alanı: Sürecin “evet/hayır” veya “doğru/yanlış” gibi bir karara göre yalnızca bir yol izleyebildiği durumlarda kullanılır.
Inclusive Gateway (OR Gateway)
- Amaç: Bu gateway, koşullara göre bir veya daha fazla yolun izlenmesine izin verir. Koşulu doğru olan tüm yollar izlenir.
- Görsel gösterim: İçinde daire bulunan elmas şekli.
- Örnek: Birden fazla onayın gerektiği, ancak tüm onayların zorunlu olmadığı bir süreçte sistem, belirlenen koşullara göre geçerli tüm onay yollarını izleyebilir.
- Kullanım alanı: Farklı eylemleri tetikleyebilecek birden fazla ölçüt gibi koşullara bağlı olarak birden fazla yolun izlenebildiği durumlarda kullanılır.
Parallel Gateway (AND Gateway)
- Amaç: Bu gateway, akışı birden fazla paralel yola ayırmak için kullanılır. Süreç tüm dalları aynı anda izler. Ayrıca birden fazla gelen yolu eş zamanlamak için de kullanılabilir.
- Görsel gösterim: İçinde “+” bulunan elmas şekli.
- Örnek: Birden fazla departmanın belgeleri aynı anda incelediği bir görev.
- Kullanım alanı: Görevlerin veya eylemlerin paralel yürütülmesi ya da devam etmeden önce birden fazla yolun eş zamanlanması gerektiğinde kullanılır.
Event-Based Gateway
- Amaç: Bu gateway, akışı gerçekleşen eventlere göre yönlendirir. Hangi yolun izleneceğini belirlemek için belirli bir eventin, örneğin mesaj, zamanlayıcı veya sinyalin, gerçekleşmesini bekler.
- Görsel gösterim: İçinde beşgen bulunan elmas şekli.
- Örnek: Akışa devam etmek için müşteri yanıtını veya zaman aşımını bekleyen bir süreç.
- Kullanım alanı: Mesajı veya zamanlayıcı tetikleyicisini beklemek gibi, sürecin sonraki adımının dış eventlere bağlı olduğu durumlarda kullanılır.
Gatewayler hakkında temel noktalar
- Akışları bölme: Gatewayler, tek bir Sequence Flowu birden fazla dala ayırabilir ve koşullara veya olaylara göre hangi yolun ya da yolların izleneceğini belirleyebilir.
- Akışları birleştirme: Gatewayler, birden fazla Sequence Flowu tek bir akışta birleştirerek paralel yolları eş zamanlı hâle getirebilir veya belirli koşullara göre yolları bir araya getirebilir.
- Karar verme: Gatewayler, süreç akışının değerlendirmelerin, olayların veya kullanıcı girdisinin sonucuna bağlı olduğu karar noktalarını modellemek için gereklidir.
Kullanım alanları
- Exclusive Gateway: Yalnızca bir koşulun doğru olabildiği ve sürecin tek bir yol izlemesi gereken durumlar.
- Parallel Gateway: Birden fazla görevin aynı anda yürütülebildiği ve tümünün tamamlanması gereken durumlar.
- Inclusive Gateway: Bir veya daha fazla koşulun doğru olabildiği ve birden fazla yolun izlenmesi gereken durumlar.
- Event-Based Gateway: Akışın mesaj veya zamanlayıcı beklemek gibi dış olaylara bağlı olduğu durumlar.
- Complex Gateway: Sürecin nasıl devam edeceğini karmaşık kuralların veya koşulların belirlediği durumlar.
Örnek
Basit bir onay iş akışında:
- Exclusive Gateway: Talep onaylanırsa süreç devam eder, reddedilirse sona erer.
- Parallel Gateway: Onaydan sonra iki görev, belge hazırlama ve bildirim gönderme, paralel olarak tamamlanabilir.
- Event-Based Gateway: Sonraki adımı belirlemek için süreç müşteri yanıtını veya zaman aşımını bekler.
Gatewayler, iş süreçlerini daha esnek hâle getirerek iş akışı içindeki karar vermeyi, paralel işlemeyi ve farklı yolların eş zamanlı hâle getirilmesini sağlar.
İlgili konular
- Etkinlikler: görevler ve alt süreçler.
- Olaylar: akış sırasında gerçekleşenler.