Assegurar que o seu Dynamics 365 na premissa de migração para a nuvem não' não destrua as integrações de que necessita

Garantindo que o seu Dynamics 365 na Premise to Cloud Migration Não Destrói as Integrações de que Você Precisa

Ana Neto Conectores, Produtos e Soluções, Técnico 4 Comentários

Artigo atualizado pela última vez: 28 de março de 2022

Vamos dar uma olhada no seguinte cenário:

Uma empresa próspera tem utilizado Microsoft Dynamics CRM on-premises, integrado com seu ERP (Dynamics NAV), SharePoint, e um sistema de contabilidade.

Depois de algumas pesquisas, eles reconhecem os benefícios da mudança para o Dynamics 365 online e a nuvem Azure. Entretanto, eles também descobrem que a Microsoft não oferece aos seus usuários uma solução prática para transferir as bases de dados e todas as outras integrações existentes do Dynamics CRM para o Dynamics 365 Online.

Se o criador do software não tem uma resposta a esta pergunta, como pode esta empresa realizar os seus desejos?

Estamos orgulhosos de apresentar sua solução para se conectar ao banco de dados Dynamics 365.... sem realmente se conectar ao banco de dados!

Move Dynamics CRM On-Prem para D365 Online

Embora seja possível realizar um Dynamics 365 implantação no localÉ seguro dizer que a utilização do Dynamics 365 online é actualmente a opção mais atractiva para quase todas as empresas por aí.

Ao investigarem os modelos Dynamics 365 online vs. on-premises, rapidamente chegam à conclusão de que a versão de Software como Serviço (SaaS) do Dynamics 365 online tem os seguintes benefícios:

  • Menos stress - Não é necessário adquirir hardware ou infra-estrutura e não é necessário mantê-la.
  • Não compromisso - O software é tipicamente licenciado num modelo de pagamento por encomenda em vez de uma grande compra única, por lugar.
  • Versátil - O SaaS oferece frequentemente acesso universal, permitindo-lhe ligar-se ao software a partir de qualquer dispositivo (desktop, portátil, telemóvel), desde que o utilizador tenha uma ligação à Internet.
  • Acessível - O investimento inicial é geralmente consideravelmente menor do que a compra de equipamento e software no local.
  • Confiável - A solução de nuvem vem com um SLA de Alta Disponibilidade.

Então, como é fácil sincronizar bases de dados no local para o Dynamics 365 Online Então?

Em um mundo perfeitoA migração do Microsoft Dynamics CRM on-premises para o Dynamics 365 online incluiria facilmente as integrações existentes para o Microsoft Dynamics CRM on-premises. Isto deveria ser ainda mais simples caso já tivesse D365 e quisesse ir para um Dynamics 365 na premissa da migração para a nuvem.

No entanto, nós não vivemos num mundo perfeito. No entanto, mesmo que mover-se para a nuvem não é tão simples como você esperariaali dicas e truques que podem ajudar você ao longo do caminho. Vamos começar!

O que a Microsoft lhe oferece para a mudança para o Dynamics 365 Online

Há uma coisa chamada página FastTrack. A Microsoft oferece suporte através dela para ajudar seus usuários a implantar soluções em nuvem da Microsoft. Clientes com assinaturas elegíveis para o Microsoft 365, Dynamics 365 ou Azure podem acessá-lo sem custo adicional durante todo o período de sua assinatura (link no final do artigo). Portanto, se você pretende usar isto, é recomendado que você verifique os critérios de elegibilidade atualizados para o que você está tentando migrar. A Microsoft normalmente baseia esses critérios no número de assentos ou na receita.

Em abril de 2019, a Microsoft reconheceu que "até recentemente, não havia nenhum mecanismo disponível para os clientes mudarem facilmente sua implantação no local para o Dynamics 365 (online)". Isto foi confessado em um documento PDF de 45 páginas intitulado "Microsoft Dynamics CRM on-premises to Dynamics 365 Online Migration", que descreve os passos a seguir (o link para download também está no final do artigo).

Posso Aceder à Base de Dados Dinâmica?

