Blog Post

Desenvolvedores BR
6 MIN READ

Introdução aos Logic Apps

julioneto's avatar
julioneto
Icon for Microsoft rankMicrosoft
Mar 28, 2022

Com a crescente necessidade de integrações complexas e o movimento de mercado para democratização da construção de aplicações, surge um serviço que mistura a simplicidade de arrastar e soltar com toda a potência e segurança que o Azure pode fornecer. Estes são os Logic Apps!

 

GUI de um Logic App com exemplo de um fluxo

 

Hoje vamos entender o papel dos Logic Apps, seu posicionamento dentro da gama de serviços do Azure e como ele se diferencia de outros produtos similares. Por fim vamos botar a mão na massa criando uma API Hello World e explorando o passo a passo de sua execução.

 

Mas para alcançarmos este objetivo, primeiro precisamos nos aprofundar em dois conceitos: Desenvolvimento low-code e Integration Platform as a Service (iPaaS).

 

Desenvolvimento low-code

Segundo a própria Microsoft em seu artigo sobre o tema, low-code:

 

é um método de desenvolvimento de software e aplicativos que permite que seus funcionários criem aplicativos de negócios de nível empresarial usando a funcionalidade de arrastar e soltar e a orientação visual, com bem pouca ou com nenhuma experiência ou conhecimento de codificação. O intuito é facilitar o desenvolvimento e deploy de aplicações, integrações e rotinas de trabalho diminuindo muito ou eliminando totalmente a necessidade de escrever código fonte para alcançar este objetivo.

 

Nesta frente a Microsoft fornece todos os serviços do Power Platform voltados ao público de negócios, onde é possível criar aplicativos ou fluxos de trabalho totalmente integrados com os serviços do Microsoft 365 e Azure, assim como uma grande quantidade de conectores a serviços externos como Jira, Gmail e Salesforce.

 

E para o público mais técnico, a Microsoft oferece o Azure Logic Apps que possui um nível de configuração muito maior incluindo:

  1. Regras personalizadas de firewall, rede e autenticação;
  2. Total integração aos serviços do Azure;
  3. Ambiente de desenvolvimento via Portal, VS Code ou Visual Studio;
  4. ALM via Azure DevOps ou GitHub;
  5. Criação de conectores personalizados baseados em Azure Functions;
  6. Exposição via API Management e muito mais.

 

Esta tabela presente na documentação ilustra bem as diferenças entre Power Automate e Logic Apps:

 

  Power Automate Logic Apps
Usuários Funcionários do escritório, usuários de negócios, administradores do SharePoint Integradores profissionais e desenvolvedores, profissionais de TI
Cenários Autoatendimento Integrações avançadas
Ferramentas de Design Aplicativo do navegador e móvel, somente interface do usuário No navegador, no Visual Studio Code e no Visual Studio, com a exibição de código disponível
ALM Design e teste em ambientes de não produção; promoção para produção quando pronto Azure DevOps: controle do código-fonte, teste, suporte, automação e capacidade de gerenciamento no Azure Resource Manager
Experiência do Administrador Gerenciar ambientes do Power Automate e políticas de DLP (prevenção contra perda de dados), acompanhamento do licenciamento: Centro de administração Gerenciar grupos de recursos, conexões, gerenciamento de acesso e log: Azure portal
Segurança Logs de auditoria de segurança do Microsoft 365, DLP e criptografia em repouso para dados confidenciais Garantia de segurança do Azure: segurança do Azure, Microsoft Defender para Nuvem, logs de auditoria

 

Integration Platform as a Service (iPaaS)

O termo iPaaS define a disponibilização de uma plataforma de integração como serviço, em outras palavras, provedores fornecem soluções que unificam e facilitam integração de múltiplos serviços de diferentes nuvens de maneira simplificada.

A Microsoft leva sua excelência operacional para este mercado através dos serviços que compõem o Azure Integration Services (AIS), que atualmente é listado pela Gartner como um dos líderes em iPaaS.

 

O AIS é composto por seis serviços com papeis distintos:

 

Lista dos serviços que compões o AIS, denotando as funções básicas de cada um. Também é mostrado que o AIS é um dos líderes de iPaaS segundo Gartner e Forrester

 

O que são Logic Apps?

Agora podemos responder às perguntas: O que são Logic Apps? E quando devo usá-los?

O Logic App é um serviço low-code que compõe a solução de integração empresarial do Azure e tem o papel fundamental da orquestração de microsserviços e APIs construídas através de conectores pré-disponíveis ou personalizados. Ele tem o objetivo de facilitar a construção e gerenciamento de integrações e fluxos operacionais. Atuando junto com outros serviços do Azure, provê segurança, performance e escalabilidade para a sua solução.

 

Podemos considerar seu uso quando buscamos:

  1. Construir integrações complexas entre sistemas e plataformas;
  2. Orquestração de Microsserviços e APIs;
  3. Criação de APIs simples sem uso de código;
  4. Automatização de processos como backup, replicação e processamento de mensagens etc.;
  5. Executar tarefas de rotina ligadas a recursos cloud;
  6. Proteger, escalar ou gerenciar de forma mais profunda um fluxo publicado via Power Automate.

 

