• Forumu şuan da Ziyaretçi olarak görüntülüyorsunuz. Forum ziyaretçileri tüm konu ve bağlantıları görüntüleyemez ve kaynaklara erişimi yoktur. Eğer üye iseniz buradan üye girişi yapın ya da burayı tıklayarak şimdi üye olun.
  • Ubden® Topluluk Projelerine, Aracılığınızla Destek Vermektedir.

    Topluluk projelerine katkı yapmak ve topluğumuza ulaşan genç girişimcilere destek olmak için Buradaki  bağlantıdan işlem kanallarına ulaşabilirsiniz.

    Desteklerinizle 9.000 kişilik bir ekosistem olduk ve büyümeye devam ediyoruz. Desteğiniz için teşekkürler.

SAP CPI’de JMS ile Retry Mekanizması

B

Burak Göksu

Misafir
Misafir

Giriş​


Entegrasyon senaryolarında, özellikle de bulut tabanlı çözümlerde, mesajların güvenilir bir şekilde iletilmesi kritik öneme sahiptir. SAP Cloud Platform Integration (CPI), bu ihtiyacı karşılamak için çeşitli araçlar sunar. Bu araçlardan biri olan JMS (Java Message Service), asenkron mesajlaşma ve yeniden deneme (retry) mekanizmalarıyla entegrasyon süreçlerini daha sağlam ve esnek hale getirir.

JMS'in SAP Cloud Platform Integration’daki Rolü​


Mesajları geçici olarak kuyruklarda saklayarak, hedef sistemin geçici olarak erişilemez olduğu durumlarda bile mesajların kaybolmasını engeller. Bu sayede, sistemler arası gevşek bağlılık (loose coupling) sağlanır ve entegrasyon süreçleri daha dayanıklı hale gelir.

JMS (Java Message Service) Nedir ve Faydaları Nelerdir?​


JMS (Java Message Service), mesaj tabanlı uygulamaların asenkron iletişim kurmasını sağlayan, yüksek güvenilirlik ve esneklik sunan bir mesajlaşma protokolüdür. SAP CPI'da JMS, aşağıdaki avantajları sunar:

  • Güvenilir Mesaj Teslimi: Mesajların kaybolmasını önlemek için kalıcı (persistent) mesajlar kullanılabilir.
  • Asenkron İletişim: Gönderici ve alıcıların aynı anda çevrimiçi olması gerekmez.
  • Yüksek Performans: Büyük veri hacimleri ve yüksek hacimli mesaj trafiği için optimize edilmiştir.
  • Mesaj Kuyruklama: Mesajların sıralanması ve gerektiğinde yeniden gönderilmesi sağlanır.
  • Scalability: Büyük ölçekli uygulamalar için yüksek esneklik sunar.
JMS (Java Message Service) Nedir

Retry Mekanizması ve Exception Subprocess​


SAP CPI'de, mesaj iletimi sırasında bir hata oluştuğunda, bu hata exception subprocess aracılığıyla yakalanabilir. Exception subprocess, hatalı mesajları işlemek ve belirli işlemleri (örneğin, yeniden deneme) gerçekleştirmek için kullanılır. Bu yapı sayesinde, mesaj iletiminde yaşanan geçici sorunlar otomatik olarak ele alınabilir.

Retry Mekanizması ve Exception Subprocess

Exponential Backoff: Akıllı Yeniden Deneme Stratejisi​


Exponential backoff, yeniden deneme işlemleri arasında bekleme süresini her denemede katlanarak artıran bir stratejidir. Örneğin, ilk denemeden sonra 1 dakika bekleniyorsa, ikinci denemede 2 dakika, üçüncü denemede 4 dakika beklenir. Bu yaklaşım, sistem üzerindeki yükü azaltır ve hedef sistemin toparlanması için zaman tanır.

SAP CPI'de JMS adaptörü üzerinden exponential backoff ayarı yapılabilir. Bu sayede, yeniden deneme işlemleri daha kontrollü ve etkili bir şekilde yönetilir.