Uma possível solução para esse problema seria encontrar uma forma de aceder à base de dados do Dynamics 365 e depois ir para a sincronização com o seu Dynamics CRM on-premises. O problema é que a Microsoft não fornece acesso à base de dados back-end do Dynamics.

Isto faz todo o sentido, uma vez que expor bancos de dados back-end de serviços SaaS ao mundo exterior é considerado uma má prática e pode levar a consideráveis violações de segurança ou problemas de integridade de dados. Em vez disso, a Microsoft oferece uma API oficial para realizar a interação de dados com o D365 online.

A principal razão pela qual os serviços API são utilizados é que eles não quebram as regras e restrições internas do negócio, garantindo que as aplicações clientes não prejudiquem o desempenho. Eles também ajudam a manter a integridade e consistência dos dados do banco de dados back-end. Muito benéfico, certo?

A única desvantagem é que muitas habilidades e tempo são necessários para o desenvolvimento de processos de manipulação de dados através da API. Além disso, você terá que mergulhar em toneladas de documentação para descobrir os parâmetros corretos e fazer as chamadas apropriadas para os métodos e funções fornecidos pelas interfaces relevantes. Infelizmente, é apenas a forma como as coisas funcionam.

E se pudesse tornar isto mais simples? Se você está familiarizado com SQL, não seria ótimo se você pudesse simplesmente aproveitar suas habilidades SQL e interagir com a API D365 como você faria com um SGBD (sistema de gerenciamento de banco de dados) normal, ou melhor ainda, se você pudesse ter apenas Dynamics 365 sincronizando o banco de dados usando o Microsoft SQL Server Management Studio...

Bem, nós temos notícias maravilhosas para vocês!

Ligue-se ao D365 Online a partir de um SGBD local ou de qualquer aplicação cliente

Damos-lhe as boas vindas ao nosso Sincronização entre D365 e Bases de Dados! Ser inteiramente baseado na plataforma de integração do Connecting Software Connect BridgeA D365 é feita sob medida para sincronizar as bases de dados no local com a nuvem D365. Incrível, certo?

Se estás a pensar como funciona, Connect Bridge traduz a sintaxe SQL padrão ANSI para as chamadas API apropriadas.

Ao assegurar o acesso aos dados é feito com chamadas API (embora você não tenha que se preocupar com isso) esta solução mantém a integridade do seu sistema alvo seguro. Além disso, você também tem a facilidade de se comunicar com qualquer sistema alvo através do SELECCIONAR, INSERIR, ATUALIZAR e APAGAR padrão declarações.

Sabes o que isto significa? Você pode... conectar e inserir dados no D365 online, a partir do seu SGBD local ou de qualquer aplicação cliente!

Isto é especialmente útil no caso de empresas que migram de Dynamics CRM on-prem para D365 online, que têm bases de dados on-prem SQL ou aplicações ligadas a Dynamics. Felizmente, estas conexões podem ser mantidas através da implementação do Connect Bridge. Isto é exatamente o que uma cadeia de supermercados italiana fez, como você pode ler no seguinte estudo de caso.

É importante notar que se você deseja se conectar a outras soluções Dynamics 365, como o Dynamics 365 Business Central ou Finanças, isso também funciona! Temos as suas costas...no final do artigo.

Agora, é hora de ver como isto funciona na prática. Você pode ir para o teste gratuito e experimentá-lo você mesmo, você pode pedir aos nossos especialistas para mostrar-lhe em uma demonstração gratuita ou você pode simplesmente ler em cima!

De qualquer base de dados para o Dynamics 365 Online

A famosa base de dados Adventure Works DW (Datawarehouse) da Microsoft (download disponível no final), vai servir como nossa base para esta demonstração. Mostraremos como é perfeito integrar seus processos existentes com o Microsoft Dynamics 365 Online usando a plataforma Connect Bridge.

No procedimento seguinte, utilizaremos o SSMS (SQL Server Management Studio) para gerir a sua base de dados SQL Server:

1 - Uma vez configurada a base de dados AdventureWorks, você verá o esquema da base de dados na janela do Object Explorer, como na imagem seguinte.

SSMS AdventureWorks

