Padrões de integração de dados da Microsoft Cloud for Sustainability

O modelo de dados forma a base da Microsoft Cloud for Sustainability. Dependendo do nível de maturidade da propriedade de dados, a solução pode exigir integração com outros sistemas. Escolher o padrão certo é fundamental para uma implementação bem-sucedida.

Este artigo apresenta padrões de integração, ferramentas e fatores de decisão, enquanto a ingestão única de dados ou orientação de migração é abordada na Estratégia de migração de dados para o Microsoft Sustainability Manager.

A necessidade de integração

No atual ambiente acelerado dos negócios, as organizações enfrentam muitos desafios no gerenciamento e integração de sistemas e dados. Um dos maiores obstáculos é a necessidade de integração entre diferentes soluções de sustentabilidade, que podem ser demoradas, complexas e caras.

No entanto, o surgimento de soluções do setor de nuvem da Microsoft oferece uma solução promissora para esse problema. Ao usar um modelo de dados comum que é compartilhado por várias soluções de terceiros, a necessidade de integração pode ser bastante reduzida ou até mesmo eliminada. Para obter detalhes sobre o nível de adoção, acesse Níveis de maturidade da propriedade de dados. No entanto, as integrações ainda podem ser necessárias para os seguintes cenários:

  • O processo abrange vários sistemas e os dados precisam ser sincronizados de um sistema para outro.
  • Quando necessário, os dados são compartilhados ou trocados entre sistemas para cálculos de emissões.
  • Os dados são compartilhados ou trocados entre sistemas para que as ações que ocorrem em um sistema sejam refletidas no outro.
  • Os dados agregados de um sistema com um nível detalhado de dados são trocados para um sistema com uma representação de dados de nível superior.

Como selecionar o padrão de integração correto

Muitas opções técnicas estão disponíveis para o desenvolvimento de integração, cada uma com suas próprias vantagens e desvantagens. Para identificar o padrão de extensão de integração correto, você pode considerar os seguintes fatores e ponderá-los entre as opções:

Fator de decisão Descrição
Tipos de dados e formatos Qual tipo e formato de dados estão sendo integrados?
Volatilidade de dados Os dados que precisam ser sincronizados mudam com frequência?
Volume de dados Qual é o volume da alteração de dados que precisa ser sincronizada?
Disponibilidade de dados Quando você quer que os dados estejam prontos, da origem ao destino? É necessário em tempo real ou você só precisa coletar todos os dados no final do dia e enviá-los em um lote programado para o destino?
Proteção e limitação de serviço Existem limites com base na janela de tempo, simultaneidade e direitos?
Nível de transformação de dados necessário Existe algum requisito para converter ou agregar os dados de origem ao destino?
Gatilhos e ações de gatilho Que ação aciona o envio de dados da origem para o destino? Quais ações específicas serão automatizadas depois que os dados chegarem ao destino?
Tratamento de erros Algum monitoramento será implementado para detectar possíveis problemas com as interfaces?
Escalabilidade Como você lidará com os volumes de transações esperados no presente, em curto e em longo prazo?
Sistema de registro Qual é o sistema de registro ou quem é o proprietário da informação?
Direção do fluxo de dados O sistema de destino precisará efetuar pull ou o sistema de origem precisará efetuar push?

Com base nesses fatores, você pode identificar o padrão de integração e também escolher a ferramenta ou tecnologia certa para a implementação.

Padrões de integração

Existem vários padrões que podem ser usados na integração com o Dataverse. Cada padrão representa uma forma que pode ser realizada usando uma ou mais tecnologias. A realização desses padrões com a tecnologia é explicada nas seções a seguir.

Integração em tempo real ou síncrona

A integração em tempo real é necessária quando o sistema de origem (Aplicativo-A) envia alguma informação e precisa de uma resposta imediata do sistema de destino (Aplicativo-B) para que ele possa fazer algumas ações de acompanhamento.

Um diagrama mostrando os padrões de integração para o Microsoft Sustainability Manager por tecnologia

Esse padrão pode ser implementado com estas opções de tecnologia:

Observação

Entrada se refere a chamadas de serviço de entrada para o Dataverse enquanto saída se refere a chamadas de serviço de saída do Dataverse para outros sistemas.

