BPMN Bağlantı Objeleri
Giriş
BPMN 2.0’da, connecting objects süreç modelindeki öğeler arasındaki ilişkileri ve bilgi akışını tanımlar. Bu objeler, activity, event ve gateway’leri birbirine bağlar; süreç akışını yönlendirir, veri ve mesaj iletimini sağlar. Temel connecting objects şunlardır: sequence flow, message flow ve association.
Sequence Flow
Sequence flow, süreçteki activity, event ve gateway’lerin yapılma sırasını belirler. Adım adım ilerleyişi ve mantıksal akışı gösterir.
Task’ların hangi sıralamayla yapılacağını düz çizgi ve uçtaki ok ile belirtir. Ayrıca koşullu ya da varsayılan yol da olabilir.
- Örnek: “Submit Application” (Başvuru Gönder) ile “Review Application” (Başvuruyu İncele) görevleri arasında sequence flow ile bağlantı kurulur; inceleme, başvurunun ardından yapılır.
- Sequence Flow Türleri:
- Normal Sequence Flow: Aktiviteler arasında varsayılan akış.
- Conditional Sequence Flow: Belirli bir koşul sağlanınca devam eden akış (küçük elmas ile gösterilir).
- Default Sequence Flow: Herhangi bir koşul sağlanmazsa izlenen standart yol (başlangıçta eğik çizgiyle).
- Kullanım Alanı: Sequence flow, sürecin adım adım ilerlemesini sağlar ve aktivitelerin doğru sırayla yapılmasını güvence altına alır.
Message Flow
Message flow, farklı participant veya süreçler arasındaki iletişimi gösterir; genelde farklı pool’larda kullanılır. Birbirinden bağımsız çalışan süreçler arası veri alışverişini ifade eder.
Message flow konektörü, organizasyon içinde farklı pool’lar veya departmanlar arasındaki iletişimi gösterir. Aynı pool’daki event veya activity’ler arasında bağlantı kurmak için kullanılmaz. Kırık (kesik) çizgili bir hat, başında daire ve sonunda açık uçlu okla gösterilir.
- Örnek: Bir pool’daki “Send Invoice” (Fatura Gönder) görevi ile başka bir pool’daki “Receive Invoice” (Fatura Al) görevi, aralarındaki fatura transferini gösterecek şekilde message flow ile bağlanır.
- Kullanım Alanı: İş birimleri veya farklı organizasyonlar arasında iletişimi göstermek için message flow kullanılır; örneğin bir şirket başka bir şirkete sipariş talebi gönderdiğinde.
Association
Association, artifact’ları (data object, text annotation veya group gibi) süreçteki flow object’lere (activity, event, gateway gibi) bağlayarak ilişkileri ve açıklamaları netleştirir. Association, süreç sırasını etkilemez; belgelemeye ve ek detaylara yöneliktir.
Bu eleman, noktalı bir çizgiyle gösterilir, ok veya yuvarlak içermez. Event, activity ya da gateway’i bir artifact ile birleştirir.
- Örnek: Bir “Generate Report” (Rapor Oluştur) görevi, association ile “Report Document” data objesine bağlanır; böylece bu görevin ilgili dokümanı ürettiği gösterilir.
- Association Türleri:
- Normal Association: Görev gibi öğeleri data object veya annotation’a bağlar.
- Directional Association: Verinin göreve gidişini ya da gelişini (ok işaretiyle) gösterir.
- Bi-Directional Association: İki yönlü ilişkiyi belirtir (iki uçlu ok ile gösterilir).
- Kullanım Alanı: Ek açıklama, data object veya metin notunu task veya event’e iliştirmek için association kullanılır; süreç akışını değiştirmez.
Connecting Objects Hakkında Temel Noktalar
- Sequence Flow: Tek bir süreç (bir pool içinde) içerisindeki görev ve event sırasını tanımlar. Aktivite akışı, koşullar ve kararlar için sequence flow kullanılır.
- Message Flow: Farklı participant veya süreçler (farklı pool’lar arasında) arasındaki iletişimi gösterir. Süreçler arasında veri alışverişi veya tetikleme gerektiğinde kullanılır.
- Association: Veri, doküman veya açıklama gibi ek bilgileri aktivitelerle ilişkilendirir ve ek açıklama sağlar, fakat süreç akışını kontrol etmez.
Örnek
Müşteri siparişlerinin yönetildiği bir süreci düşünelim:
- Sequence Flow: Sipariş alındıktan sonra sistem, siparişi işler ve ardından teslimata iletir. Her adım (alım, işleme, teslimat) sequence flow ile birbirine bağlanır.
- Message Flow: Sipariş işlendikten sonra, teslimatı gerçekleştirmesi için dış bir kargo firmasına bir mesaj gönderilir. Bu iletişim, iki bağımsız birim arasındaki message flow ile gösterilir.
- Association: “Customer Order” data nesnesi ile “Receive Order” görevi ilişkilendirilirse, bu görevin sipariş verisiyle ilgilendiği belirtilir.
Özet
- Sequence Flow: Tek bir süreçte aktivitelerin sırasını yönetir.
- Message Flow: Farklı birimler veya pool’lar arasında iletişimi kolaylaştırır.
- Association: Data veya annotation gibi objeleri süreç adımlarıyla ilişkilendirerek ek açıklama sağlar.
Bu connecting objects, görev ve event’lerin bağlantısını kurmak, verinin süreçte nasıl aktığını ve süreçlerin BPMN modelinde nasıl etkileştiğini tanımlamak için temel önemdedir.