Integração de dados de saída
A integração de dados de saída envolve a disponibilização de dados do Microsoft Dataverse para sistemas externos.
Publicação de eventos do Dataverse
O Microsoft Dataverse fornece um modelo de evento que permite a integração a sistemas externos. Esse modelo, conhecido como Estrutura de Eventos do Dataverse, dá suporte ao disparo de código personalizado e ações externas em resposta a eventos de plataforma.
A Estrutura de Eventos permite que arquitetos e desenvolvedores de soluções registrem código ou processos personalizados que são executados quando ocorrem eventos específicos. Embora frequentemente usada para disparar plug-ins personalizados, a estrutura também pode facilitar integrações de saída a outros sistemas.
Para usar a Estrutura de Eventos de modo eficaz, familiarize-se com:
- Tipos de evento disponíveis
- Como os eventos são processados
- Quais dados estão disponíveis em cada estágio
- Limites aplicáveis de tempo e recurso
- Práticas de monitoramento de desempenho
A estrutura dá suporte a quatro estágios de processamento:
- Pré-validação: ocorre antes da operação principal e de quaisquer verificações de segurança. Use esse estágio para validar ou cancelar operações antecipadamente.
- Pré-operação: é executada no escopo da transação antes da operação ser confirmada. Use esse estágio para modificar dados.
- Operação principal: reservada para operações internas e com suporte somente em APIs personalizadas e tabelas virtuais.
- Pós-operação: é executada depois que a operação é concluída e na transação. Frequentemente usada para integração de saída.
Observação
A integração normalmente usa o estágio Pós-operação com a execução assíncrona.
A Estrutura de Eventos pode disparar:
- Plug-ins
- Fluxos de trabalho clássicos
- Fluxos da nuvem do Power Automate
- Mensagens do Barramento de Serviço do Azure e dos Hubs de Eventos
- Webhooks
Evento ou lote
Os arquitetos de soluções devem classificar os cenários de dados de saída como orientados por evento ou baseados em lote. O diagrama a seguir compara essas duas abordagens:
Padrão de push
O padrão de push é frequentemente usado para processamento baseado em evento. Nesse modelo, um evento no Dataverse disparar um processo que envia dados para um sistema externo.
Para evitar problemas de desempenho e acoplamento rígido, certifique-se de que as chamadas externas disparadas do Dataverse sejam otimizadas e não sejam bloqueadas.
Importante
Os plug-ins estão sujeitos a um tempo limite de dois minutos. Use o processamento assíncrono para tarefas de execução longa.
Padrão de pull
O padrão de pull depende de sistemas externos que iniciam a recuperação de dados do Dataverse, seja de acordo com uma agenda ou em resposta a eventos externos.
Observação
O gatilho Recorrência no Power Automate é frequentemente usado nas implementações de padrão de pull.
Controle de alterações
O recurso de controle de alterações no Dataverse permite uma sincronização eficiente, identificando registros que foram alterados desde a última sincronização.
Quando habilitado em uma tabela, o controle de alterações permite a recuperação apenas das linhas modificadas, minimizando a transferência de dados.
Observação
O controle de alterações deve ser habilitado explicitamente para cada tabela.
Integração do Azure
O Dataverse dá suporte à integração de saída a serviços do Azure por meio da Estrutura de Eventos. O diagrama a seguir ilustra esses pontos de integração:
Barramento de Serviço do Azure
O Dataverse pode publicar mensagens no Barramento de Serviço do Microsoft Azure, permitindo a comunicação segura e desacoplada entre sistemas. Os benefícios incluem:
- Balanceamento de carga entre processos de trabalho
- Roteamento seguro e transferência de mensagens entre limites de serviço
- Coordenação de fluxos de trabalho transacionais de alta confiabilidade
Um aplicativo ouvinte — como um Aplicativo Lógico do Azure ou uma Função Azure — recebe mensagens do Barramento de Serviço e as processa com base no contexto do evento (como nome da tabela, ID do registro, usuário inicial e alterações de dados).
As etapas de integração incluem:
- Registrar um ponto de extremidade do Barramento de Serviço do Azure no Dataverse usando a Plug-in Registration Tool
- Definir etapas para postar mensagens em eventos de dados (como a criação de registros)
As implementações de ouvinte podem incluir:
- Um aplicativo C# sondando mensagens do Barramento de Serviço
- Um Aplicativo Lógico do Azure disparado por novas mensagens
- Uma Função do Azure que responde a mensagens postadas
O Barramento de Serviço do Azure é ideal quando o sistema de recebimento tem disponibilidade limitada ou deve limitar grandes volumes de mensagens.
Métodos de postagem de mensagens:
- Baseado em configuração (no-code): defina uma etapa que envie contexto de evento ao Barramento de Serviço.
- Personalizado (código): desenvolva e registre um plug-in que poste uma mensagem personalizada no Barramento de Serviço.
Os casos de uso incluem:
- Criação de aplicativos de nuvem escalonáveis com mensagens
- Gerenciamento de tráfego intermitente com filas de mensagens
- Sistemas de desacoplamento para escala independente
- Suporte à entrega de mensagens ordenadas para vários consumidores
Retransmissão do Azure
A Retransmissão do Azure permite a comunicação segura e bidirecional entre a nuvem e os serviços locais sem abrir portas de firewall nem modificar a infraestrutura de rede.
A Retransmissão dá suporte a cenários como:
- Mensagens unidirecionais e de solicitação/resposta
- Publicação/assinatura para distribuição de eventos no escopo da Internet
- Comunicação de soquete entre limites de rede
Importante
A Retransmissão do Azure permite que os sistemas conectados troquem respostas e confirmações através de canais seguros sem a necessidade de acesso direto à rede.
Hubs de Eventos do Azure
Os Hubs de Eventos do Azure são um serviço de ingestão de eventos de taxa de transferência alta capaz de tratar milhões de eventos por segundo.
Ele é adequado para streaming de big data e se integra a soluções de análise em tempo real. Use os Hubs de Eventos para:
- Transmissão de eventos para vários sistemas
- Filtragem de mensagens por meio de grupos de consumidores
- Transmissão de eventos em serviços como o Microsoft Power BI
Observação
Os tópicos no Barramento de Serviço do Azure oferecem funcionalidade semelhante para filtragem e distribuição de mensagens.
Webhooks e Azure Functions
Os webhooks fornecem um padrão leve baseado em HTTP para integração do Dataverse a serviços externos.
Registrados usando a Plug-in Registration Tool, os webhooks enviam solicitações POST com cargas JSON para pontos de extremidade externos quando disparados por eventos.
Webhooks:
- Dão suporte a etapas síncronas e assíncronas
- Usam tecnologias padrão da Web nas plataformas
- Podem ser protegidos com cabeçalhos de autenticação ou tokens de cadeia de consulta
O Azure Functions pode servir como pontos de extremidade de webhook para implementar uma lógica de integração escalonável.
Escolhendo entre webhooks e barramento de serviço
| Recurso | Webhooks | Barramento de Serviço do Azure |
|---|---|---|
| Escalabilidade | Limitado pela capacidade do ponto de extremidade | Enfileiramento de taxa de transferência alta |
| Persistência da mensagem | Requer repetição personalizada | Enfileiramento interno e novas tentativas |
| Suporte à sincronização | Dá suporte ao processo síncrono e assíncrono | Somente assíncrono |
| Simplicidade | Leve | Nível empresarial |
| Hospedagem | Qualquer aplicativo Web | Infraestrutura do Azure |
Integração de processos: Power Automate x Aplicativos Lógicos do Azure
Os fluxos da nuvem do Power Automate e os Aplicativos Lógicos do Azure compartilham um runtime comum, mas diferem em recursos e casos de uso.
Power Automate:
- Inclui suporte avançado ao conector do Dataverse
- Pode ser fornecido como parte de uma solução
- Dá suporte à RPA (automação robótica de processos) com fluxos da área de trabalho
- Oferece aprovações e notificações internas
- Sujeito a limites de execução de fluxo mensal
Aplicativos Lógicos do Azure:
- Desenvolvidos para Enterprise Integration incluindo EDI
- Oferecem maior taxa de transferência e desempenho
- Dão suporte ao tratamento e monitoramento robustos de erros por meio de ferramentas do Azure
- Não fazem parte das soluções do Power Platform
- Usam preço fixo ou baseado em consumo por assinatura do Azure