Opção de tecnologia Entrada/Saída Finalidade Use quando
API do Dataverse Entrada (push) Implementação do OData v4 para fornecer operações CRUD usando um conjunto padrão de interfaces, fornecendo uma interface aberta a um amplo público tecnológico. Principalmente para integração de aplicativos transacionais quando operações CRUD discretas forem necessárias. Também pode ser usado para qualquer integração personalizada, mas traz complexidades relacionadas à limitação, ao paralelismo e à lógica de repetição, principalmente em grandes volumes de dados.
API do Cloud for Sustainability (versão preliminar) Entrada (pull) APIs personalizadas criadas pela Microsoft Cloud for Sustainability para acessar dados de emissões relacionados ao seu uso do Azure. A filtragem dos dados de emissões é necessária onde o conector nativo do Painel do Impacto das Emissões não pode ser usado.
API de cálculo de emissão generalizada Entrada (push) APIs personalizadas criadas pela Microsoft Cloud for Sustainability para calcular as emissões de atividades usando um modelo de cálculo sem criar um perfil de cálculo. O cálculo de emissão de gatilho é necessário de acordo com um evento.
API personalizada do Dataverse Entrada Criação da sua própria API no Dataverse. Uma ou mais operações precisam ser consolidadas em uma única operação ou expor um novo tipo de evento de gatilho.
Tabelas virtuais Saída (pull) Conecte-se a fontes de dados externas e trate-as como entidades nativas do Dataverse. Extração de dados de referência e cenários CRUD de baixo volume.
Plugin em tempo real Saída Invocação do outro sistema em tempo real em um evento do lado do servidor. Não é uma opção desejada devido ao limite de tempo limite do canal de dois minutos e pode degradar a experiência do usuário para registros síncronos.

As opções de tecnologia descritas podem ser estendidas para introduzir um sistema intermediário para atuar como uma retransmissão para a transação. A opção de retransmissão separa o aplicativo de origem e destino, manipulando a solicitação e a comunicação de resposta em nome dos aplicativos, conforme mostrado na imagem a seguir.

Um diagrama mostrando o padrão de retransmissão de integração em tempo real para o Microsoft Sustainability Manager.

Integração assíncrona

A integração assíncrona é necessária onde não há dependência de resposta em tempo real para uma ação ou processo empresarial. Em geral, é utilizado quando há alto volume de comunicação de mensagens entre o aplicativo e os sistemas. Você pode escolher o consumidor orientado a eventos ou o padrão publish-subscriber para implementar a integração assíncrona.

No padrão de consumidor orientado a eventos no diagrama a seguir, o remetente adota uma estrutura orientada a eventos e o consumidor cria uma ligação diretamente a um evento. Quando o evento é disparado, o consumidor é notificado diretamente e recebe os dados contidos na mensagem do evento.

Um diagrama mostrando o padrão de integração assíncrona usando o consumidor de eventos.

No padrão de publicação-assinante no diagrama a seguir, o publicador cria uma mensagem em um formato publicado e a envia para uma fila de mensagens, que possui um ou mais assinantes. O assinante lê a fila de mensagens para recuperar a mensagem publicada da fila.

Um diagrama mostrando o padrão de integração assíncrona usando o publish subscriber.

Esses padrões assíncronos podem ser implementados com as opções de tecnologia na tabela a seguir.

