Compartilhar via


Trabalhar com qualquer tipo de aplicativo

O Microsoft Dataverse fornece várias maneiras de se integrar a qualquer tipo de aplicativo (móvel, Web, área de trabalho), dispositivo, sistema ou serviço. Para soluções de nuvem, há maneiras de se integrar independentemente do modelo no qual sua solução é implantada : IaaS (infraestrutura como serviço), PaaS (plataforma como serviço) ou SaaS (software como serviço). Para soluções baseadas em IaaS, a abordagem de integração também funcionará bem se as soluções estiverem em execução dentro de contêineres.

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

Definindo a 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ócios: valide dados em várias colunas e tabelas e forneça mensagens de aviso e erro, independentemente do aplicativo usado para criar os dados. Mais informações: Criar uma regra de negócios para uma tabela

  • Fluxos de processo de negócios: guia os usuários para garantir que eles insiram dados de forma consistente e sigam as mesmas etapas todas as vezes. Atualmente, os fluxos de processo de negócios têm suporte apenas para aplicativos baseados em modelos. Mais informações: Visão geral dos fluxos de processos empresariais

  • Fluxos de trabalho: automatizar processos de negócios sem interação do usuário. Mais informações: fluxos de trabalho clássicos do Dataverse

  • Lógica de negócios com código: dá suporte a cenários avançados de desenvolvedor para estender o aplicativo diretamente por meio do código. Mais informações: Aplicar lógica de negócios usando código

Integração com aplicativos usando eventos

Uma abordagem comum da 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 tomada. Por exemplo, se uma nova solicitação de suporte tiver sido gerada, ela poderá disparar uma mensagem SMS a ser enviada à 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 do Power Platform.

As abordagens mais populares no Dataverse envolvem webhooks, mensagens do Azure (Barramento de Serviço, 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 Web com um modelo de publicação e assinatura. Os remetentes do Webhook notificam destinatários sobre eventos, fazendo solicitações para os pontos de extremidade dos destinatários com algumas informações sobre os eventos.

Os webhooks permitem que desenvolvedores e ISVs integrem dados do Dataverse com seu próprio código personalizado hospedado em serviços externos. O modelo de webhook permite que você proteja o ponto de extremidade usando um cabeçalho de autenticação ou chaves de parâmetros de sequência de caracteres de consulta. Isso é mais simples do que o modelo de autenticação da assinatura de acesso compartilhado usado com a integração do Barramento de Serviço do Azure.

  • Os webhooks podem ser redimensionados apenas no ponto em que o serviço Web hospedado pode processar as mensagens.

  • Os webhooks habilitam etapas síncronas e assíncronas.

  • Os webhooks enviam solicitações POST com o conteúdo JSON e podem ser consumidos por qualquer linguagem de programação ou aplicativo Web hospedado em qualquer lugar.

  • Os webhooks podem ser invocados de um plug-in ou de uma atividade de fluxo de trabalho personalizada.

Barramento de Serviço do Azure

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

A sequência de eventos é a seguinte:

  • Um aplicativo de ouvinte é registrado em um ponto de extremidade de solução do Barramento de Serviço e começa a ouvir ativamente o contexto de execução remota do Dataverse no barramento de serviço.

  • Um usuário executa alguma operação no Dataverse que dispara a execução do plug-in padrão registrado ou de um plug-in personalizado compatível com Azure. O plug-in inicia uma postagem por meio de um trabalho do sistema de serviço assíncrono do contexto de dados da solicitação atual no Barramento de Serviço.

  • As declarações postadas pelo Dataverse são autenticadas. O Barramento de Serviço confia no contexto de execução remoto para o ouvinte. O ouvinte processa as informações de contexto e executa algumas tarefas relacionadas aos negócios com essas informações. O Barramento de Serviço notifica o serviço assíncrono de uma postagem com sucesso e define o status do trabalho do sistema relacionado como concluído.

O Service Bus retransmite o contexto dos dados das mensagens de solicitação entre o Dataverse e os aplicativos ouvintes da solução do Service Bus. O Barramento de Serviço também fornece segurança de dados de modo que só aplicativos autorizados podem acessar os dados do Dynamics 365 postados. A autorização do Dataverse de postar o contexto de dados no barramento de serviço para os aplicativos de ouvinte lê-lo, é gerenciara pelas assinaturas de acesso compartilhado do Azure.

Mais informações:Barramento de Serviço e Autenticação e autorização do Barramento de Serviço

Logic Apps e Power Automate

Logic Apps, oferecidos por meio do Azure, e Power Automate, oferecidos por meio do Microsoft Power Platform, podem iniciar um fluxo de trabalho que pode ser usado para integrar com eventos de aplicativos e dados conforme uma programação ou por atividade realizada em um banco de dados, sistema, serviço ou SaaS.

Aplicativos Lógicos e Power Automate com o Dataverse.

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

Por exemplo, quando uma linha é adicionada a um banco de dados relacional, como o SQL, isso pode disparar 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 conhecidas como Swagger) para um serviço, também é simples incluir serviços, funções e código em execução no IaaS e no AKS (Serviço de Kubernetes do Azure).

Integrando o Dataverse em aplicativos com a API OData

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

Dataverse com a API OData.

A API Web do 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. Você pode saber mais sobre esse protocolo em www.odata.org. Para obter mais informações sobre esse padrão, consulte www.oasis-open.org.

O Dataverse usa uma abordagem de "API em primeiro lugar". Isso significa que o serviço não fornece apenas um mecanismo para consultar dados, ele também fornece metadados do serviço em 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 provedor é 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 do Dataverse, consulte Usar a API Web do Dataverse.

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

Plug-ins

O Dataverse fornece a capacidade de gravar código que fica entre a API e os dados. Esse código, escrito em .NET, é chamado plug-in. Como o plug-in fica entre a API e os dados, ele impõe a mesma lógica em cada aplicativo.

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

  • Retorne erros ao usuário.

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

  • Executar operações de dados.

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

Os plug-ins são registrados nos pontos do pipeline de eventos, ilustrados aqui.

Pipeline de evento de plug-in

No pipeline de eventos, os seguintes eventos podem ocorrer:

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

  • Manipuladores de validação podem gerar 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.

  • Manipuladores pós-operação podem modificar 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.

Azure Functions

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 Azure Functions.

As funções são disparadas por uma chamada de um sistema externo, serviço ou código. 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 do Azure Functions pode ser iniciada por meio de um fluxo nos Aplicativos Lógicos ou no Power Automate que envolve o conector do Dataverse.

Mais informações: usar plug-ins para estender processos de negócios