Para demonstrar a praticidade que o Logic App proporciona, vamos criar uma API Hello World.

 

Hello World

Primeiro vamos acessar o portal do Azure. Se você ainda não possui uma conta pode abrir uma nova conta gratuita. Dentro do portal, buscaremos por Logic App e clicaremos em criar novo.

 

Durante a configuração, é importante prestar atenção em duas coisas:

 

  1. Tipo de plano:
    1. Consumption: melhor escolha para testes, treinamento e fluxos simples. Você paga por execução perdendo a habilidade de configurar algumas coisas. Além disso só é possível configurar um workflow.
    2. Standard: melhor opção para homologação e produção. Você precisará de uma Storage Account e um App Service Plan. Não é possível usar um ASP na SKU Dev/Test como host de um Logic App. O nível mínimo é o WS1. Nesta opção você pode criar e configurar múltiplos workflows além de utilizar as opções de escalabilidade e integração com V-Nets.
      *É Importante lembrar que para total isolamento do seu Logic App é possível usar o ISE, tópico que vamos abordar em artigos futuros.

  2. Log Analytics Workspace: para ambas as opções de tipo de plano só é possível ativar monitoramento se já existir um Log Analytics Workspace na sua assinatura. Não é possível criar um novo pela da página de criação do Logic App.

 

Para nosso exemplo vamos utilizar o plano Consumption e o uso do Log Analytics é opcional.

 

Criação do recurso pelo portal do Azure, a imagem mostra todos os campos preenchidos. Logo que o recurso é provisionado, quando acessamos ele pela primeira vez (no plano consumption), somos levados automaticamente a página do Designer.

 

Se você criou um Logic App Standard é necessário navegar para Workflows e adicionar um novo.

 

Nesta página, vamos usar um dos modelos pré existentes. Selecione “Quando uma requisição HTTP é recebida”.

 

Tela principal do Logic Apps Designer, onde o usuário pode escolher a opção “Quando uma requisição HTTP é recebida”
Agora seremos apresentados a interface gráfica do Logic App onde veremos o gatilho do nosso workflow. Já que criamos um workflow a partir de um modelo pré-estabelecido, o gatilho já vem selecionado, mas se criássemos um workflow em branco, teríamos que selecionar um.

 

Vamos adicionar novos parâmetros ao gatilho, selecionaremos as duas opções: método e caminho relativo.

 

Para o método selecionaremos GET.

E para o caminho relativo podemos configurar uma variável que será recebida através da URL. Fazemos isso utilizando as chaves: {nome_da_sua_variavel}. Para este exemplo vamos usar {nome}.

 

Se precisássemos receber um corpo na mensagem, a configuração é feita clicando no texto “Usar conteúdo de amostra para gerar o esquema”.

 

Seu gatilho configurado deveria parecer com isso:

 

Imagem mostrando o gatilho configurado, é possível ver os parâmetros método e caminho relativo configurados de acordo com o artigo
Agora podemos clicar em nova etapa. Vamos digitar “resposta” e selecionar a ação encontrada.

 

“Print ilustrando a escolha da operação resposta”
No corpo da resposta vamos escrever “Hello ” ou “Olá ” e vamos clicar em “adicionar conteúdo dinâmico”. No menu flutuante, vamos ver que a variável que declaramos no gatilho está presente, então clicamos nela e seu valor será adicionado ao corpo da resposta.

 

Fluxo completo mostrando os conectores da requisição e da resposta preenchidos
E pronto! Agora podemos salvar nosso fluxo e testar.

 

Copie a url gerada que aparece no seu gatilho após salvar pela primeira vez. Cole-a em uma nova aba e substitua {nome} por seu nome. Sua url deveria se parecer com essa:

https://prod-09.eastus2.logic.azure.com/workflows/xxxx/triggers/manual/paths/invoke/{name}?api-version=xxxxx&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=xxxxx

 

E sua reposta deve ser exibida assim:

 

Visualização da resposta do App, a imagem mostra a resposta “Hello Julio”

 

Overview das execuções do App, mostrando dados como status e duração de cada execução

 

Detalhe da execução mostrando informações de requisição e resposta

 

Conclusão

Conseguimos entender os conceitos de desenvolvimento low-code, iPaaS, o propósito dos Logic Apps e como criar e configurar uma API de maneira simples e rápida. Além disso, aprendemos como visualizar os status das execuções e o estado de cada conector dentro de uma execução específica.

 

Próximos passos

Em artigos futuros vamos abordar:

  • Como criar Logic Apps com VS Code e Visual Studio;
  • Implementando ALM com GitHub;
  • Construção de conectores personalizados;
  • Troubleshooting de Logic Apps;
  • Logic Apps e APIM;
  • Integration Service Environment (ISE).
Updated Mar 24, 2022
Version 1.0
No CommentsBe the first to comment