Opção de tecnologia Orientado por evento ou publish-subscriber Finalidade Considerações Use quando
Power Automate Ambos Necessidades da automação low-code. Siga o Power Automate e cada limitação de conectores, como limitação. Use para os eventos de gatilho do Dataverse.
Conectores personalizados baseados na estrutura de Aplicativos Lógicos Orientado a eventos Criação de conectores de dados para a solução do Microsoft Sustainability Manager para obter conjuntos de dados completos para uma ou mais emissões de carbono e categorias de sustentabilidade. É necessário passar por análises de privacidade, segurança e conformidade antes de serem colocados em produção. Uso de cenários de integração ISV onde não existem conectores nativos.
Aplicativos Lógicos e Barramento de Serviço do Azure Publish-subscriber O recebimento de mensagens pelo distribuidor para um barramento de serviço e aplicativos lógicos consome a mensagem para enviar aos aplicativos de assinantes. Siga a Configuração e limites de execução dos Aplicativos Lógicos. Use para gatilhos nativos em conectores de Aplicativos Lógicos e integração personalizada com vários cenários de assinantes.
Azure Functions, recurso de Aplicativos Web do Serviço de Aplicativo do Azure e Barramento de Serviço do Azure Publish-subscriber Use uma fila de mensagens para implementar o canal de comunicação entre o aplicativo e as instâncias do serviço do consumidor. Considere a ordem de mensagens e outras questões de design. Cenários de alto volume e volatilidade, onde a integração não pode ser desenvolvida com opções de low-code (Power Automate ou Aplicativos Lógicos).
Plugin assíncrono ou ponto de extremidade de serviço Ambos Envio das informações de contexto para uma fila, tópico, webhook ou hub de eventos. Não é adequado para transações de execução prolongada. Quando o requisito de integração é atendido principalmente com o envio do contexto do Dataverse para o destino diretamente e a ordem das mensagens não é crítica.

Integração do lote

O envio em lote é a prática de reunir e transportar um conjunto de mensagens ou registros em um lote para limitar a vibração e a sobrecarga. Esse padrão também abrange a replicação dos dados originais para um armazenamento de réplica para fins analíticos. Esse padrão de integração em lote pode ser implementado com as opções de tecnologia na tabela a seguir.

Opção de tecnologia Entrada/Saída Finalidade Considerações Use quando
Conectores do Power Query para Microsoft Sustainability Manager Entrada (pull) Um catálogo robusto de conectores pré-construídos e personalizados de provedores de dados operacionais. Uso somente de conectores originais. Cenários adequados ao fluxo de dados compatíveis com os conectores do Power Query específicos do Microsoft Sustainability Manager.
Conectores internos do Power Query Entrada (pull) Atualmente, os usuários podem conectar seus dados por meio de arquivos de valores separados por vírgula (CSV), arquivos do Excel, Open Data Protocol (OData) e mais de 40 conectores disponíveis no Power Query. Recursos de transformação limitados compatíveis com o Power Query. Cenários de ingestão de dados ou integração de entrada que os conectores dão suporte nativamente.
Azure Data Factory Entrada (push) Criação de fluxos de dados para transformar os dados recebidos do Dataverse ou antes da ingestão no Dataverse. Limites de serviço do Data Factory. Cenário de ingestão em massa ou exportação de dados com transformação complexa em vários estágios.
SQL Server Integration Services (SSIS) Entrada (push) Usando um conector de terceiros para efetuar pull e push de dados de e para o Dataverse. Por não ser uma solução PaaS, o dimensionamento, uso de memória, desempenho e custo devem ser avaliados. Quaisquer limitações quando as ferramentas de extração, transformação e carregamento (ETL) da nuvem podem não ser uma opção.
Azure Synapse Link Saída (pull) Replicação dos dados do Dataverse para Synapse Analytics ou Data Lake para análises e relatórios personalizados. Tabelas não compatíveis. Análise de dados e relatórios personalizados. Também como uma etapa intermediária de exportação de dados.

Integração de apresentação

A integração da apresentação em Dataverse é normalmente usada quando você deseja exibir dados externos na interface do usuário do Dataverse. Essa abordagem é útil quando você precisa fornecer aos usuários uma experiência perfeita ao acessar dados de vários sistemas sem alternar entre diferentes aplicativos. Esse padrão de integração também elimina a necessidade de sincronizar dados se os dados não forem consumidos pelo aplicativo de destino. A tabela a seguir fornece algumas opções de tecnologia para integração de apresentação.

