Skip to main content
Build the future with Agentforce at TDX in San Francisco or on Salesforce+ on March 5–6. Register now.

Grundlegendes zur Datenänderungserfassung

Lernziele

Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:

  • Beschreiben, was Änderungsereignisse sind
  • Erläutern der Vorteile der Streaming-Technologie
  • Erklären, wann Änderungsereignisse verwendet werden

Bevor Sie mit diesem Modul starten

Wir wissen, dass Sie unbedingt loslegen möchten! Ehe Sie sich jedoch an die Arbeit in diesem Modul begeben, sollten Sie mit einigen Konzepten vertraut sein, um dieses Modul absolvieren zu können. 

Da die Datenänderungserfassung u. a. über Apex-Auslöser abonniert werden kann, sollten Sie über ein grundlegendes Verständnis der Apex-Klassen und -Auslöser sowie von Apex-Tests verfügen. 

  • Wenn Sie zuvor noch nicht mit Apex gearbeitet haben und mit objektorientierter Programmierung noch nicht vertraut sind, sehen Sie sich den Trail Entwickeln von Apex-Programmierkenntnissen an. Dieser Trail besteht aus einer Reihe von Modulen, die Ihnen helfen, Ihr Apex-Wissen Schritt für Schritt von Grund auf aufzubauen.
  • Wenn Sie mit objektorientierter Programmierung vertraut sind und mehr zu Apex erfahren möchten, sehen Sie sich diese Module an: Apex – Grundlagen und Datenbank, Apex-Tests und Apex-Auslöser.

Die Vertrautheit mit Plattformereignissen hilft Ihnen auch, Ereignisse bei der Datenänderungserfassung zu verstehen, die eine besondere Art von Plattformereignissen darstellen. Obwohl für die Absolvierung dieses Moduls nicht erforderlich, empfehlen wir Ihnen auch das Modul Plattformereignisse – Grundlagen.

Was ist die Datenänderungserfassung?

Die Datenänderungserfassung ist ein Streaming-Produkt auf der Lightning-Plattform, mit dem Sie Ihre Salesforce-Daten effizient mit externen Systemen integrieren können. Mit der Datenänderungserfassung können Sie Änderungen an Salesforce-Datensätzen in Echtzeit empfangen und entsprechende Datensätze in einem externen Datenspeicher synchronisieren. Die Datenänderungserfassung veröffentlicht Ereignisse für Änderungen an Salesforce-Datensätzen, die Erstellungs-, Aktualisierungs-, Lösch- und Wiederherstellungsvorgängen entsprechen.

Nutzen Sie die Datenänderungserfassung, um Daten in einem externen System zu aktualisieren, anstatt regelmäßig Exporte oder API-Abfragen auszuführen. Durch die Erfassung von Änderungen mit Ereignisbenachrichtigungen aus der Datenänderungserfassung wird sichergestellt, dass Ihre externen Daten in Echtzeit aktualisiert werden und somit immer auf dem aktuellen Stand sind. 

Sie können sich die Datenänderungserfassung als Teil des Datenabgleichsprozesses in Echtzeit für die Cloud vorstellen. Der Datenabgleich umfasst die folgenden Phasen.

  1. Tag 0: Anfängliches Kopieren des gesamten Datensets in das externe System
  2. Laufende Synchronisierung neuer und geänderter Daten mit dem externen System
  3. Abgleich doppelter Daten zwischen den beiden Systemen

Die Datenänderungserfassung steht für die laufende Synchronisierung im Datenabgleichsprozess (Schritt 2). Mit anderen Worten: Die Datenänderungserfassung veröffentlicht die Unterschiede in den Salesforce-Daten, und zwar für neue wie für geänderte Datensätze. Die Datenänderungserfassung benötigt eine Integrationsanwendung für den Empfang von Ereignissen und Aktualisierungen im externen System. 

Was sind Streaming-Ereignisse, und welchen Zweck haben sie?

Streaming-Ereignisse sind Sofortbenachrichtigungen, die ein System (Publisher) an ein anderes (Abonnent) sendet. Mithilfe des Publisher-/Abonnentenmodells sendet die Datenänderungserfassung Benachrichtigungen an Abonnenten, sobald eine Datenänderung in Salesforce eintritt. Die Benachrichtigungen werden an den Ereignisbus gesendet, den Clients mit der Pub/Sub-API oder Apex-Auslösern abonnieren können. Ereignisorientierte Systeme rationalisieren die Kommunikation zwischen verteilten Unternehmenssystemen, erhöhen die Skalierbarkeit und liefern Echtzeitdaten. Die Verwendung einer ereignisgesteuerten Architektur zur Verbindung von Systemen ist effizienter als die Abfrage von Daten über APIs wie die SOAP API oder die REST API. Bei der Verwendung von APIs für den Abruf von Datenaktualisierungen vom Server hängt die Aktualität der Daten von der Abrufhäufigkeit ab. Darüber hinaus können Clients übermäßig viele Aufrufe durchführen und damit die Servergeschwindigkeit beeinträchtigen.

