SAP Integration Suite’de büyük mesajları işlemenin en güvenilir yolu, Splitter ve Aggregator pattern’larını birlikte kullanmaktır. Splitter, binlerce kayıt içeren tek bir mesajı bağımsız işlenebilir parçalara böler; Aggregator ise bu parçaları ya da farklı kaynaklardan gelen ilişkili yanıtları yeniden tek bir anlamlı mesajda birleştirir. Bu yapı sayesinde bellek tüketimi düşer, paralel işleme mümkün hale gelir ve hata yönetimi sadeleşir. Bu rehberde her iki pattern’ın ne zaman ve nasıl kullanılacağını, SAP Integration Suite üzerindeki yapılandırma adımlarını ve gerçek senaryolardaki kullanım örneklerini ele alıyoruz. Entegrasyon akışlarınızı hem performans hem de sürdürülebilirlik açısından optimize etmek istiyorsanız okumaya devam edin.
İçindekiler
Modern kurumsal entegrasyonlarda tek bir mesajın içinde binlerce satır sipariş, fatura ya da envanter kaydı barındırması son derece yaygındır. SAP Integration Suite bu mesajları varsayılan olarak tek bir iş birimi olarak işler; bu da şu sorunlara yol açar:
Bu sorunları çözmek için SAP Integration Suite, Enterprise Integration Pattern (EIP) kitaplığından gelen Splitter ve Aggregator bileşenlerini sunar. Mesaj akışı içindeki teknik veriyi yönetmek için Header, Property ve Exchange kavramlarını da net biçimde ayırt etmek gerekir.
Splitter, tek ve büyük bir mesajı daha küçük, bağımsız işlenebilir mesajlara ayıran bir entegrasyon pattern’ıdır. SAP Cloud Integration’da Splitter bileşeni, mesajdaki belirli bir XML node’u veya JSON dizisini okuyarak her öğeyi ayrı bir mesaj olarak sonraki adımlara iletir.
Bir perakende şirketi, SAP S/4HANA’dan gelen toplu sipariş XML dosyasını üçüncü taraf bir lojistik sisteme göndermek istiyor. Dosyada 500–5.000 sipariş satırı bulunabiliyor. Tek mesaj olarak gönderildiğinde lojistik sistem zaman aşımı hatası veriyor.
Çözüm yaklaşımı:
Bu yapı sayesinde lojistik sistem üzerindeki yük eşit dağıtılır ve akış izlenebilirliği ciddi ölçüde artar.
Aggregator, bölünmüş mesajları ya da farklı kaynaklardan gelen ilişkili mesajları tek bir mesajda birleştiren pattern’dır. Splitter ile birlikte kullanıldığında Scatter-Gather veya Split-Process-Aggregate mimarisini oluşturur: mesajı böl, her parçayı ayrı ayrı işle, sonuçları birleştir.
Aggregator bileşenini yapılandırırken üç kritik parametre belirlenir:
Mesajları birleştirmeden önce biçimlendirmek gerektiğinde Content Modifier ile mesaj dönüşümü adımı bu akışı tamamlar.
Bir üretim firması, farklı depo sistemlerinden stok yanıtlarını toplayıp SAP S/4HANA’ya tek bir konsolide mesaj olarak göndermek istiyor. Her depo ayrı bir REST API’ye sahip ve yanıt süreleri farklılık gösteriyor.
Uygulanan akış:
Splitter ile bölünmüş mesajlarda hata yönetimi, tek mesaj senaryosuna kıyasla daha karmaşıktır. SAP CPI’da Exception Subprocess bileşenini her alt dal için ayrı ayrı tanımlamak gerekir. Başarısız olan mesajı Dead Letter Queue’ya (DLQ) ya da bir hata log tablosuna yönlendirmek, diğer mesajların işlenmesinin durmasını önler.
General Splitter tüm mesajı belleğe alır; Iterating Splitter ise kayıtları stream olarak okur. 10.000 satırı aşan dosyalar için Iterating Splitter kullanmak, bellek hatalarını önlemenin en pratik yoludur. Paralel işleme (Parallel Processing) etkinleştirildiğinde performans kazanımı ciddi boyutlara ulaşabilir; ancak hedef sistemin eş zamanlı bağlantı kapasitesini göz önünde bulundurmak gerekir.
Completion Condition olarak yalnızca mesaj sayısı belirlenirse, bir mesajın kaybolması durumunda Aggregator süresiz bekler. Bu nedenle her zaman bir timeout değeri tanımlamak gerekir. SAP CPI’da bu değer varsayılan olarak 15 dakikadır; ancak gerçek zamanlı senaryolarda 30–60 saniye yeterli olabilir. Timeout dolduğunda sistem mevcut mesajları bir hata işleyicisine yönlendirir ya da kısmi sonuç olarak işaretler.
MDP Group olarak yürüttüğümüz entegrasyon projelerinde, yüksek hacimli akışlarda Iterating Splitter ile tanımlı bir Aggregator timeout’unun birlikte kullanılmasının üretim ortamındaki kararlılığı belirgin biçimde artırdığını gözlemliyoruz. Bu pattern’lar yalnızca veri hacminin gerçekten yüksek olduğu (örneğin binlerce satırlık mesajlar) senaryolarda anlamlı kazanım sağlar; küçük ve sabit boyutlu mesajlarda ek karmaşıklık getirebilir.
Hayır. Splitter tek başına, mesajları bölüp bağımsız işlemek için yeterlidir. Aggregator ise yalnızca bölünmüş parçaları veya farklı kaynaklardan gelen yanıtları yeniden birleştirmek gerektiğinde devreye girer. İki pattern birlikte Scatter-Gather mimarisini oluşturur.
General Splitter tüm mesajı belleğe alarak böler ve daha hızlıdır; Iterating Splitter ise kayıtları stream olarak okur ve bellek tüketimi düşüktür. 10.000 satırı aşan büyük dosyalarda OutOfMemory hatalarını önlemek için Iterating Splitter tercih edilir.
Tamamlanma koşulu yalnızca mesaj sayısına bağlıysa, beklenen bir mesaj kaybolduğunda Aggregator süresiz bekler ve akış kilitlenir. Tanımlı bir timeout, süre dolduğunda mevcut mesajların hata işleyicisine yönlendirilmesini sağlayarak bu riski ortadan kaldırır.
SAP Integration Suite’de büyük mesajları Splitter ve Aggregator pattern’larıyla işlemek; sistem güvenilirliğini artırır, hata yönetimini sadeleştirir ve yüksek veri hacimlerinde performansı korur. Bu pattern’lar, mikro hizmet mimarisiyle çalışan projelerde de aynı prensipler dahilinde uygulanabilir.
SAP entegrasyon projelerinizde bu pattern’ları hayata geçirmek, mimari kararları değerlendirmek veya mevcut entegrasyon akışlarınızı optimize etmek istiyorsanız SAP deneyimli danışmanlık ekibimizle iletişime geçebilirsiniz: info@mdpgroup.com
SAP Entegrasyon Danışmanı SAP PI/PO ve SAP Integration Suite (CPI) alanında deneyimli, entegrasyon uzmanıdır. SAP ve SAP dışı sistemler ile üçüncü parti uygulamalar arasında uçtan uca ERP entegrasyon projeleri oluşturmaktadır. İş süreçlerinin sürdürülebilri ve ölçeklenebilir yönetilmesini sağlayan entegrasyon mimarilerinin oluşturulmasına katkı sağlamaktadır.
MCP (Model Context Protocol) ve Geleceği: Teknik Analiz ve Uygulama Alanları
Giriş MCP Nedir? MCP Mimarisi Bağlantı Protokolleri Uygulama Alanları ve Kullanım Örnekleri Geleceğe Yönelik...
Fiori Nedir? SAP Fiori Danışmanlığı Nedir? Kapsamlı Rehber
SAP Fiori, SAP tarafından kullanıma sunulan, klasik SAP GUI ekranlarını daha modern ve tüm cihazlara uygun biçimde yeniden tasarlamanıza...
SAP TM ile Uluslararası ve Çok Modlu Taşımacılık Nasıl Gerçekleşir?
Giriş SAP TM, çok modlu taşımacılığı tek bir entegre platformda planlayarak farklı taşıma modları arasındaki geçişleri optimize eder...
SAP Signavio Nedir?
Kötü yönetilen iş süreçleri, şirketlerin kayıplara uğramasına, müşteri ve çalışan kaybetmesine neden olmaktadır. Bu sebeple,...
Bireysel Öneri Sistemleri Nedir? SAP Kurumsal Rehberi
Otomatikleştirilmiş bireysel öneri sistemleri, çalışanların fikir, öneri ve şikâyetlerini ilgili birimlere iletmesini sağlayan; makine...
SAP Fiori Spaces ve Pages Nedir? Avantajları Nelerdir?
SAP Fiori Launchpad, grupları Alanlar ve Sayfalar ile değiştirerek önemli bir iyileştirme sunmuştur. Bu yeni kullanıcı arayüzü,...
Cloud Connector ve CPI'daki Rolü
Cloud Connector Nedir?Cloud Connector, müşterilerin şirket içi veya özel bulut ortamlarındaki sistemlerin SAP Cloud ürünleriyle güvenli bir...
SAP Dünyasında Event-Driven Entegrasyona Giriş Rehberi
Dijital mimariler giderek daha dağıtık, esnek ve gerçek zamanlı hale geliyor. Bu dönüşümle birlikte entegrasyon dünyasında da klasik...
SAP FI Nedir? SAP Finansal Muhasebeye Kapsamlı Giriş
SAP FI nedir? SAP FI (Financial Accounting), SAP ERP sisteminin finansal muhasebe modülüdür. Çeşitli finansal işlem bilgilerini gerçek...
Mailiniz başarıyla gönderilmiştir en kısa sürede sizinle iletişime geçilecektir.
Mesajınız ulaştırılamadı! Lütfen daha sonra tekrar deneyin.