BPMN gatewayleri
Gateway nedir?
BPMN 2.0 içinde gatewayler, Sequence Flow öğelerinin belirli koşullara göre nasıl ayrılacağını, birleşeceğini veya yönlendirileceğini belirleyerek süreç akışını yönetir. Süreçte yolların ayrılabileceği veya birleşebileceği karar noktalarıdır. Birden fazla olası sonucu olan karmaşık iş akışlarını modellemenizi sağlar. BPMN diyagramlarında baklava biçiminde gösterilir; içlerindeki farklı simgeler davranış türünü belirtir.
Gateway türleri
Exclusive Gateway (XOR Gateway)
- Amaç: En yaygın gateway türüdür. Koşullara göre süreç yalnızca bir çıkış yolunu izler.
- Görsel gösterim: İçinde “X” bulunan eşkenar dörtgen.
- Örnek: Bir onay sürecinde talep onaylanırsa bir yolu, reddedilirse başka bir yolu izler.
- Kullanım alanı: “Evet/hayır” veya “doğru/yanlış” gibi bir karara bağlı olarak sürecin yalnızca tek bir yolu izleyebildiği durumlar.
Inclusive Gateway (OR Gateway)
- Amaç: Bu gateway, koşullara bağlı olarak bir veya daha fazla yolun izlenmesine izin verir. Koşulu doğru olan tüm yollar izlenir.
- Görsel gösterim: İçinde daire bulunan eşkenar dörtgen.
- Örnek: Birden fazla onayın gerektiği, ancak tüm onayların zorunlu olmadığı bir süreçte sistem, belirlenen koşullara uyan tüm onay yollarını izleyebilir.
- Kullanım alanı: Farklı işlemleri başlatabilecek birden fazla ölçüt gibi, koşullara bağlı olarak birden fazla yolun izlenebildiği durumlar.
Parallel Gateway (AND Gateway)
- Amaç: Bu gateway, akışı birden fazla paralel yola ayırır ve sürecin tüm dalları aynı anda izlemesini sağlar. Birden fazla gelen yolu eşzamanlamak için de kullanılabilir.
- Görsel gösterim: İçinde “+” bulunan eşkenar dörtgen.
- Örnek: Birden fazla departmanın belgeleri aynı anda incelediği bir görev.
- Kullanım alanı: Görevlerin veya işlemlerin paralel yürütülmesi ya da devam etmeden önce birden fazla yolun eşzamanlanması gerektiğinde.
Olay tabanlı gateway
- Amaç: Bu gateway, akışı gerçekleşen olaylara göre yönlendirir. İzlenecek yolu belirlemek için belirli bir olayı (örneğin mesaj, zamanlayıcı veya sinyal) bekler.
- Görsel gösterim: İçinde beşgen bulunan baklava şekli.
- Örnek: Akışa devam etmek için müşteriden yanıt veya zaman aşımı bekleyen bir süreç.
- Kullanım alanı: Sürecin bir sonraki adımının mesaj veya zamanlayıcı tetiklemesi gibi harici olaylara bağlı olduğu durumlar.
Gatewayler hakkında temel bilgiler
- Akışları dallandırma: Gatewayler, tek bir Sequence Flow’u birden fazla kola ayırabilir. Koşullara veya olaylara göre izlenecek yolu ya da yolları belirler.
- Akışları birleştirme: Gatewayler, birden fazla Sequence Flow’u tek bir akışta da birleştirebilir. Paralel yolları eş zamanlı hâle getirir veya belirli koşullara göre yolları bir araya getirir.
- Karar verme: Süreç akışının değerlendirme sonuçlarına, olaylara veya kullanıcı girdisine bağlı olduğu karar noktalarını modellemek için gatewayler kullanılır.
Kullanım alanları
- Exclusive Gateway: Yalnızca bir koşulun doğru olabildiği ve sürecin tek bir yolu izlemesi gerektiği durumlarda.
- Parallel Gateway: Birden fazla görevin aynı anda yürütülebildiği ve tümünün tamamlanması gerektiği durumlarda.
- Inclusive Gateway: Bir veya daha fazla koşulun doğru olabildiği ve birden fazla yolun izlenmesi gerektiği durumlarda.
- Event-Based Gateway: Akışın mesaj veya zamanlayıcı beklemek gibi harici olaylara bağlı olduğu durumlarda.
- Complex Gateway: Sürecin nasıl devam edeceğini karmaşık kuralların veya koşulların belirlediği durumlarda.
Örnek
Basit bir onay iş akışında:
- Exclusive Gateway: Talep onaylanırsa süreç devam eder, reddedilirse sona erer.
- Parallel Gateway: Onayın ardından 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üşterinin yanıtını veya zaman aşımını bekler.
Gatewayler, karar verme, paralel işleme ve iş akışındaki farklı yolları eş zamanlı hâle getirme olanağı sunarak iş süreçlerinin daha esnek modellenmesini sağlar.
İlgili konular
- Etkinlikler: görevler ve alt süreçler.
- Olaylar: akış sırasında gerçekleşenler.