« Tüm yayınlar

Satın Alma Onay Akışlarını Organizasyon Grafiğinden Üretmek

Organizasyon sabit iş akışı yerine sürümlü bir grafik olarak modellenir; onaylar çalışma zamanında rol ve bütçeye göre hesaplanır, denetim izi korunur.

APSentra ekibi, kurumsal ölçekte satın alma onay akışlarının neden sıkça bozulduğunu inceleyen bir mimari yaklaşım paylaşıyor. Sorunun kökeni performans değil, tasarım felsefesi: klasik iş akışı motorları 'talep → yönetici → finans → onay' gibi sabit adım dizileri tanımlar, ancak organizasyon yapısı sürekli değişirken bu tanımlar dağıtım anında donmuş kalır. Sonuç olarak yapısal kayma, tutar/kategori/bütçeye göre değişen onay mantığının statik listelerle ifade edilememesi ve denetim kayıtlarının anlamsızlaşması gibi sorunlar ortaya çıkıyor.

Çözüm olarak organizasyon; Entity, BusinessUnit, CostCenter, BudgetPool, Role ve Employee gibi düğümler ile REPORTS_TO, DELEGATES_TO, OWNS, DRAWS_FROM, GOVERNS gibi kenarlardan oluşan yönlü bir grafik olarak modelleniyor. Kritik tasarım kararı, grafiğin yerinde güncellenmek yerine sürümlenmesi: her değişiklik yeni bir kenar ve geçerlilik zaman damgasıyla yazılıyor, böylece 'bu talep sunulduğunda kimin onay yetkisi vardı' sorusu tarihsel olarak yanıtlanabiliyor. Onay süreci de artık sabit bir dizilim değil, her adımda grafiği sorgulayan üretilmiş bir durum makinesi; 3 seviyeli ile 9 seviyeli bir onay zinciri aynı kod yolunu kullanıyor, yeniden yapılanma sonrası kod değişmeden doğru yönlendirme yapılabiliyor.

Yazıda ayrıca eşzamanlı taleplerde bütçenin çift harcanmasını önlemek için bütçe kontrolü ve rezervasyonunun tek bir atomik işlemde, optimistic locking ile yapılması gerektiği vurgulanıyor. Onay durumları bir 'status' kolonunda tutulmak yerine event sourcing yaklaşımıyla değişmez bir olay günlüğüne (domain events) ekleniyor; her olay, onay anındaki organizasyon grafiği sürümünü ve bütçe anlık görüntüsünü içeriyor. Bu sayede sistem hem esnek hem de tam denetlenebilir hale geliyor.

» KaynakDev.to