Diferentes tipos de fluxos no Mule

Diferentes tipos de fluxos no Mule

1. Introdução

O Mule é um produto baseado em Java que fornece soluções de barramento de serviço corporativo (ESB). Podemos desenvolver aplicativos Mule usandoAnypoint Studio, um plugin do Eclipse.

Após uma breve introdução aos ESBs e fluxos,we’ll talk about the different types of flows in Mule, and where we use each type.

2. Enterprise Service Bus (ESB)

An ESB is a mediating layer connecting independent pieces of software. Esses aplicativos costumam usar protocolos diferentes. Consequentemente, o ESB cuidará da transformação e roteamento dos dados. Isso permite a criação de serviços dissociados. Portanto, cada serviço não precisa se preocupar com como outro serviço consumirá sua saída.

É função do ESB garantir que os dados estejam no formato correto. Podemos encontrar mais detalhes sobre o Mule ESB emour previous tutorial.

Components são os blocos de construção de um aplicativo Mule. Assim, são esses componentes os responsáveis ​​por transformar e rotear os dados. Adicionamos componentes a um aplicativo Mule deMule Palette, no lado direito do Anypoint Studio:

image

Os componentes são subsequentemente agrupados emflows. Um aplicativo Mule consiste em um ou mais fluxos.

3. O que é um fluxo?

Um fluxo é uma coleção conectada de componentes Mule.

Geralmente consiste em um componente de terminal de entrada (de onde a mensagem se origina) e um componente de terminal de saída. Therefore, the flow is responsible for the various processing stages in which the message may undergo.

Cada fluxo pode ter umprocessing strategy, bem como umexception handling strategy associado a ele. Um fluxo também pode fazer referência a outro fluxo usando umflow reference component.

Existem três tipos diferentes de fluxos no Mule:

  • Subfluxos - um fluxo síncrono que herda a estratégia de processamento e tratamento de exceções do fluxo pai

  • Fluxos síncronos - um fluxo síncrono com sua estratégia de processamento e tratamento de exceções

  • Fluxos assíncronos - um fluxo assíncrono com sua estratégia de processamento e tratamento de exceções

4. Subflows

Usamos subfluxos para agrupar a lógica comum. Subflows are processed synchronously; ou seja, a execução do fluxo de chamada é interrompida até que o subfluxo seja concluído.

Especificamente, podemos adicionar um subfluxo da paleta Mule:

image

O subfluxo é chamado usando umflow reference component:

image

Além disso,subflows inherit the processing strategies and exception handling strategies of the calling flow. Podemos chamar um subfluxo de vários fluxos diferentes. Se não desejarmos herdar essas estratégias, poderíamos chamar um fluxo síncrono.

5. Fluxos Síncronos

Como um subfluxo,a synchronous flow is also processed synchronously. . Isso significa que, quando chamamos um fluxo síncrono, ele deve ser concluído antes que o fluxo pai reinicie sua execução.

Adicionamos fluxos síncronos ao nosso aplicativo Mule adicionando fluxos regulares; não há componente de "fluxo síncrono". Adicionamos umflow component regular:

image

Para chamar o fluxo síncrono, usamos novamente umflow reference component:

image

Ao contrário de um subfluxo, ele não herda as estratégias de processamento e tratamento de exceções do fluxo de chamada. Consequentemente, as estratégias de processamento e manipulação de exceção do fluxo de chamada não afetam o comportamento desse tipo de fluxo.

Por esses motivos, esse tipo de fluxo é ideal para processamento transacional, pois as mensagens processadas usando fluxos síncronos são executadas em um único encadeamento.

6. Fluxos Assíncronos

Os fluxos assíncronos são executados em paralelo ao fluxo de chamada; ou seja,they are processed asynchronously.

Adicionamos fluxos assíncronos ao aplicativo Mule da mesma maneira que adicionamos fluxos síncronos. Então, o que torna o fluxo assíncrono, é o que chamamos de dentro de um escopo assíncrono. Podemos fazer isso envolvendo oflow reference component em umasync component:

image

Da mesma forma que os fluxos síncronos - eles não herdam as estratégias de processamento e tratamento de exceção do fluxo de chamada.

Além disso, as mensagens processadas usando fluxos assíncronos são executadas em vários encadeamentos, tornando esse tipo de fluxo ideal para tarefas demoradas, como enviar emails ou executar operações de E / S.

7. Conclusão

Neste breve tutorial, discutimos as características dos diferentes tipos de fluxos no Mule.

Para mais informações, visitethe official Mule website.