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.
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...
Depo Lojistiği Nedir?
Depo lojistiği, bir deponun günlük operasyonlarının yönetimidir. Etkili bir şekilde yönetildiği takdirde bir şirketin depo süreçlerini...
SAP MII Enerji İzleme ve Analiz Nedir?
Bir ürünün en büyük maliyetlerinden biri üretim aşamasında harcanan enerji maliyetidir. İşletmeler, rekabet gücünü korumak ve için...
e-Fatura’ya Geçme Şartları: Güncel Hadler ve Rehberi
e-Fatura'ya geçme şartları, Gelir İdaresi Başkanlığı (GİB) tarafından her yıl yayınlanan tebliğlerle güncellenmektedir. Birçok...
SAP TM ile Stratejik Navlun Yönetimi ve Tedariği Nedir?
Giriş Günümüz küresel ekonomisinde, şirketlerin rekabetçi kalabilmek için her maliyet kalemini dikkatle yönetmesi şart. Bu kalemler...
Yalın Üretim Nedir?
1940’lı yıllarda Toyota Üretim Sistemi’nde ortaya çıkan Yalın Üretim (Lean Production / Lean Manufacturing), günümüzde iş...
Uzaktan Çalışmayı Daha Verimli Hale Getirmek İçin İpuçları
Evden çalışmanın avantajları vardır, ancak kesinlikle dezavantajları da vardır. Motive olmak birçok insan için büyük bir zorluk olabilir,...
SAP ECC’den SAP S/4HANA’ya Geçiş Süreci
Kurumsal Kaynak Planlama (ERP) çözümleri işletmelerin temel operasyonlarını bir yazılım ile yönetmesini sağlamak için tasarlanmış...
İşletmenizin Dijital Dönüşüm Yolculuğunun Hangi Aşamasında?
Dijital dönüşüm yolculuğu, şirketlerin fiziksel iş süreçlerini dijital platforma taşıdığı aşamalı bir değişim sürecidir. Peki...
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.