Opção de tecnologia Finalidade Considerações Use quando
Integrações de IU nativas originais Uso de mapas Bing, equipes e outras integrações de interface do usuário de terceiros Não personalizável na maioria dos casos Cenários específicos com suporte na integração nativa da interface do usuário
Páginas personalizadas ou aplicativos de tela incorporados Experiência do usuário usando os recursos do aplicativo de tela com páginas personalizadas ou incorporando um aplicativo de tela em um aplicativo baseado em modelo Limitações conhecidas Preferencial para adotar uma abordagem de integração low-code e quando um aplicativo de tela é adequado para usabilidade
Componente do Power Apps Um controle reutilizável personalizado para exibir ou interagir com o usuário final, mantendo o design responsivo Limitações de componentes do Power Apps Método preferencial quando uma interface do usuário personalizada é desenvolvida dentro de um modelo orientado na ausência de um aplicativo de tela
Blocos do Power BI Mostrando o bloco do Power BI em um formulário de aplicativo baseado em modelo Licenciamento do Power BI, autorização de dados do Power BI Exibindo um bloco do Power BI em um aplicativo baseado em modelo
Painel incorporado do Power BI Exibindo o painel incorporado do Power BI no aplicativo baseado em modelo Licenciamento do Power BI, autorização de dados do Power BI Exibindo as análises hospedadas no Power BI
Incorporando como iFrame Incorporando a outra IU do sistema em um aplicativo baseado em modelo Configuração de logon único, compartilhamento de recursos entre origens (CORS) e design responsivo Cenários complexos de interface do usuário em que nenhum serviço está disponível
Recurso da Web personalizado Criação de um layout de interface do usuário personalizado no aplicativo baseado em modelo Design responsivo Cenários em que outras integrações de interface do usuário não são uma opção

Resumo dos padrões de integração

No mundo da integração de software, existem vários padrões e mecanismos disponíveis para troca de dados entre diferentes sistemas. Cada padrão tem suas vantagens e desvantagens, e escolher o certo pode afetar muito o desempenho e a eficiência dos sistemas integrados. Veja a seguir uma exibição resumida desses padrões de integração: tempo real ou síncrono, assíncrono, lote e apresentação. Você pode explorar os mecanismos, gatilhos, prós, contras e casos de uso para cada padrão, para ajudar a tomar uma decisão informada ao selecionar uma abordagem de integração para seu sistema.

Padrão de integração Mecanismo Gatilho Prós Contras Use quando
Em tempo real ou síncrono Os dados são trocados de forma síncrona, invocando ações via integração ponto a ponto ou usando retransmissão. Ação do usuário ou evento do sistema. Solicitação rápida e tempo de resposta. Valores e informações em tempo real. Geralmente, não é uma prática recomendada a ser usada devido ao risco de os processos ficarem paralisados e criarem uma integração fortemente acoplada. Risco de efeito cascata de erros transitórios. Sensível à latência. Use quando as informações em tempo real forem críticas.
Assíncrono Os dados são trocados ou ingeridos sem supervisão em uma programação periódica ou como um feed lento usando padrões de mensagens. Agendado por um período ou acionado por uma nova mensagem publicada pelo sistema de origem. O baixo acoplamento de sistemas torna a solução robusta. Balanceamento de carga ao longo do tempo e recursos. Pode ser muito próximo do tempo real. Tratamento oportuno de erros. Atraso na resposta e visibilidade das mudanças nos sistemas. Necessidades de sincronização de dados quase em tempo real para volumes de dados baixos ou médios
Envio em lote O envio em lote é a prática de reunir e transportar um conjunto de mensagens ou registros em um lote para limitar a vibração e a sobrecarga. Gatilho programado ou manual. Ótimo para uso com serviços de mensagens e outros padrões de integração assíncrona. Menos pacotes individuais e menos tráfego de mensagens. A atualização dos dados é menor. A carga no sistema receptor pode ser afetada se a lógica de negócios for executada na chegada da mensagem. Cenários de alto volume ou volatilidade em que é possível reunir e transportar um conjunto de mensagens ou registros em lote, cenários de replicação de dados.
Apresentação As informações de um sistema são perfeitamente integradas à interface do usuário de outro sistema. N/A Eliminando a complexidade da sincronização de dados, pois os dados permanecem no sistema de origem. Dificuldade de usar os dados para cálculos para processamento, mais complexidades para satisfazer o logon único, script de origem cruzada e alinhamento de autorização. Quando o requisito é atendido exibindo o sistema de origem ou a interface do usuário diretamente, sem a necessidade de sincronizar dados entre o sistema de origem e o de destino.