Partilhar via


Trabalhar com qualquer tipo de aplicação

O Microsoft Dataverse fornece várias maneiras de integração em qualquer tipo de aplicativo (móvel, web, desktop), dispositivo, sistema ou serviço. Para soluções em nuvem, há maneiras de integração, independentemente do modelo em que sua solução é implantada — infraestrutura como serviço (IaaS), plataforma como serviço (PaaS) ou software como serviço (SaaS). Para soluções baseadas em IaaS, a abordagem de integração também funciona bem se as soluções estiverem sendo executadas dentro de contêineres.

Em alguns casos, a integração com um aplicativo pode ser alcançada usando a lógica de negócios contida no Dataverse. Em outros casos, envolverá integração via eventos, a API OData do Dataverse ou o uso de plug-ins.

Definição da lógica de negócios

As tabelas no Dataverse podem usar lógica e validação avançadas do lado do servidor para garantir a qualidade dos dados e reduzir o código repetitivo em cada aplicativo que cria e usa dados em uma tabela.

  • Regras de negócio: valide dados em várias colunas e tabelas e forneça mensagens de aviso e erro, independentemente da aplicação utilizada para criar os dados. Para obter mais informações: Criar uma regra de negócio para uma tabela

  • Fluxos de processos de negócios: oriente os usuários para garantir que eles insiram dados de forma consistente e sigam as mesmas etapas sempre. Atualmente, os fluxos de processos de negócios são suportados apenas para aplicativos controlados por modelos. Para obter mais informações: Visão geral dos fluxos de processos de negócios

  • Fluxos de trabalho: automatize processos de negócios sem interação do usuário. Para obter mais informações: Fluxos de trabalho clássicos do Dataverse

  • Lógica de negócios com código: suporta cenários avançados de desenvolvedor para estender o aplicativo diretamente por meio de código. Para obter mais informações: Aplicar lógica de negócios usando código

Integração com aplicativos usando eventos

Uma abordagem comum de integração de aplicativos é por meio do uso de eventos. Por exemplo, um evento como a adição de uma nova linha ocorre no Dataverse, e isso deve ser comunicado a um sistema associado para que uma ação possa ser executada. Por exemplo, se uma nova solicitação de suporte foi gerada, ela pode disparar uma mensagem SMS a ser enviada para a equipe de suporte atribuída.

Essa interatividade também pode ocorrer na direção oposta — uma atualização em um sistema externo pode resultar na adição, atualização ou exclusão de dados de um ambiente da Power Platform.

As abordagens mais populares no Dataverse envolvem webhooks, mensagens do Azure (Service Bus, Hubs de Eventos), Aplicativos Lógicos do Azure ou Power Automate.

Eventos no Dataverse.

Webhooks

Com o Dataverse, você pode enviar dados sobre eventos que ocorrem no serviço para um aplicativo Web usando webhooks. Um webhook é um padrão HTTP leve para conectar APIs e serviços da Web com um modelo de publicação e assinatura. Os remetentes de WebHook notificam os destinatários no que diz respeito a eventos efetuando pedidos aos pontos finais dos destinatários com algumas informações sobre os eventos.

Webhooks permitem que desenvolvedores e ISVs integrem dados do Dataverse com seu próprio código personalizado hospedado em serviços externos. A utilização do modelo de webHooks permite-lhe proteger o seu ponto final através de um cabeçalho de autenticação ou de chaves de parâmetros de cadeia de consulta. Isto é mais simples do que o modelo de autenticação de assinatura de acesso partilhado usado com a integração com o Azure Service Bus.

  • Os webhooks só podem escalar até ao ponto em que o seu serviço web hospedado pode lidar com as mensagens.

  • Webhooks permitem etapas síncronas e assíncronas.

  • Webhooks enviam solicitações POST com a carga JSON e podem ser consumidos por qualquer linguagem de programação ou aplicativo Web hospedado em qualquer lugar.

  • Webhooks podem ser invocados a partir de um plug-in ou atividade de fluxo de trabalho personalizada.

Azure Service Bus

O Service Bus fornece um canal de comunicação seguro e confiável entre os dados de tempo de execução do Dataverse e os aplicativos de linha de negócios externos baseados em nuvem. Esse recurso é especialmente útil para manter sistemas Dataverse díspares ou outros servidores Dataverse sincronizados com alterações de dados corporativos.

A sequência de acontecimentos é a seguinte:

  • Uma aplicação de ouvintes está registada numa solução Service Bus ponto final e começa a ouvir ativamente o contexto de execução remota do Dataverse no service bus.

  • Um utilizador executa alguma operação no Dataverse que aciona a execução do plug-in registrado pré-definido ou de um plug-in personalizado compatível com o Azure. O plug-in inicia um post, através de um trabalho de sistema de serviço assíncronos, do contexto de dados de pedido atual para Service Bus.

  • As declarações postadas pelo Dataverse são autenticadas. Em seguida, o Service Bus retransmite o contexto de execução remota para o ouvinte. O ouvinte processa as informações de contexto e executa algumas tarefas relacionadas ao negócio com essas informações. O Service Bus notifica o serviço assíncrono de um posto de sucesso e define o estado do trabalho do sistema relacionado para Concluído.

