Skip to main content

Entender o Change Data Capture

Objetivos de aprendizagem

Após concluir esta unidade, você estará apto a:

  • Descrever o que são eventos de alteração.
  • Explicar os benefícios da tecnologia de streaming.
  • Explicar quando usar os eventos de alteração.

Antes de começar esse módulo

Sabemos que você está ansioso para começar! Mas antes de começar a trabalhar neste módulo, você deve estar familiarizado com alguns conceitos para poder concluí-lo. 

Como uma das maneiras de se inscrever no Change Data Capture é com os acionadores do Apex, você precisa entender um pouco sobre classes e acionadores do Apex e testes do Apex. 

Além disso, uma familiaridade com eventos de plataforma ajuda você a entender eventos do Change Data Capture, que são um tipo especial de eventos de plataforma. Embora não seja necessário para concluir este módulo, recomendamos que você faça também o módulo Noções básicas dos eventos da plataforma.

O que é o Change Data Capture?

Change Data Capture é um produto de streaming da Lightning Platform que permite integrar os dados do Salesforce com sistemas externos de maneira eficiente. Com o Change Data Capture, você pode receber alterações de registros do Salesforce em tempo real e sincronizar os registros correspondentes em um armazenamento de dados externo. O Change Data Capture publica eventos de alterações em registros do Salesforce referentes a operações de criação, atualização, exclusão e cancelamento de exclusão.

Use o Change Data Capture para atualizar dados em um sistema externo em vez de fazer exportações periódicas ou sondagens de API. O recebimento de alterações com as notificações de eventos do Change Data Capture permite que seus dados externos sejam atualizados em tempo real e se mantenham recentes. 

Pense no Change Data Capture como parte do processo de replicação de dados em tempo real para a nuvem. A replicação de dados inclui os estágios a seguir.

  1. Cópia inicial (dia 0) de todo o conjunto de dados para o sistema externo
  2. Sincronização contínua de dados novos e atualizados para o sistema externo
  3. Reconciliação de dados duplicados entre os dois sistemas

O Change Data Capture é a parte de sincronização contínua da replicação (etapa 2). Melhor dizendo, ele publica os deltas dos dados do Salesforce, seja para registros novos ou para registros alterados. O Change Data Capture requer um aplicativo de integração para receber eventos e fazer atualizações no sistema externo. 

O que são eventos de streaming e por que utilizá-los?

Eventos de streaming são mensagens de notificação instantâneas que um sistema (o publisher) envia para outro (o assinante). Com a tecnologia push, o publisher publica dados para o assinante. Ela é o oposto da tecnologia pull. Com a tecnologia pull, os clientes solicitam dados do servidor periodicamente. Ao conectar sistemas com a tecnologia pull, os clientes sondam o servidor para obter atualizações de dados, e a atualidade dos dados depende da frequência de sondagem. Além disso, os clientes podem fazer chamadas excessivamente e tornar os servidores mais lentos.

Usando o modelo publisher/assinante e a tecnologia push, o Change Data Capture envia notificações para assinantes sempre que há uma alteração de dados no Salesforce. As mensagens de notificação são enviadas para o barramento de eventos, que pode ser assinado pelos clientes por meio de um canal. Sistemas voltados para eventos simplificam a comunicação entre sistemas empresariais distribuídos, aumentam a escalabilidade e entregam dados em tempo real. 

Escalar integrações com uma arquitetura voltada para eventos

Quando usar o Change Data Capture

Digamos que você tem um sistema de planejamento de recursos empresariais (ERP) que armazena suas informações comerciais e parte de seus dados do Salesforce é duplicado nele. Para ter certeza de que seus dados do ERP estão atualizados, você pode usar eventos de alteração para sincronizar alterações dos registros do Salesforce em seu sistema de ERP. Por exemplo, se houver informações sobre pedidos tanto no sistema de ERP quanto no Salesforce, você poderá fazer streaming de eventos de alteração de pedidos do Salesforce para um aplicativo de integração. Em seguida, o aplicativo sincronizará as alterações no sistema de ERP. 

Use os eventos de alteração para:

  • Receber notificações sobre alterações em registros do Salesforce, incluindo operações de criação, atualização, exclusão e cancelamento de exclusão.
  • Capturar alterações na maioria dos campos para todos os registros.
  • Obter informações sobre a alteração no cabeçalho do evento, como a origem da alteração, para que você possa ignorar alterações geradas pelo cliente.
  • Fazer atualizações de dados usando limites de transação quando esta tiver mais de uma operação.
  • Usar um esquema de eventos com controle de versão.
  • Assinar alterações em massa de forma escalável.
  • Obter acesso a eventos retidos por três dias no máximo.

Abordaremos os detalhes das mensagens de evento de alteração, incluindo campos de cabeçalho, na próxima unidade.

Um aplicativo de integração de exemplo

Robert Bullard é um desenvolvedor de software na Get Cloudy Consulting, uma empresa de consultoria de alta tecnologia especializada em implementações de CRM. Robert está desenvolvendo um aplicativo de sincronização de RH para um cliente. O aplicativo sincroniza alterações em dados de registros do Salesforce com um sistema de RH que está fora do Salesforce. O cliente de consultoria do Robert cria e modifica alguns dados de recursos humanos no Salesforce como registros de objetos personalizados Employee__c. O cliente deseja que os dados de funcionários no sistema de RH sejam sincronizados com o Salesforce.

O aplicativo de integração do Robert tem estes pré-requisitos.

  • Replicar cada registro de objeto personalizado Funcionário (Employee__c) novo ou alterado no armazenamento de dados de RH.
  • Replicar todos os registros de funcionários com seus campos.
  • Usar replicação baseada em transação. Se várias atualizações estão em uma mesma transação, o aplicativo de integração envia essas atualizações como parte da mesma transação.
  • Retomar a replicação de notificações de eventos anteriores que estejam armazenados há menos de três dias em caso de falha no processo de replicação.

Sincronização de dados com o Change Data Capture

Processo de atualizar um banco de dados externo tendo o Salesforce como origem usando o Change Data Capture

Após analisar as várias opções de streaming de eventos no Salesforce, Robert conclui que o Change Data Capture é a melhor opção. Quando ele assina o canal para o objeto personalizado Funcionário pelo aplicativo, este recebe notificações para cada alteração com todos os campos modificados. O aplicativo inspeciona os campos de cabeçalho na mensagem de notificação para entender se a alteração pode ser confirmada imediatamente ou se ela deve ser combinada com outras alterações. Como o Salesforce armazena eventos de alteração até três dias no máximo, o aplicativo pode recuperar notificações perdidas. 

Recursos

Continue a aprender de graça!
Inscreva-se em uma conta para continuar.
O que você ganha com isso?
  • Receba recomendações personalizadas para suas metas de carreira
  • Pratique suas habilidades com desafios práticos e testes
  • Monitore e compartilhe seu progresso com os empregadores
  • Conecte-se a orientação e oportunidades de carreira