Integrar o Salesforce e a Heroku ao Heroku Connect

Objetivos de aprendizagem

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

  • Entender a arquitetura do Heroku Connect.
  • Entender como integrar o Salesforce e o Heroku com o Heroku Connect.

Heroku Connect

Você pode usar o Heroku Connect para replicação de dados e proxies de dados. O Heroku Connect é usado em conjunto com o incrível banco de dados Heroku Postgres. Você pode replicar dados do e no Salesforce neste banco de dados SQL ou pode fazer proxy do banco de dados Heroku Postgres no Salesforce usando o Salesforce Connect, que abordaremos na próxima unidade.

Diagrama mostrando setas que saem primeiro do Salesforce para um componente intermediário e depois para o Heroku e que, por último, retornam ao Salesforce quando se insere um contato

A replicação de dados com o Heroku Connect pode ser unidirecional, do Salesforce para o Heroku Postgres, ou bidirecional. A replicação de dados do Heroku Postgres para o Salesforce pode ser configurada para executar com muito baixa latência, embora não seja em tempo real. Você tem a opção de controlar a latência através de um intervalo especificado ou, como alternativa, de efetuar uma pesquisa sob demanda, como resposta às alterações da API de transmissão do Salesforce.

Como o Heroku Connect usa Heroku Postgres, todos os recursos de banco de dados padrão ficam disponíveis com os dados replicados. Por exemplo, Dataclips (um complemento do Heroku) oferece uma maneira fácil de consultar os dados e compartilhar as consultas pela Web ou por meio de formatos como CSV.

Um uso comum do Heroku Connect é em aplicativos empresa-para-consumidor que usam e podem mudar dados armazenados no Salesforce. Digamos que você tenha um catálogo de produtos de chapéus de festa com unicórnios infláveis armazenado no Salesforce e deseja ter um site público para exibi-lo. O Heroku Connect facilita isso replicando os dados de produto em um banco de dados Heroku Postgres para que o site público possa acessar esses dados facilmente. O site público poderia ser criado com várias tecnologias de código aberto, como Node.js, Java ou PHP. A interface entre os dados e o Heroku Connect é SQL padrão.

Esse caso de uso somente leitura é comum, mas é fácil fazer atualizações no Salesforce. Por exemplo, se o site público de produtos permitir que os usuários “curtam” um produto, essa informação pode ser armazenada no Salesforce para ajudar em iniciativas de vendas e marketing de back-office.

Introdução ao Heroku Connect

A maneira mais fácil de começar a usar o Heroku Connect é com o projeto do Trailhead Início rápido: Heroku Connect. Você também pode se aprofundar no assunto com a documentação do Heroku Connect quando estiver livre em um sábado à noite. Na verdade, em qualquer noite.

O Heroku Connect é um complemento do Heroku e, portanto, é fácil de se provisionar e configurar no painel da Heroku. Para configurar o Heroku Connect, autentique uma instância do Salesforce usando OAuth e permita que o Heroku Connect faça chamadas à API em seu nome. O Heroku Connect usa essa conexão de API para sincronizar os dados entre o Salesforce e o banco de dados Heroku Postgres.

Depois de provisionar o Heroku Connect para seu aplicativo Heroku, configure como e quais dados serão sincronizados. Depois que o mapeamento do Salesforce para o banco de dados for configurado, seu aplicativo poderá fazer uma conexão com o banco de dados Heroku Postgres e usar SQL padrão para acessar os dados.

Arquitetura do aplicativo Heroku Connect

Ao usar o Heroku Connect para a replicação de dados, o Salesforce é proprietário do esquema de dados. Para adicionar campos a um mapeamento, personalize o objeto no Salesforce e configure o mapeamento do Heroku Connect. Você pode mapear vários objetos. Você também pode mapear relacionamentos entre objetos, o que permite criar objetos personalizados no Salesforce que se relacionam com objetos padrão. Por exemplo, um objeto Curtidas de produto poderia agrupar um contato e um produto. Somente o aplicativo Heroku gravaria neste objeto. Os usuários de back-office no Salesforce poderiam acessar os dados para relatórios e campanhas.

Normalmente, os desenvolvedores que trabalham em aplicativos Heroku têm um ambiente de desenvolvimento local que reflete o ambiente na Heroku. Você pode criar o esquema do Heroku Connect facilmente em um banco de dados Postgres local para abrigar o ambiente de desenvolvimento. Um aplicativo de teste de integração no Heroku normalmente se conecta a uma instância do Salesforce para que as alterações do desenvolvedor possam ser testadas em relação a um banco de dados sincronizado do Heroku Connect antes de serem movidas para a produção.

A conexão com um banco de dados Heroku Postgres que esteja sincronizado com o Salesforce por meio do Heroku Connect não é diferente da conexão com qualquer outro banco de dados Postgres. É apenas um banco de dados!

Como os dados foram replicados do Salesforce, você pode executar consultas ao Postgres várias vezes, mas existirá somente uma leitura do Salesforce (até que os dados sejam alterados ou que o intervalo de sondagem procure alterações). Como o Heroku Postgres é executado muito perto do aplicativo Heroku, as leituras são extremamente rápidas e com baixa latência.

As inserções e atualizações são apenas instruções SQL padrão e são sincronizadas com o Salesforce de acordo com as configurações e agenda de mapeamento.