2 - Vamos agora criar o Linked Server. Para isso, vamos seguir os passos seguintes tutorial em vídeo.

 Por favor note que a criação de conexões Linked Server para qualquer sistema alvo, por meio de conectores, é possível porque estamos usando o Plataforma Connect Bridge. Existem mais de 400 conectores prontamente disponíveis para nossos usuários em todo o mundo. Para este exemplo, nós usamos especificamente o conector Dynamics 365.

Logotipos de alguns dos conectores do Connect Bridge

Connecting Software seleção de conectores nas áreas de CRM, ERP e contabilidade

3 - Uma vez configurado o Linked Server, parecerá que você está acessando a base de dados back-end da Dynamics no SSMS. Na imagem abaixo você pode vê-la com o nome "D365_CRM".

Imagem

Ao expandir o nó de catálogos no TreeView, podemos ver todo o esquema fornecido pelo Dynamics 365, tal como se pode ver ao aceder a uma base de dados regular. Mas isto é, na verdade, uma abstração com chamadas API rodando em segundo plano para tornar isto simples no front end.

A utilização deste procedimento em 3 etapas permitirá criar qualquer tipo de integração e/ou personalizar os processos existentes. Vamos dar uma olhada no que os usuários ao redor do mundo usam para isso.

Aplicabilidade do On-prem à Solução de Sincronização On-prem D365 Cloud Sync

Caso você esteja se perguntando por que você precisaria fazer isso em primeiro lugar, aqui estão dois cenários comuns que podem atingir perto de casa:

Cenário 1

A empresa para a qual você trabalha ainda usa Microsoft Dynamics CRM on-premises, e eles estão atualmente em processo de migração para o Microsoft Dynamics 365 Online. Eles têm várias integrações entre as suas bases de dados SQL Server e as suas bases de dados Microsoft Dynamics CRM on-premises.

O problema é que.., não se pode ligar directamente à base de dados Microsoft Dynamics 365 Onlinee como resultado, você começa a se perguntar se:

  • Você terá que criar, do zero, todos os processos usando o Dynamics CRM SDK da Microsoft;
  • Você terá que criar, a partir do zero, todos os processos usando a Web API;
  • Você terá que aprender C# para poder fazer tudo isso;

Cenário 2

A empresa para a qual você trabalha tem um sistema ERP feito sob medida com um banco de dados SQL Server como back-end. Eles decidem usar o Microsoft Dynamics 365 CRM como seu próprio Sistema de Gerenciamento de Relacionamento com o Cliente.

Então, eles gostariam de ter a capacidade de preencher o CRM com os dados existentes do seu sistema ERP de forma automatizada e manter ambos os lados consistentes.

Fazer este processo manualmente é praticamente impossível, pois existem dezenas de milhares de registros que precisam ser idênticos de ambos os lados, incluindo contas, contatos e produtos.

No entanto, a equipe de TI da empresa não tem muita experiência com as linguagens e frameworks de programação necessáriascomo o C#, os serviços REST ou o CRM API. Eles têm experiência com SQL, mas isso pode ser útil? O gerente se pergunta se eles:

  • Terá que contratar uma empresa de consultoria para realizar este serviço para eles.
  • Dependerá da referida empresa de consultoria para manter e acrescentar novas funcionalidades à medida que os seus negócios se expandem.

Felizmente, a resposta a todas estas questões hipotéticas é nãoe espero que, neste momento, o uso do exemplo acima esteja a tocar uma campainha.

Com Connect Bridge, você pode aproveitar suas habilidades existentes de uma maneira eficiente E manter seus softwares, bancos de dados e processos existentes.

Mas não tens de acreditar na nossa palavra. Confira o exemplo passo a passo abaixo, ou, melhor ainda, pergunte por sua avaliação gratuita e experimente você mesmo.

População do Dynamics 365 Contas Online do Banco de Dados de Obras de Aventura Tabela DimCustomer