Dead Letter Queue (DLQ): Başarısız Mesajlar İçin Güvenli Liman​


Belirli sayıda yeniden denemeye rağmen iletilemeyen mesajlar, Dead Letter Queue (DLQ) adı verilen özel bir kuyruğa yönlendirilir. DLQ, başarısız mesajların kaybolmasını engeller ve bu mesajların manuel olarak incelenmesine veya alternatif işlemlere tabi tutulmasına olanak tanır.


Dead Letter Queue (DLQ)

Message Monitor ile Retry Süreçlerini İzleme​


SAP Cloud Integration'da, JMS kuyrukları üzerinden iletilen mesajların durumunu ve yeniden deneme (retry) girişimlerini etkin bir şekilde izlemek için Message Monitor aracı kritik bir rol oynar. Bu araç sayesinde, mesajların işlenme durumlarını, yeniden deneme sayısını ve varsa hata detaylarını kolayca görebilirsiniz. Özellikle, JMS adaptörü kullanılarak yapılandırılan retry mekanizmalarında, mesajların yeniden deneme süreçleri ve kuyruklardaki durumları Message Monitor üzerinden takip edilebilir.


Message Monitor ile Retry Süreçlerini İzleme

JMS Queue Monitoring ile Mesaj Yönetimi​


SAP CPI'de JMS kuyrukları, mesajların asenkron olarak işlenmesini sağlarken, sistem yöneticilerinin mesaj akışlarını etkin bir şekilde izlemelerine de olanak tanır. Queue Monitoring ekranı, mevcut kuyrukların durumunu, kapasitesini ve hata oranlarını görselleştirerek hızlı müdahale imkanı sunar. Örneğin, JMS Resources panelinde, mevcut kuyruk sayısı, kapasite kullanımı ve kuyruk durumları gibi temel bilgiler gösterilir. Mesajların gönderim başarısı, hata sayısı ve yeniden deneme (retry) durumları gibi detaylar, kuyrukların sağlığını izlemek için kritik veriler sağlar. Ayrıca, belirli bir kuyruğa ait mesajlar, Message ID, Status, Retry Count ve Next Retry On gibi detaylarla birlikte listelenir. Bu bilgiler, mesajların neden beklediğini, kaç kez yeniden denendiğini ve bir sonraki denemenin ne zaman gerçekleşeceğini belirlemek için kullanılır. Bu izleme yetenekleri, sistem yöneticilerinin entegrasyon süreçlerini optimize etmelerine ve olası sorunları proaktif olarak çözmelerine yardımcı olur. Monitoring ekranından kuyruktaki mesajları silebilir veya manuel olarak tekrar tetikleyebiliriz.

JMS Queue Monitoring

Uygulama Senaryosu: Exception Subprocess ile Retry Yönetimi​


Bir entegrasyon sürecinde, mesaj iletimi sırasında bir hata oluştuğunda, exception subprocess devreye girer. Bu subprocess içinde retry mekanizmasını çağırır. JMS adaptörü, belirlenen retry politikası doğrultusunda mesajı yeniden iletmeye çalışır. Belirli sayıda denemeden sonra hala başarısız olunursa, mesaj DLQ'ya yönlendirilir.

Bu yapı sayesinde, geçici hatalar otomatik olarak yönetilirken, kalıcı hatalar için manuel müdahale imkanı sağlanır.

Sonuç​


SAP CPI'de JMS kullanarak retry mekanizması oluşturmak, entegrasyon süreçlerinin güvenilirliğini ve esnekliğini artırır. Exponential backoff ve DLQ gibi stratejilerle desteklenen bu yapı, mesaj iletiminde yaşanabilecek sorunlara karşı etkili çözümler sunar. Exception subprocess ile entegre edilen bu mekanizma, hataların otomatik olarak ele alınmasını ve sistemlerin daha dayanıklı hale gelmesini sağlar.

SAP CPI'de JMS kuyruklarını en doğru şekilde yapılandırmak, DLQ yönetimini kurmak ve exponential backoff stratejinizi optimize etmek için iletişime geçebilirsiniz.

Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.


Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
 
Üst