Executando verificação de segurança...
2

Transformações elegantes de dados complexos com DataWeave

Simbora falar de uma baita linguagem de programação funcional, simples, elegante, poderosa, segura e performática? Então, bora falar de DataWeave!!!

Imagem do DataWeave transformando CSV, JSON, XML, YAML para outros formatos.

DataWeave é a linguagem de programação funcional da MuleSoft para transformação de dados.

É também uma linguagem de expressão que o Mule Runtime utiliza para configurar componentes e conectores.

No DataWeave você consegue contruir soluções simples para casos de usos comuns para desenvolvedores de integração.

  • Leitura e conversão de dados de um formato para outro formato.
  • Mapeamento dos dados.
  • Filtragem e limpeza.
  • Enriquecemento dos dados.

Os usos do DataWeave podem ser vários, por exemplo:

  • Um script DataWeave pode receber um arquivo CSV como entrada e transformar os dados em um array de objetos complexos JSON.
  • Receber uma entrada XML e escrever os dados de saída para um formato simples de arquivo simples.

O DataWeave habilita os desenvolvedores a focarem na lógica de transformação ao invés de ficar pensando sobre detalhes como leitura, conversão e escrita dos dados de maneira performática.

DataWeave te habilita a ter os benefícios da programação funcional, como:

  • Funções puras
  • Funções de primeira classe
  • Funções de ordem superior
  • Composição de funções
  • Variáveis imutáveis
  • Assinaturas de funções
  • Códigos fáceis de manter devido a sua concisão e clareza
  • Uso de Lazy Evaluation (call-by-need)
  • Expressões Lambda

O DataWeave tem alguns conceitos comuns das linguagens de programação:

  • Todos os scripts podem ter um header com diretivas como o formato de saída da transformação.
  • Todos os scripts tem um body com a expressão para gerar um resultado.

DataWeave suporta estruturas de dados simples, complexas e de tipos compostos.

Em muitas das suas transformações DataWeave você usará seletores de dados, operadores de dados e funções, com arrays e objects para performar mapeamentos e transformações.

É possível também extender o conjunto de funções DataWeave com módulos pré-construídos que estarão disponíveis pra uso.

Executando DataWeave

Para executar scripts DataWeave existem 4 possibilidades:

  1. Você pode acessar o DataWeave Playground aqui de qualquer browser e realizar suas transformações rapidamente!
  2. Você pode instalar a extensão DataWeave no VSCode seguindo este tutorial e desenvolver, depurar e testar suas transformações com o poder do VScode!
  3. Você pode
  4. Você pode baixar o DataWeave CLI aqui no repositório no Github para Linux, macOS e Windows e executar os scripts via terminal.

Entendendo a Estrutura

Todo programa é composto de três partes: Entrada, Processamento e Saída.

No DataWeave (Você visualiza isso melhor no DataWeave Playground) você verá essa separação com os nomes de: Input, Script, Output.

Interface do DataWeave Playground

No Input você pode incluir seus dados de entrada, como alterar o payload, criar variáveis, com formatos diferentes como CSV, XML, JSON, TEXT e muito mais.

No Script você pode editar o código de processamento dos dados, mapeando, filtrando, etc.

No Output você pode visualizar o resultado do processamento dos dados no formato que você definiu no script.

Script DataWeave

Um script DataWeave consiste de um header e um body, que são separados por 3 traços (---).

O header tem as diretivas da linguagem como import, output, var, fun, type, etc.

O body tem a expressão que irá produzir o resultado, como um mapeamento ou uma transformação.

Hello World do DataWeave

O Hello World no DataWeave é transformar o input do payload JSON recebido:

{"message": "Hello world!"}

Com o script abaixo:

%dw 2.0
output application/json
---
payload.message

Resultando em:

"Hello world!"

Para Saber Mais Sobre DataWeave

Carregando publicação patrocinada...