Preparação

  1. Crie os seguintes gatilhos:

    --*****************************************************************************

    CRIAR TRIGGER [dbo].[OnDimCustomerInsert] ON [dbo].[DimCustomer] DEPOIS INSERIR

    AS

    INÍCIO

           SET                               NOCOUNT ON

     

           DECLARARAR @SQL                      VARCHAR(255)

           DECLARARAR @AccountId                VARCHAR(255)

           DECLARARAR @FirstName                VARCHAR(255)

           DECLARARAR @LastName                 VARCHAR(255)

           DECLARARAR @MiddleName               VARCHAR(255)

          

           SELECCIONAR @FirstName       = [Apelido],

                  @LastName        = [LastName],

                  @MiddleName      = [MiddleName]

           DE INSERIDO;

           SELECCIONAR @SQL = FORMATMESSAGEM(INSERIR EM CONTA (Nome) VALORES(''%s''); SELECCIONAR ESCOPO_IDENTIDADE();',

           @FirstName + '-' + '-' + @LastName)

          

           CRIAR TABELA #AccountId(ID VARCHAR(255))

           INSERIR #AccountId

           EXEC(@SQL) AT D365_CRM

     

           SELECCIONAR @AccountId = ID de #AccountId

           ATUALIZAÇÃO DimCustomer SET CustomerAlternateKey = @AccountId onde PrimeiroNome = @FirstName e MiddleName = @MiddleName e LastName = @LastName

     

           IMPRESSÃO @FirstName + ' ' + @MiddleName + ' ' + @LastName;

    FIM

    --*****************************************************************************

    CRIAR TRIGGER [dbo].[OnDimCustomerUpdate] ON [dbo].[DimCustomer] DEPOIS ATUALIZAÇÃO

    AS

    INÍCIO

           SET                               NOCOUNT ON

     

           DECLARARAR @SQL                      VARCHAR(255)

           DECLARARAR @AccountId                VARCHAR(255)

           DECLARARAR @FirstName                VARCHAR(255)

           DECLARARAR @LastName                 VARCHAR(255)

           DECLARARAR @MiddleName               VARCHAR(255)

          

           SELECCIONAR @ContaId       = [CustomerAlternateKey],

                  @PrimeiroNome       = [PrimeiroNome],

                  @LastName        = [LastName],

                  @MiddleName      = [MiddleName]

           DE INSERIDO;

     

           SELECCIONAR @SQL = FORMATMESSAGEM('UPDATE ACCOUNT SET Name=''%s''' WHERE ACCOUNTID=''%s'''., @FirstName + '-' + '-' + @LastName, @AccountId)

           EXEC(@SQL) AT D365_CRM;

           IMPRESSÃO @FirstName + ' ' + @MiddleName + ' ' + @LastName;

     

    FIM

    2. Sua janela do SSMS Object Explorer deve conter agora dois novos gatilhos e ter este aspecto:
    Imagem
    3 - Abra a sua instância Dynamics 365 Online e navegue até às Contas. Vamos inserir 3 novos registros para 'Tecnologia ABC', 'Billy Charity', e 'Tom Cat' no próximo passo. Neste ponto, eles ainda não estão em Contas.
    Imagem

    Testes

     1 - No SSMS abra uma nova janela de consulta e cole o seguinte:

    INSERIR INTO [AdventureWorksDW].[dbo].[DimCustomer] (PrimeiroNome, MiddleName, LastName, CustomerAlternateKey) valores (Tecnologia ABC, '' ,"GMB, CT0001);

    INSERIR INTO [AdventureWorksDW].[dbo].[DimCustomer] (PrimeiroNome, MiddleName, LastName, CustomerAlternateKey) valores ("Billy Charity" (Caridade de Billy), '' ,SA, CT0002);

    INSERIR INTO [AdventureWorksDW].[dbo].[DimCustomer] (PrimeiroNome, MiddleName, LastName, CustomerAlternateKey) valores (Gato Tom, '' ,ORG, CT0003''.);

     

    SELECCIONAR * DE DimCustomer ONDE PrimeiroNome = Tecnologia ABC;

    SELECCIONAR * DE DimCustomer ONDE PrimeiroNome = "Billy Charity" (Caridade de Billy);

    SELECCIONAR * DE DimCustomer ONDE PrimeiroNome = Gato Tom;

    2 - Execute os scripts pressionando F5 ou o botão Executar no SSMS.
    SSMS Executar AdventureWorks
    Você deve ter agora 3 registros adicionais inseridos na Tabela DimCustomer.
    Imagem
    3 - Navegue de volta às suas contas Dynamics 365 e atualize. Bingo!
    Imagem

    3 novas contas foram adicionadas ao Dynamics 365 sem tocar no Dynamics 365. Fixe, não é?

    Mas espere um segundo, na tabela DimCustomer, o campo CustomerAlternateKey tem um número estranho. Eles não são os valores que inserimos em primeiro lugar. Em vez disso, temos o ID único da conta gerada no Dynamics 365. Como isso é possível?

    Se você olhar atentamente para o gatilho OnDimCustomerInsert, você notará que SELECT SCOPE_IDENTITY(); é o responsável por retornar o ID da conta que será usado para atualizar a tabela DimCustomer. Isso será crucial para realizar atualizações nas contas existentes no Dynamics 365 quando um registro for alterado na tabela DimCustomer.

    Para provar nosso ponto de vista, atualize os registros criados executando no SSMS o seguinte código:

    ATUALIZAÇÃO [AdventureWorksDW].[dbo].[DimCustomer] SET LastName = LTD ONDE CustomerAlternateKey = 'account(9a1bc5cb-6ad7-e811-a96f-000d3a2cb90b)';

    NOTA: SUBSTITUA A CORDA account(9a1bc5cb-6ad7-e811-a96f-000d3a2cb90b) COM OS VALORES GERADOS NO SEU AMBIENTE.

    Depois de executar as atualizações para as 3 contas, aqui está o resultado em Dynamics 365.
    Imagem

    Que bom!

    Em Conclusão

    Estes são exemplos simples, mas demonstram como isto funciona na prática. É uma solução escalável e poderosa que lhe permite ininterruptamente:

    • Centralize tudo o que estava anteriormente ligado à sua Dinâmica on-prem.
    • Passe para a versão online da Dynamics e mantenha as integrações existentes funcionando normalmente.

    E, não menos importante:

    • Não há necessidade de aprender nenhuma nova tecnologia ou linguagem de programação! É tão fácil quanto possível.
    • Você pode melhorar o processo, modificando os gatilhos.

    Também, se você imediatamente descer para descobrir a que outras soluções Dynamics 365 você pode se conectar facilmente usando o Connect Bridge, esta é essa parte!

    E são:

    Que delícia!

    Se você tiver algum comentário ou sugestão, escreva-os no espaço abaixo e nós responderemos o mais rápido possível.

    Porque os clientes usam Connect Bridge

    Assista a um pequeno vídeo para descobrir:
    Imagem

    Ligações de recursos

    Artigo atualizado pela última vez: 28 de março de 2022

    Ana Neto - Assessora técnica, autora

    Ana Neto
    technical conselheiro no Connecting Software

    Autor:

    Sou engenheiro de software desde 1997, com uma paixão mais recente por escrever e falar em público.  Você tem alguma pergunta ou comentário sobre este post ou sobre o Connect Bridge? Eu adoraria ter o seu feedback!

     ana@connecting-software.com


    Colaboradores: Jefferson Kenji Takahashi, Diogo Gouveia

    Comentários 4

    1. Parece interessante - e quanto à aplicação das regras do negócio? Por exemplo, temos a necessidade de obter transacções do nosso POS (dados em tabelas SQL) para a Business Central - e quanto ao caso de uso em que a venda envolve um cliente e ou produto que não existe na D365?

    2. Post
      Autor

      Olá, Paul,

      Se conseguir obter os dados que tem do seu POS nas tabelas SQL e seguir uma estrutura que possa compreender, então pode usar Connect Bridge para colocar tudo na Central de Negócios. Se a venda envolve um cliente e/ou produto que não existe na D365, você precisa decidir o que fazer, por exemplo, você poderia usar um cliente ou produto genérico ou você poderia criar novos na hora.

      Entraremos em contato através do e-mail que você indicou para explorar esta opção com você.

      Ana Neto

    Deixe uma resposta

    O seu endereço de email não será publicado.