MuleSoft - Mesaj İşlemci ve Komut Dosyası Bileşenleri

Komut dosyası oluşturma modülleri, kullanıcıların Mule'de komut dosyası dilini kullanmalarını kolaylaştırır. Basit bir deyişle, komut dosyası oluşturma modülü, komut dosyası dilinde yazılmış özel mantığı değiştirebilir. Komut dosyaları, Uygulamalar veya dönüştürücüler olarak kullanılabilir. İfade değerlendirmesi için, yani mesaj yönlendirmesini kontrol etmek için kullanılabilirler.

Mule, aşağıdaki desteklenen komut dosyası dillerine sahiptir -

  • Groovy
  • Python
  • JavaScript
  • Ruby

Komut Dosyası Modülleri Nasıl Kurulur?

Aslında, Anypoint Studio komut dosyası modülleri ile birlikte gelir. Modülü Katır Paletinde bulamazsanız, kullanılarak eklenebilir+Add Module. Ekledikten sonra Scripting modülü işlemlerini Mule uygulamamızda kullanabiliriz.

Uygulama Örneği

Tartışıldığı gibi, çalışma alanı oluşturmak için modülü kanvasa sürükleyip bırakmamız ve uygulamamızda kullanmamız gerekiyor. Aşağıda bunun bir örneği var -

HTTP Dinleyici bileşenini nasıl yapılandıracağımızı zaten biliyoruz; bu nedenle Komut Dosyası Modüllerini yapılandırmayı tartışacağız. Komut dosyası modülünü yapılandırmak için aşağıda yazılı adımları izlememiz gerekiyor -

Step 1

Mule Palette'den Scripting modülünü arayın ve EXECUTE betik modülünün işleyişi, yukarıda gösterildiği gibi akışınıza.

Step 2

Şimdi, aynı üzerine çift tıklayarak Yapılandırmayı yürüt sekmesini açın.

Step 3

Altında General sekmesinde kodu sağlamamız gerekiyor Code text window aşağıda gösterildiği gibi -

Step 4

Sonunda, seçmemiz gerekiyor Engineyürütme bileşeninden. Motorların listesi aşağıdaki gibidir -

  • Groovy
  • Nashorn(javaScript)
  • jython(Python)
  • jRuby(Ruby)

Yapılandırma XML düzenleyicisindeki yukarıdaki yürütme örneğinin XML'si aşağıdaki gibidir -

<scripting:execute engine="jython" doc:name = "Script">
   <scripting:code>
      def factorial(n):
         if n == 0: return 1
      return n * factorial(n-1)
      result = factorial(10)
   </scripting:code>
</scripting:execute>

Mesaj Kaynakları

Mule 4, Mule 3 mesajından daha basitleştirilmiş bir modele sahiptir ve bu, bilgilerin üzerine yazmadan bağlayıcılar arasında tutarlı bir şekilde verilerle çalışmayı kolaylaştırır. Katır 4 mesaj modelinde her Katır olayı iki şeyden oluşur:a message and variables associated with it.

Bir Katır mesajı, yük ve özniteliklerine sahiptir; burada öznitelik esas olarak dosya boyutu gibi meta verilerdir.

Ve bir değişken, işlem sonucu, yardımcı değerler vb. Gibi keyfi kullanıcı bilgilerini tutar.

Gelen

Katır 3'teki gelen mülkler artık Katır 4'teki Öznitelikler haline geliyor. Gelen mülklerin bir ileti kaynağı aracılığıyla elde edilen yük hakkında ek bilgi depoladığını biliyoruz, ancak bu artık Katır 4'te özniteliklerin yardımıyla yapılıyor. Özelliklerin aşağıdaki avantajları vardır -

  • Niteliklerin yardımıyla, hangi verilerin mevcut olduğunu kolayca görebiliriz, çünkü nitelikler güçlü bir şekilde yazılmıştır.

  • Niteliklerde bulunan bilgilere kolayca erişebiliriz.

Katır 4'teki tipik bir mesaj örneği aşağıdadır -

Giden

Katır 3'teki giden mülkler, ek veri göndermek için Katır bağlayıcıları ve taşımaları tarafından açıkça belirtilmelidir. Ancak Katır 4'te, bunların her biri, her biri için bir DataWeave ifadesi kullanılarak ayrı ayrı ayarlanabilir. Ana akışta herhangi bir yan etki oluşturmaz.

Örneğin, aşağıdaki DataWeave ifadesi bir HTTP isteği gerçekleştirecek ve mesaj özelliklerini ayarlamaya gerek kalmadan başlıklar ve sorgu parametreleri oluşturacaktır. Bu, aşağıdaki kodda gösterilmiştir -

<http:request path = "M_issue" config-ref="http" method = "GET">
   <http:headers>#[{'path':'input/issues-list.json'}]</http:headers>
   <http:query-params>#[{'provider':'memory-provider'}]</http:query-params>
</http:request>

Mesaj İşlemci

Katır, bir mesaj kaynağından bir mesaj aldığında, mesaj işlemcisinin çalışması başlar. Katır, mesajı bir akış boyunca işlemek için bir veya daha fazla mesaj işlemcisi kullanır. Mesaj işlemcinin ana görevi, mesajı Katır akışından geçerken dönüştürmek, filtrelemek, zenginleştirmek ve işlemektir.

Katır İşlemcisinin Sınıflandırılması

Aşağıda, işlevlere dayalı Katır İşlemci kategorileri verilmiştir -

  • Connectors- Bu mesaj işlemcileri veri gönderir ve alır. Ayrıca, verileri standart protokoller veya üçüncü taraf API'ler aracılığıyla harici veri kaynaklarına eklerler.

  • Components - Bu mesaj işlemcileri doğası gereği esnektir ve Java, JavaScript, Groovy, Python veya Ruby gibi çeşitli dillerde uygulanan iş mantığını gerçekleştirir.

  • Filters - Mesajları filtrelerler ve belirli kriterlere göre yalnızca belirli mesajların bir akışta işlenmeye devam etmesine izin verirler.

  • Routers - Bu mesaj işlemcisi, mesajın yönlendirme, yeniden sıralama veya bölme akışını kontrol etmek için kullanılır.

  • Scopes - Bir akış içindeki ince taneli davranışı tanımlamak amacıyla temelde kod parçacıklarını sarın.

  • Transformers - Transformatörlerin rolü, sistemler arasındaki iletişimi kolaylaştırmak için mesaj yük türünü ve veri formatını dönüştürmektir.

  • Business Events - Temel olarak temel performans göstergeleriyle ilişkili verileri yakalarlar.

  • Exception strategies - Bu mesaj işlemcileri, mesaj işleme sırasında ortaya çıkan her türlü hatayı işler.