Integration von Salesforce und Heroku mittels Heroku Connect
Lernziele
Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:
- Beschreiben der Heroku Connect-Architektur
- Erläutern der Integration von Salesforce und Heroku mittels Heroku Connect
Heroku Connect
Sie können Heroku Connect für die Datenreplikation und Daten-Proxys verwenden. Heroku Connect wird zusammen mit der großartigen Heroku Postgres-Datenbank eingesetzt. Mit dieser SQL-Datenbank können Sie Daten in und aus Salesforce abgleichen oder sie mit Salesforce Connect per Proxy aus der Heroku Postgres-Datenbank in Salesforce laden (siehe nächste Lektion).
Der Datenabgleich mit Heroku Connect kann unidirektional, von Salesforce zu Heroku Postgres oder bidirektional erfolgen. Der Datenabgleich von Heroku Postgres zu Salesforce kann für die Ausführung mit sehr geringer Latenz konfiguriert werden, nicht jedoch in Echtzeit. Sie können die Latenz über ein festgelegtes Intervall steuern oder Daten bei Bedarf in Reaktion auf Änderungen aus der Salesforce Streaming API abfragen.
Da Heroku Connect die Heroku Postgres-Datenbank nutzt, stehen alle standardmäßigen Datenbankfunktionen für die replizierten Daten zur Verfügung. Dataclips (eine Heroku Postgres-Funktion) bietet beispielsweise eine einfache Möglichkeit, Daten abzufragen und die Abfragen über das Web oder in Formaten wie CSV freizugeben.
Heroku Connect wird häufig für Business-to-Consumer-Anwendungen eingesetzt, die in Salesforce gespeicherte Daten nutzen und möglicherweise ändern. Angenommen, Sie haben einen Produktkatalog mit aufblasbaren Einhorn-Faschingshüten in Salesforce gespeichert und möchten, dass dieser Katalog auf einer öffentlichen Website angezeigt wird. Mit Heroku Connect ist dies ein Kinderspiel: Die Produktdaten werden mit einer Heroku Postgres-Datenbank abgeglichen, sodass die öffentliche Website leicht auf die Daten zugreifen kann. Die öffentliche Website könnte dabei mit einer Vielzahl von Open Source-Technologien wie Node.js, Java, oder PHP erstellt worden sein. Die Schnittstelle zu den Daten mit Heroku Connect ist einfach standardmäßige SQL.
Dieser schreibgeschützte Anwendungsfall tritt häufig auf. Es ist aber auch unkompliziert, Änderungen wieder in Salesforce zu übernehmen. Falls es auf der öffentlichen Produktwebsite beispielsweise die Möglichkeit gibt, ein Produkt zu 'liken', könnte diese Information zur Unterstützung von Vertriebs- und Marketingaktivitäten im Back-Office in Salesforce gespeichert werden.
Erste Schritte mit Heroku Connect
Sie können sich in die ausführliche Heroku Connect-Dokumentation vertiefen, um sich umfassender zu informieren, falls Sie am Samstagabend keine anderen Pläne haben. Spaß beiseite: Das können Sie natürlich an jedem beliebigen Abend tun.
Heroku Connect ist ein Heroku-Add-On und lässt sich daher über das Heroku-Dashboard leicht bereitstellen und konfigurieren. Zum Konfigurieren von Heroku Connect authentifizieren Sie sich mit OAuth bei einer Salesforce-Instanz und erlauben Heroku Connect, in Ihrem Namen API-Aufrufe durchzuführen. Heroku Connect verwendet diese API-Verbindung, um Daten zwischen Salesforce und der Heroku Postgres-Datenbank zu synchronisieren.
Nachdem Sie Heroku Connect für Ihre Heroku-Anwendung bereitgestellt haben, konfigurieren Sie, wie und welche Daten synchronisiert werden. Wenn die Zuordnung zwischen Salesforce und Datenbank konfiguriert wurde, kann Ihre Anwendung eine Verbindung zur Heroku Postgres-Datenbank herstellen und unter Verwendung von standardmäßiger SQL auf die Daten zugreifen.
Heroku Connect-Anwendungsarchitektur
Bei der Verwendung von Heroku Connect für den Datenabgleich stammt das Datenschema aus Salesforce. Wenn Sie Felder zu einer Zuordnung hinzufügen möchten, passen Sie das Objekt in Salesforce an und konfigurieren dann die Heroku Connect-Zuordnung. Sie können mehrere Objekt zuordnen. Sie können auch Beziehungen zwischen Objekten zuordnen. Das ermöglicht Ihnen, benutzerdefinierte Objekte in Salesforce zu erstellen, die mit Standardobjekten in Beziehung stehen. Ein Objekt namens 'Produkt-Likes' könnte beispielsweise einen Kontakt und ein Produkt kombinieren. Nur die Heroku-Anwendung würde in dieses Objekt schreiben. Back-Office-Benutzer in Salesforce können dann für Berichte und Kampagnen auf die Daten zugreifen.
In der Regel verwenden Entwickler, die an Heroku-Anwendung arbeiten, eine lokale Entwicklungsumgebung, die die Umgebung in Heroku spiegelt. Sie können das Heroku Connect-Schema ganz leicht in einer lokalen Postgres-Datenbank erstellen, um die Entwicklungsumgebung abzugrenzen. Eine Integrationstest-Anwendung in Heroku stellt normalerweise eine Verbindung zu einer Salesforce-Instanz her, damit Entwickleränderungen gegen eine von Heroku Connect synchronisierte Datenbank geprüft werden können, bevor sie in das Produktionssystem übernommen werden.
Der Verbindungsaufbau zu einer Heroku Postgres-Datenbank, die durch Heroku Connect mit Salesforce synchronisiert wird, unterscheidet sich nicht vom Verbindungsaufbau zu anderen Postgres-Datenbanken. Es ist schließlich nur eine Datenbank.
Da die Daten aus Salesforce abgeglichen wurden, können Sie Abfragen mehrmals für Postgres ausführen, während es nur einen Lesevorgang aus Salesforce gibt (bis sich die Daten ändern oder laut Abfrageintervall auf Änderungen geprüft wird). Da Heroku Postgres ganz in der Nähe der Heroku-Anwendung ausgeführt wird, geschehen die Lesevorgänge extrem schnell und mit geringer Latenz.
Einfügungen und Änderungen sind standardmäßige SQL-Anweisungen, die gemäß den in der Zuordnung festgelegten Einstellungen und Zeitplanung mit Salesforce synchronisiert werden.