Компоненты скрипта Mulesoft

Модули сценариев облегчают пользователям использование языка сценариев в Mule. Проще говоря, модуль сценариев может обмениваться пользовательской логикой, написанной на языке сценариев. Скрипты могут использоваться как реализации или преобразователи. Их можно использовать для оценки выражений, т. е. для управления маршрутизацией сообщений.

Mule имеет следующие поддерживаемые языки сценариев —

  • заводной
  • питон
  • JavaScript
  • Рубин

Как установить модули сценариев?

На самом деле Anypoint Studio поставляется с модулями сценариев. Если вы не найдете модуль в палитре Mule, его можно добавить с помощью +Добавить модуль. После добавления мы можем использовать операции модуля сценариев в нашем приложении Mule.

Заинтересованы в изучении курса Mulesoft? Зарегистрируйтесь в нашей программе Mulesoft raining прямо сейчас!

Пример реализации

Как уже говорилось, нам нужно перетащить модуль на холст для создания рабочего пространства и использовать его в нашем приложении. Ниже приведен пример этого —

Мы уже знаем, как настроить компонент HTTP Listener; поэтому мы собираемся обсудить настройку модулей сценариев. Нам нужно выполнить шаги, описанные ниже, чтобы настроить модуль сценариев —

Шаг 1

Найдите модуль сценариев в палитре Mule и перетащите операцию EXECUTE модуля сценариев в свой поток, как показано выше.

Шаг 2

Теперь откройте вкладку «Выполнение конфигурации», дважды щелкнув ее.

Шаг 3

На вкладке «Общие» нам нужно указать код в текстовом окне «Код», как показано ниже —

Шаг 4

Наконец, нам нужно выбрать Engine из исполняемого компонента. Список двигателей приведен ниже —

  • заводной
  • Насхорн (JavaScript)
  • jython (Питон)
  • jRuby (Рубин)

XML приведенного выше примера выполнения в редакторе XML конфигурации выглядит следующим образом:

<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>

Источники сообщений

Mule 4 имеет упрощенную модель, чем сообщение Mule 3, что упрощает работу с данными согласованным образом через соединители без перезаписи информации. В модели сообщений Mule 4 каждое событие Mule состоит из двух вещей: сообщения и связанных с ним переменных.

Сообщение Mule имеет полезную нагрузку и ее атрибуты, где атрибутом в основном являются метаданные, такие как размер файла.

А переменная содержит произвольную пользовательскую информацию, такую ​​как результат операции, вспомогательные значения и т. д.

Входящий

Входящие свойства в Mule 3 теперь становятся атрибутами в Mule 4. Поскольку мы знаем, что входящие свойства хранят дополнительную информацию о полезной нагрузке, полученной через источник сообщения, но теперь в Mule 4 это делается с помощью атрибутов. Атрибуты имеют следующие преимущества —

  • С помощью атрибутов мы можем легко увидеть, какие данные доступны, потому что атрибуты строго типизированы.
  • Мы можем легко получить доступ к информации, содержащейся в атрибутах.

Ниже приведен пример типичного сообщения в Mule 4 —

Исходящий

Исходящие свойства в Mule 3 должны быть явно указаны соединителями и транспортами Mule, чтобы отправлять дополнительные данные. Но в Mule 4 каждый из них можно задать отдельно, используя выражение DataWeave для каждого из них. Он не производит никакого побочного эффекта в основном потоке.

Например, приведенное ниже выражение DataWeave будет выполнять HTTP-запрос и генерировать заголовки и параметры запроса без необходимости устанавливать свойства сообщения. Это показано в приведенном ниже коде —

<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>

Процессор сообщений

Как только Mule получает сообщение от источника сообщений, начинается работа обработчика сообщений. Mule использует один или несколько процессоров сообщений для обработки сообщения через поток. Основная задача процессора сообщений — преобразовывать, фильтровать, обогащать и обрабатывать сообщения по мере их прохождения через поток Mule.

Классификация процессора Mule

Ниже приведены категории процессоров Mule в зависимости от функций.

  • Соединители — эти процессоры сообщений отправляют и получают данные. Они также подключают данные к внешним источникам данных через стандартные протоколы или сторонние API.
  • Компоненты — эти процессоры сообщений гибки по своей природе и выполняют бизнес-логику, реализованную на различных языках, таких как Java, JavaScript, Groovy, Python или Ruby.
  • Фильтры — они фильтруют сообщения и позволяют продолжать обработку только определенных сообщений в потоке на основе определенных критериев.
  • Маршрутизаторы — этот процессор сообщений используется для управления потоком сообщений для маршрутизации, изменения последовательности или разделения.
  • Области — эй, в основном, оборачивайте фрагменты кода с целью определения мелкозернистого поведения в потоке.
  • Преобразователи. Роль преобразователей заключается в преобразовании типа полезной нагрузки сообщения и формата данных для облегчения связи между системами.
  • Деловые события — они в основном собирают данные, связанные с ключевыми показателями эффективности.
  • Стратегии исключений — эти процессоры сообщений обрабатывают ошибки любого типа, возникающие во время обработки сообщений.