O Service Bus retransmite o contexto de dados da mensagem de solicitação entre o Dataverse e os aplicativos de escuta da solução do Service Bus. O Service Bus também fornece segurança de dados para que apenas aplicativos autorizados possam acessar os dados do Dynamics 365 publicados. A autorização do Dataverse para postar o contexto de dados no Service Bus e para que os aplicativos ouvintes o leiam é gerenciada pelas assinaturas de acesso compartilhado do Azure.

Para obter mais informações: Service Bus e autenticação e autorização do Service Bus

Logic Apps e Power Automate

As Aplicações Lógicas, oferecidas por meio do Azure, e o Power Automate, oferecido por meio da Microsoft Power Platform, podem acionar um fluxo de trabalho que pode ser utilizado para integrar-se com eventos e dados de aplicações com base em um cronograma ou por atividade em um banco de dados, sistema, serviço ou SaaS.

Logic Apps e Power Automate com o Dataverse.

Esses fluxos de trabalho podem executar lógica e interagir com esses sistemas usando centenas de conectores para bancos de dados, PaaS e SaaS.

Por exemplo, quando uma linha é adicionada a um banco de dados relacional, como SQL, isso pode acionar um fluxo de trabalho que pode inserir esses dados no Dataverse.

Com a capacidade de criar conectores personalizados usando definições de API aberta (anteriormente conhecida como Swagger) para um serviço, também é simples incluir serviços, funções e código em execução em IaaS e no Serviço Kubernetes do Azure (AKS).

Integrando o Dataverse em aplicativos com a API OData

Todas as linguagens de programação populares suportam uma forma de integração com APIs baseadas em REST.

Dataverse com a API OData.

A API Web Dataverse fornece uma experiência de desenvolvimento que pode ser usada em uma ampla variedade de linguagens de programação, plataformas e dispositivos. A API Web implementa o OData (Open Data Protocol), versão 4.0, um padrão OASIS para criar e consumir APIs RESTful em fontes de dados avançadas. Pode saber mais sobre este protocolo em www.odata.org. Para obter mais informações sobre esse padrão, consulte www.oasis-open.org.

O Dataverse adota uma abordagem "API first". Isso significa que o serviço não fornece apenas um mecanismo para consultar dados, mas também fornece metadados do serviço sobre regras de negócios, restrições e assim por diante, que você pode usar para criar aplicativos e serviços inteligentes e responsivos.

A API é protegida usando OAuth. O OAuth requer um idtable provedor para autenticação. Para o Dataverse, o fornecedor idtable é o Microsoft Entra ID. Para autenticar com o Microsoft Entra usando uma conta corporativa ou de estudante da Microsoft, use as Bibliotecas de Autenticação da Microsoft (MSAL).

Para obter mais informações sobre como começar a usar a API Web Dataverse, consulte Usar a API Web Dataverso.

Para obter mais informações sobre como usar a API Web Dataverse com OAuth, consulte Usar OAuth com Dataverse.

Plug-ins

O Dataverse fornece a capacidade de escrever código que fica entre a API e os dados. Este código, escrito em .NET, é referido como um plug-in. Como o plug-in fica entre a API e os dados, ele impõe a mesma lógica em todos os aplicativos.

Os plug-ins podem ser síncronos ou assíncronos e executar as seguintes tarefas:

  • Retornar erros para o usuário.

  • Consultar dados do Dataverse para avaliar a lógica a ser executada.

  • Execute operações de dados.

  • Execute solicitações HTTP de saída.

Os plug-ins são registados em pontos do pipeline do evento, que são ilustrados aqui.

Fluxo de eventos de complemento

Dentro do pipeline de eventos, os seguintes eventos podem ocorrer:

  • As solicitações e respostas podem ser examinadas e rejeitadas ou manipuladas em várias etapas do pipeline de eventos.

  • Os manipuladores de validação podem lançar exceções personalizadas para rejeitar operações que sua lógica considera inválidas.

  • Os manipuladores de pré-operação podem modificar solicitações antes da operação do banco de dados.

  • Os manipuladores pós-operação podem modificar as respostas.

  • Os manipuladores assíncronos executam a automação depois que a resposta é retornada.

Uma restrição com plug-ins é que eles devem ser independentes. Se o código de integração exigir referências a outras bibliotecas, a integração poderá ser feita usando o Azure Functions.

Funções do Azure

O Azure Functions fornece uma opção de execução de código sem servidor para lógica de negócios e integração.

Dataverse com Funções Azure.

As funções são acionadas por uma chamada de um sistema, serviço ou código externo. Para o Dataverse, esse gatilho pode vir diretamente do Dataverse usando o Service Bus, um webhook ou uma chamada de um plug-in. Além disso, a chamada das Funções do Azure podem ser iniciadas através de um fluxo em Logic Apps ou Power Automate que envolva o conector do Dataverse.

Para obter mais informações: Usar plug-ins para estender processos de negócios