Boundary Event
Boundary Event nedir?
BPMN 2.0 Boundary Event, bir etkinliğin kenarına eklenen ara yakalama olayıdır. Etkinlik çalışırken bir tetikleyiciyi (son tarih, ileti, hata, sinyal veya veri değişikliği) bekler. Tetikleyici gerçekleştiğinde etkinlikten çıkan yeni bir akış yolu açar.
- Her zaman bir Task, alt süreç, işlem veya Call Activity kenarında yer alır. Bir olaya ya da gatewaye eklenemez ve akışta bağımsız duramaz.
- Gelen Sequence Flow’u yoktur, yalnızca giden Sequence Flow’ları vardır. Bağlı olduğu etkinlik, bu olaya ulaşmanın tek yoludur.
- Yalnızca bağlı olduğu etkinlik etkin durumdayken tetikleyicileri bekler. Etkinlik önce tamamlanırsa Boundary Event tetiklenmez. İstisna, etkinlik tamamlandıktan sonra devreye giren Compensation olayıdır.
- Tetikleyici gerçekleştiğinde bir token, Boundary Eventin giden akışından ilerler. Kesintiye uğratan olay etkinliğin token’ının yerini alır; kesintiye uğratmayan olay ise etkinliğin yanına yeni bir token ekler.
- Gösterimde, etkinliğin kenarında içi tetikleyici simgesiyle işaretlenmiş çift çember olarak çizilir.
ProcessMind bu sayfada listelenen tüm türlerdeki Boundary Event öğelerini destekler. Bir etkinliğe eklemek için BPMN öğeleri paletindeki Boundary Event veya Boundary Non-Int. grubundan birini etkinliğin kenarına sürükleyin. Mevcut bir ara yakalama olayını etkinliğin kenarına sürükleyerek de ekleyebilir, tekrar dışarı sürükleyerek kaldırabilirsiniz. Hem ekleme hem de kesintiye uğratma ayarı, BPMN dışa aktarma ve yeniden içe aktarma işlemlerinde korunur.
Kesintiye uğratan ve uğratmayan olaylar
Boundary Event öğelerinin iki türü vardır. Tetikleyici geldiğinde etkinliğe ne olacağını bu tür belirler.
| Kesintiye uğratan | Kesintiye uğratmayan | |
|---|---|---|
| Görünümü | Düz çizgili çift çember | Kesikli çizgili çift çember |
| Etkinliğe etkisi | Hemen iptal edilir; etkinlikteki çalışma bırakılır | Çalışmaya devam eder; hiçbir şey iptal edilmez |
| Tetikleyici sonrası akış yolları | Yalnızca Boundary Event yolu izlenir; etkinliğin normal çıkış akışı kullanılmaz | Her iki yol da izlenir: normal akış sürerken Boundary Event yolu paralel olarak çalışır |
| Kaç kez tetiklenebileceği | Bir kez; tetikleyiciden sonra etkinlik sona erer | Etkinlik etkin kaldığı sürece birden fazla kez, örneğin yinelenen zamanlayıcının her döngüsünde |
| BPMN özniteliği | cancelActivity="true" | cancelActivity="false" |
Kesintiye uğratan Boundary Event, etkinliğin normal devam akışının yerini alır. Kesintiye uğratmayan Boundary Event ise etkinlikten ayrılan bir akış başlatır.
Tetikleyici gerçekleştiğinde etkinliği sürdürmek anlamsız veya riskli olacaksa kesintiye uğratan türü kullanın: örneğin son tarihin kaçırılması, hata veya geri çekilme. Tetikleyici etkinlikle birlikte ek bir çalışma, hatırlatma ya da devam eden işi kesmeden gönderilecek bir bildirim gerektiriyorsa kesintiye uğratmayan türü kullanın.
Her iki tür de yalnızca etkinlik etkin durumdayken anlamlıdır. Kesintiye uğratan olay tetiklendiğinde etkinliği iptal eder ve aynı etkinliğe bağlı diğer Boundary Event öğelerini de devre dışı bırakır. Kesintiye uğratmayan olay ise etkinliği ve ona bağlı diğer Boundary Event öğelerini olduğu gibi bırakır.
Tek etkinlik, birden fazla Boundary Event. Bir etkinliğe birden fazla Boundary Event eklenebilir. Bir onay görevi için sık kullanılan bir örnek:
- İki iş gününün sonunda tetiklenen kesintiye uğratan zamanlayıcı: görevi durdurup üst kademeye iletin.
- Dört saatte bir tetiklenen kesintiye uğratmayan zamanlayıcı: hatırlatma gönderin ve görevin sürmesini sağlayın.
- Gerçek kontrolü yapan alt süreçte kesintiye uğratan hata olayı: teknik hatayı ele alın.
Boundary Event türleri
ProcessMind aşağıdaki türleri destekler. Kesintiye uğratan grupta daha fazla tür bulunur; çünkü bazı tetikleyiciler yalnızca etkinliği durdurduğunda anlamlıdır.
Kesintiye uğratan Boundary Event türleri
| Tür | Anlamı | Tipik örnek |
|---|---|---|
| Message | Bu etkinliğe gönderilen belirli bir iletiyi bekler. | “Tedarikçi teklifini bekle” etkinliği, “teklif geri çekildi” iletisiyle kesintiye uğrar ve “Alternatif tedarikçi bul” adımına geçer. |
| Timer | Bir son tarih: süre, tarih veya etkinliğin başladığı andan itibaren hesaplanan döngü. | “Masrafı onayla” etkinliğinde iki günlük zamanlayıcı vardır. Tamamlanmazsa kayıt “Finans yöneticisine ilet” adımına geçer. |
| Error | Etkinlik içinde oluşan bir hatayı yakalar ve etkinliği durdurur. Error Boundary Event öğeleri her zaman kesintiye uğratır. | “Kredi kontrolü yap” alt süreci “kontrol başarısız” hatası verir; Boundary Event yolu “Manuel kredi değerlendirmesi iste” adımına gider. |
| Escalation | Daha üst bir düzeyin devralması gerektiğinde etkinliği durdurur. | İlk yanıt hedefi kaçırıldığında “Olayı çöz” üst kademeye iletilir ve “Olay yöneticisi devralır” adımına geçer. |
| Cancel | İşlem alt sürecinin iptal son olayını yakalar. Yalnızca bir işlemde kullanılabilir. | Müşteri “Seyahat rezervasyonu yap” işlemini iptal eder; Boundary Event yolu “Ödemeyi iade et ve rezervasyonları serbest bırak” adımına gider. |
| Compensation (özel durum) | Etkisini geri almak için tamamlanmış bir etkinliğin ücretlendirme işleyicisini çalıştırır. Devam eden işi iptal etmez. | Sürecin ilerleyen aşamasında sipariş iptal edilirse “Depozito al” etkinliğinin etkisi “Depozitoyu iade et” ile geri alınır. |
| Conditional | Etkinlik çalışırken bir iş koşulu gerçekleştiğinde tetiklenir. | availableStock < orderedQuantity olduğunda “Stok ayır” etkinliği kesintiye uğrar; kayıt “Stok bekleyen siparişe al ve müşteriyi bilgilendir” adımına geçer. |
| Signal | Yayın sinyalini yakalar. Sinyal tek bir etkinliğe gönderilmez; eşleşen tüm dinleyiciler tepki verebilir. | Şirket genelindeki “kayıt geri çekildi” sinyali “Eksik belgeleri topla” etkinliğini kesintiye uğratır ve kayıt kapatılır. |
| Multiple | Birden fazla tetikleyiciden herhangi biri gerçekleştiğinde tetiklenir. | “Müşterinin yanıtını bekle” etkinliği “yanıt geldi” iletisini veya on günlük zamanlayıcıyı bekler; hangisi önce gerçekleşirse bekleme iptal edilir. |
| Parallel Multiple | Yalnızca tüm tetikleyiciler gerçekleştiğinde tetiklenir. | “Yayımlama onaylarını topla” adımı ilerlemeden önce hem hukuk hem de güvenlik onay iletilerini bekler. |
Bu gruptaki türleri seçerken şu pratik kuralları göz önünde bulundurun:
- Hata, Subprocess, Call Activity veya Transaction üzerine eklenmelidir; yani hatanın gerçekten oluşabileceği etkinliğe. Sıradan bir Task öğesinin içinde hata verecek bir şey yoktur.
- İptal, bir Transaction alt sürecine eklenmelidir. Başka bir yerde yakalayacağı bir şey yoktur.
- Ücretlendirme özel bir durumdur. Etkinlik tamamlandıktan sonra devreye girer ve sürecin başka bir yerindeki telafi fırlatma olayıyla tetiklenir. “Çalışan adımı durdurmayı” değil, “tamamlanmış adımı geri almayı” modeller.
- Birden çok tetikleyiciler arasındaki yarışı ifade eder. Paralel birden çok ise tüm tetikleyicileri bekleyen bir kapıdır.
Kesintiye uğratmayan Boundary Event türleri
| Tür | Anlamı | Tipik örnek |
|---|---|---|
| Message | Etkinlik sürerken bir ileti gelir ve yan akış başlatır. | “Teklif taslağı hazırla” çalışmaya devam ederken “incelemeyi yapanın yorumu geldi” iletisi “İnceleme yorumunu kaydet” adımını başlatır. |
| Timer | Hatırlatma veya düzenli kontrol; etkinlik durdurulmaz. | “Destek talebini ele al” sürerken sekiz saatte bir yinelenen zamanlayıcı “Durum güncellemesi gönder” adımını başlatır. |
| Escalation | Etkinliği bitirmeden yanında bir üst kademeye iletme akışı başlatır. | “Şikâyeti çöz” çalışmaya devam ederken “müşteri stratejik öneme sahip” yükseltmesi “Müşteri yöneticisini bilgilendir” adımını başlatır. |
| Conditional | Etkinlik sürerken bir koşul yan akışı tetikler. | riskScore > 70, “Kredi başvurusunu işle” çalışmaya devam ederken “Denetim incelemesi için işaretle” adımını başlatır. |
| Signal | Yayın, etkinlik sürerken her dinleyici için bir yan akış başlatır. | “Gece toplu işlemini çalıştır” devam ederken “piyasa kapandı” sinyali “Ara toplamların anlık görüntüsünü al” adımını başlatır. |
| Multiple | Birden fazla tetikleyiciden herhangi biri yan akış başlatır; etkinlik sürer. | “Sözleşmeyi müzakere et” açık kalır; karşı taraftan gelen ileti veya üç günlük zamanlayıcı “Hatırlatma gönder” adımını başlatır. |
| Parallel Multiple | Tüm tetikleyiciler birlikte yan akış başlatır; etkinlik sürer. | “Tüm kontrolleri bekle” etkinliği, ileti ve sinyal gelene kadar etkin kalır; ardından “Hazır olma durumunu kaydet” adımını başlatır. |
Kesintiye uğratmayan Boundary Event öğeleri; hatırlatma, bildirim, gözlem ve paralel üst kademeye iletme için kullanılır. Ana akışı değiştirmez, yanına yeni bir akış ekler.
Boundary Event olmayan olay türleri
Bazı olay türleri Boundary Event gibi görünebilir, ancak bu türde değildir:
- Link olayları, akışın farklı bölümlerini birbirine bağlar. Bunlar akış içindeki ara yakalama veya fırlatma olaylarıdır, etkinliklere eklenmez.
- Terminate tüm süreç örneğini sonlandırır ve yalnızca son olay olarak kullanılır.
- Yok bir tetikleyici değildir. Bu nedenle bir Boundary Event hiçbir zaman “Yok” olamaz; her Boundary Eventin yakalayacağı bir şey bulunmalıdır.
ProcessMind’de Boundary Event ekleme
- BPMN öğeleri paletini açın.
- Kesintiye uğratan olay için Boundary Event grubundan, kesintiye uğratmayan olay içinse Boundary Non-Int. grubundan bir tür seçin.
- Öğeyi bir Task, alt süreç, işlem veya Call Activity kenarına sürükleyin.
- Öğeyi bırakın. Olay en yakın kenara tutunur ve etkinlik ana etkinliği olur.
- İstisna veya yan akışın ilk adımına giden Sequence Flow’u Boundary Event öğesinden çizin.
Kullanırken şu ipuçlarını göz önünde bulundurun:
- Bir ara olayı etkinlik kenarına bıraktığınızda etkinliğe eklenir. Aynı olayı boş alana bırakırsanız normal bir ara yakalama olayı oluşturulur. Daha sonra kenara sürükleyerek ekleyebilir veya kenardan dışarı sürükleyerek kaldırabilirsiniz.
- Boundary Event, ana etkinliğiyle birlikte taşınır, gizlenir ve silinir. Bir etkinlikten bağımsız olarak yerleştirilemez.
- Kesintiye uğratmayan tür, onay kutusu değil ayrı bir palet öğesidir. Etkinliğin çalışmaya devam etmesi gerekiyorsa sürüklemeden önce bu türü seçin.
- Dışa aktarma sırasında ekleme bilgisi
attachedToRef, kesintiye uğratma ayarı isecancelActivityolarak yazılır. Dosya yeniden içe aktarıldığında her ikisi de geri yüklenir.
Sık yapılan hatalar
- Giden akışı olmayan Boundary Event. Tetikleyiciyi yakaladıktan sonra ilerleyecek bir yeri olmaz ve istisna akışı çıkmaza girer.
- Kesin durdurma gereken yerde kesintiye uğratmayan zamanlayıcı kullanmak. Etkinlik çalışmaya devam eder, dolayısıyla son tarih işi bitirmez. Son tarih için kesintiye uğratan türü kullanın.
- Sıradan bir Task üzerine Error Boundary Event eklemek. Bunu, başarısız adıma ev sahipliği yapan alt sürece veya Call Activity öğesine ekleyin.
- Etkinlik tamamlandıktan sonra Boundary Eventin tetiklenmesini beklemek. Compensation dışında bu mümkün değildir; Compensation etkinlik tamamlandıktan sonra devreye girer.
- Cancel öğesini bir işlem dışında kullanmak. Cancel Boundary Event yalnızca işlem alt süreçleri için tanımlanmıştır.
- Tek etkinliğe iki kesintiye uğratan olay ekleyip her iki akışın da çalışmasını beklemek. İlk tetikleyici gerçekleşir; etkinlik ve ona bağlı diğer Boundary Event öğeleri de iptal edilir.
Tüm olaylar ve karşılık gelen simgeleri
| Başlangıç | Ara | Bitiş | ||||||
|---|---|---|---|---|---|---|---|---|
| Type | Normal | Olay alt süreci | Kesintiye uğratmayan olay alt süreci | Yakalama | Sınır | Kesintiye uğratmayan sınır | Fırlatma | |
| Yok | | |||||||
| Mesaj | | | | | | | | |
| Zamanlayıcı | | | | | | | ||
| Koşullu | | | | | | | ||
| Bağlantı | | | | |||||
| Sinyal | | | | | | | | |
| Hata | | | | |||||
| Yükseltme | | | | | | | ||
| Sonlandırma | | |||||||
| Telafi | | | | | ||||
| İptal | | | ||||||
| Çoklu | | | | | | | | |
| Paralel çoklu | | | | | | | ||
Özel bir BPMN modeli oluşturun
İlgili konular
- Olaylar: tüm olay türleri.
- Ara olay: akışın ortasında gerçekleşen olaylar.
- Etkinlikler: Boundary Event eklenebilen görevler ve alt süreçler.
- Desteklenen BPMN öğeleri: ProcessMind’in içe ve dışa aktardığı öğeler.
- BPMN 2.0: uygulamalı rehber: uygulamalı örneklerle gösterilen gösterim.
Süreçlerinizi daha iyi tasarlayın. Bağlantılı bir mimari kurun. Kontrolü elinizde tutun.
Kredi kartı gerekmeden, beklemeden hemen erişin. Kuruluşunuzdaki çalışma biçimini net ve birbiriyle bağlantılı süreç tasarımlarına dönüştürün.
Süreç mimarinizi oluşturun, sahiplik ve kontrolleri tanımlayın; rol ve sorumlulukları her düzeyde uyumlu hâle getirin.
Ücretsiz denemeyi başlatın; süreçlerinizi yönetmek ve sürekli iyileştirmek için güvenilir bir temel oluşturun.