← Geri

2026-05-18

BizTalk'ın Bana Öğretip Modern iPaaS Araçlarının Unuttukları

Birkaç ayda bir, bir sigorta şirketinin ya da bankanın poliçe verilerinin, hasar beslemesinin veya komisyon hesaplamasının neden yanlış olduğunu çözmeye çalıştığı bir kriz odasına çağrılıyorum. Entegrasyon platformu her zaman pırıl pırıl — Logic Apps, MuleSoft, Boomi ya da Python yapıştırıcısıyla evde yapılmış bir Kafka hattının bir kombinasyonu. Ve kök neden neredeyse her zaman aynı: kimse sınırda bir sözleşme dayatmamış, kimse teslimatı garanti etmemiş ve kimse hangi mesajın hangi alt sistem kaydını ürettiğini kesin olarak söyleyemiyor.

Kariyerimin anlamlı bir bölümünü Türk bankaları ve sigortacıları için BizTalk çözümleri inşa ederek geçirdim. Bu konuda nostaljik değilim. Araçlar acı vericiydi, öğrenme eğrisi acımasızdı ve sabah 2'de DTA sorgularıyla bir orchestration'ı debug etmek özel bir çile türüydü. Ama BizTalk, modern iPaaS platformlarının isteğe bağlı hale getirdiği şeyleri size doğru şekilde yapmaya zorluyordu — ve kurumsal entegrasyonda isteğe bağlı, atlandı demektir.

BizTalk'ın Dayattığı Üç Disiplin

BizTalk, can sıkıcı olacak kadar fikir sahibiydi. Platform sizinle savaşmadan yarım yamalak bir entegrasyon kuramazdınız. Özellikle üç disiplin:

Bunların hiçbiri gösterişli değildi. Hepsi yük taşıyordu.

Modern iPaaS'in İsteğe Bağlı Hale Getirdikleri

Orta ölçekli bir sigortacıdaki tipik bir Logic Apps veya Boomi uygulamasına bakın. Bir REST endpoint'i JSON alıyor. JSON bir dizi dönüşüm adımından geçiriliyor. Belki bir JSON şema kontrolü vardır, belki yoktur. Genellikle yoktur, çünkü şema 2022'den beri güncellenmemiş bir Confluence sayfasında yaşamaktadır.

Üst sistem yeni bir alan eklediğinde veya policyHolderId'yi int'ten string'e çevirdiğinde, entegrasyon çalışmaya devam eder. Dönüşüm alanı sessizce zorlar ya da düşürür. Alt akışta, veri ambarı bir tanımlayıcı beklediği yerde NULL alır. Üç hafta sonra, bir reasürans raporu yanlış çıkar ve birisi beni arar.

Desen tekrarlanıyor:

Somut Bir Örnek: Poliçe İhracı

Birlikte çalıştığım Türk bir hayat sigortacısı, BizTalk poliçe ihraç hattını modern bir olay tabanlı mimariyle değiştirdi. Kafka, mikroservisler, tam yığın. Altı ay sonra finans, ihraç edilen poliçelerin yaklaşık %0,4'ünün underwriting kararıyla uyuşmayan prim tutarlarına sahip olduğunu işaretledi.

Eski BizTalk akışı, grossPremium, netPremium ve commissionAmount alanlarını açık hassasiyetle decimal olarak gerektiren bir şemaya karşı underwriting mesajını doğruluyordu. Orchestration'da quoteId üzerinde bir correlation set vardı ve her durum geçişi kalıcılaştırılıyordu.

Yeni akış JSON olayları kabul ediyordu. Yukarıda bir yerde, bir servis belirli bir ürün teklif edildiğinde grossPremium'u locale-formatlı bir string olarak — "1.234,56" — yaymaya başladı. Tüketici bunu parseFloat ile parse etti, 1.234 aldı ve bunu poliçe kaydına yazdı. Hata yok, uyarı yok, şema reddi yok. Sadece bir ürün hattı için altı ay boyunca sessizce yanlış primler.

BizTalk'ta bu, ilk gerçekleştiğinde receive port'ta başarısız olurdu. Yeni sistemde, denetim komitesinde başarısız oldu.

BizTalk'tan Ne Çalmalı, BizTalk'ı Geri Getirmeden

Bir BizTalk yeniden doğuşu savunmuyorum. Platform emekliliğini hak etmişti. Ama dayattığı disiplin onunla birlikte emekli olmamalıydı. Modern iPaaS üzerinde entegrasyonlar inşa ediyorsanız, şu alışkanlıkları çalın:

Gerçek Ders

iPaaS satıcıları, entegrasyonun sürükle-bırak, low-code ve citizen developer'lar için erişilebilir olabileceği bir hikaye sattı. Basit akışlar için tamam. Ama para, poliçeler veya regülatif veri işin içine girdiği an, dayatılan sözleşmelerin yokluğu, bir denetçi ya da müşteri bulana kadar sessizce büyüyen bir borç haline gelir.

BizTalk, yanlış şeylerin çok kolay olduğunu bildiği için doğru şeyleri zorunlu kıldı. Modern platformlar doğru şeyleri isteğe bağlı yapıp buna esneklik dedi. Düzeltmek için para aldığım veri kalitesi sorunları, o esnekliğin faturasıdır — faiziyle birlikte gelir.