Skalieren von Integrationen mit einer ereignisorientierten Architektur

Wann sollte die Datenänderungserfassung verwendet werden?

Nehmen wir an, Sie verwenden ein ERP-System (Enterprise Resource Planning) zur Speicherung Ihrer Unternehmensdaten, in dem einige Ihrer Salesforce-Daten dupliziert sind. Um sicherzustellen, dass Ihre ERP-Daten auf dem neuesten Stand sind, können Sie Änderungsereignisse verwenden, um Änderungen an den Salesforce-Datensätzen in Ihrem ERP-System zu synchronisieren. Wenn sich beispielsweise Auftragsinformationen sowohl in Ihrem ERP-System als auch in Salesforce befinden, können Sie Auftragsänderungsereignisse von Salesforce an eine Integrationsanwendung streamen. Die Anwendung synchronisiert die Änderungen dann im ERP-System. 

Verwenden Sie Änderungsereignisse für folgende Zwecke:

  • Empfang von Benachrichtigungen über Salesforce-Datensatzänderungen einschließlich Erstellungs-, Aktualisierungs-, Lösch- und Wiederherstellungsvorgängen
  • Erfassen von Änderungen der meisten Felder für alle Datensätze
  • Abrufen von Informationen über die Änderung im Ereignis-Header, wie z. B. der Ursprung der Änderung, damit Sie von Ihrem Client verursachte Änderungen ignorieren können
  • Durchführen von Datenaktualisierungen mithilfe von Transaktionsbegrenzungen, wenn mehr als ein Vorgang Teil derselben Transaktion ist
  • Verwenden eines versionierten Ereignisschemas
  • Abonnieren von Massenänderungen mit Skalierbarkeit
  • Zugriff auf gespeicherte Ereignisse für bis zu drei Tage

Einzelheiten zu Änderungsereignisnachrichten einschließlich Header-Feldern werden in der nächsten Einheit behandelt.

Eine Beispiel-Integrationsanwendung

Robert Bullard ist Softwareentwickler bei Get Cloudy Consulting, einer High Tech-Beratungsfirma, die auf CRM-Implementierungen spezialisiert ist. Robert entwickelt momentan eine HR-Synchronisierungsanwendung für einen Kunden. Die Anwendung synchronisiert Datenänderungen in Salesforce-Datensätzen mit einem HR-System, das nicht Teil von Salesforce ist. Roberts Kunde erstellt und ändert einige seiner Personaldaten in Salesforce als benutzerdefinierte Objektdatensätze "Employee__c". Der Kunde möchte, dass die Mitarbeiterdaten im HR-System mit Salesforce synchronisiert werden.

Für Roberts Integrationsanwendung gelten folgende Anforderungen:

  • Jeder neue oder geänderte Datensatz des benutzerdefinierten Objekts "Employee" (Employee__c) soll im HR-Datenspeicher repliziert werden.
  • Alle Employee-Datensätze und alle ihre Felder sollen repliziert werden.
  • Die Replikation soll transaktionsbasiert sein. Wenn mehrere Änderungen in einer einzelnen Transaktion enthalten sind, sendet die Integrationsanwendung diese Änderungen als Teil einer Transaktion.
  • Wenn die Datenreplikation fehlschlägt, sollen die Replikationsvorgänge zu vergangenen Ereignisbenachrichtigungen, die drei Tage lang gespeichert werden, wiederaufgenommen werden.

Datensynchronisierung mithilfe der Datenänderungserfassung

Prozess zum Aktualisieren einer externen Datenbank von Salesforce aus mithilfe der Datenänderungserfassung

Nachdem er sich die unterschiedlichen Ereignis-Streaming-Möglichkeiten in Salesforce angesehen hat, entscheidet Robert, dass die Datenänderungserfassung die richtige Lösung ist. Wenn er mit seiner Anwendung den Kanal für das benutzerdefinierte Objekt "Employee" abonniert, empfängt die Anwendung Benachrichtigungen zu jeder Änderung mit allen geänderten Feldern. Die Anwendung prüft Header-Felder in der Benachrichtigung, um festzustellen, ob die Änderung sofort mit Commit gespeichert werden kann oder mit anderen Änderungen kombiniert werden sollte. Da Salesforce Änderungsereignisse bis zu drei Tage speichert, kann die Anwendung verpasste Benachrichtigungen abrufen. 

Ressourcen

Teilen Sie Ihr Trailhead-Feedback über die Salesforce-Hilfe.

Wir würden uns sehr freuen, von Ihren Erfahrungen mit Trailhead zu hören: Sie können jetzt jederzeit über die Salesforce-Hilfe auf das neue Feedback-Formular zugreifen.

Weitere Infos Weiter zu "Feedback teilen"