Criando APIs no MuleSoft Composer
O Composer é uma ferramenta da MuleSoft para quem não é desenvolvedor ou da área de tecnologia consiga construir e automatizar integrações, com isso a ferramenta foi pensada de uma forma que sua utilização seja simples de ser utilizada.
Você consegue criar integrações sem a utilização de código, apenas selecionando e configurando o que é necessário.
O objetivo desse blog é mostrar algumas funcionalidades do Composer, mostrando passo a posso como você pode criar uma API e no final faremos uma demo.
Primeiros passos no MuleSoft Composer
Vamos fazer um pequeno overview de alguns componentes do MuleSoft Composer, de como iniciar a criação de um flow e também as operações que podem ser feitas.
Para começar vamos fazer o login, logo na primeira página temos o botão “Create new flow”.
Depois escolha a opção “Create Flow from scratch”.
Após isso teremos uma tela amigável onde perguntas são feitas de uma forma simples para que qualquer pessoa possa entender e escolher a opção que melhor atenda a necessidade daquele momento.
Primeiro devemos escolher como “iniciar” esse processo, escolhendo entre as opções:
- Scheduler: Inicia em um intervalo definido;
- System event: Executado por algum outro sistema como o Salesforce, Servicenow entre outros;
- Invoke: Invocado por um sistema externo através de um endpoint exposto;
Vamos começar pelo Scheduler, para que ele inicie a execução em um frequência pré determinada.
Na opção “Every” escolha a frequência que deseja e clique no sinal de “+”
Para continuar desenvolvendo a integração temos algumas opções, vamos agora dar uma passada por cada uma delas.
System Action:
Aqui temos acesso a alguns conectores prontos, como Salesforce, MuleSoft RPA, Service now, e também ao “HTTP Connector”.
Variable:
Aqui pode Criar ou atualizar uma variável.
If/Else if:
Nesse caso podemos fazer condicionais , preenchemos as condições e no sinal de “+” informamos que interação ou lógica queremos usar, e ainda podemos adicionar mais “ifs” ou “else”.
For each:
O Foreach escolhemos a lista que o Foreach utilizará como seu controle e dentro do mesmo escolhemos o que ele deverá executar.
Error handling:
O error handling deverá ser configurado o que deve ser executado em um momento de exceção, importante verificar que no caso do composer no “watch” é feita a execução da lógica e em caso de error “On Error” deve ser informado o que a integração deve fazer.
Demo
Depois de uma breve descrição sobre uma boa parte das possibilidades, vamos fazer uma integração simples com utilizando o composer, a ideia é expor uma API síncrona do MuleSoft Composer, fazer um request em um endpoint, onde será retornada uma lista de usuários e com esse payload será montado um retorno com menos campos.
Nesse exemplo, vamos expor uma API síncrona, fazer uma consulta em uma outra API e retornar um JSON.
Primeiro você deve escolher “Create Flow” e depois a opção “Invoke”, com isso você já terá a exposição síncrona.
Para adicionar o contrato clique em “Add Input Fields” e adicione os campos que formaram o contrato da API.
Para adicionar o “HTTP Request” clique no “+” e escolha a opção “System Action” e depois “HTTP”, com isso já aparecerá a opção para adicionar uma conexão e escolha a opção “Add new HTTP connection”, e preencha as informações necessárias da conexão.
Para o exemplo vamos usar o seguinte endpoint (que retornará a lista de usuários): https://jsonplaceholder.typicode.com/users
Adicione o link acima para utilizar o mesmo exemplo.
Escolha “Simple Request”, o “método HTTP”, “Path”, “Headers” e “Query Parameters” com as informações da API que será consultada.
Lembre-se de colocar um JSON de exemplo, desta forma o composer irá carregar os metadados do JSON e permitir que você utilize estas informações para fazer o mapeamento de dados na próxima ação.
Por fim você pode colocar os campos que irão retornar, deve-se escolher a “Label” e também o que deve ser retornado, é possível transformação clicando em “Custom expression” após a criação da label.
Veja que foi possível utilizar o retorno do “request” para montar a mensagem de retorno, utilizando apenas os campos que são necessários.
Podemos ver no Postman que enviamos fazemos uma chamada para receber apenas os dados que são necessários para o negócio.
No resultado final podemos ver que montamos o retorno exatamente de como o solicitante precisa receber a mensagem.
Conclusão
O MuleSoft Composer para quem não é desenvolvedor e para criação de APIs simples pode ser uma saída e uma oportunidade, pois com alguns cliques e configurações é possível criar sua API e já utilizar, agilizando integrações mais simples e facilitando o dia a dia do negócio conseguindo ter integrações mais rápido e de maneira a agilizar o dia a dia.
Não podemos esquecer que é possível colocar algumas lógicas como “error handling”, ‘if/else” que podem ser úteis em sua utilização e criando outras oportunidades para o Composer ser utilizado.