Was, wenn ich sage, dass Sie keine einzige Zeile programmieren müssen, um eine Integration auf Unternehmensebene durchzuführen? Ja, Sie haben richtig gehört. Bei Salesforce dreht sich alles um eine geringe Codierung, aber dennoch schreiben wir als Entwickler noch immer Code, um verschiedene Arten der Integration durchzuführen. In meinem ersten Blog bin ich auf den SKYVVA Data Loader gestoßen und habe ihn als Ersatz für den Salesforce Data Loader verwendet. SKYVVA bietet nicht nur das einfache Laden und Importieren von Daten, das wir vom Data Loader kennen. SKYVVA bietet mehr – eine komplexe, unternehmenstaugliche Integration, die mit dem reinen API-Ansatz kaum möglich ist. Es handelt sich um ein leistungsstarkes Werkzeug, das die Integration mit verschiedenen erweiterten Funktionen und ohne Coding ermöglicht.

Die Salesforce Standard-API

Lassen Sie uns zunächst verstehen, welche Standardmethoden für die Integration in Salesforce zur Verfügung stehen. Im Folgenden gebe ich einen kurzen Überblick über die verschiedenen API-Typen, die wir für die Integration und die Verwaltung von Salesforce-Organisationsdaten verwenden können. Für die vollständige API-Dokumentation verweisen Sie bitte auf die offizielle Salesforce-Hilfeseite.

Schauen wir uns die verschiedenen APIs an:

Salesforce API overview

Übersicht der Salesforce-API-Typen

REST API

Die REST API ist ein einfacher und leistungsstarker Web-Service, der auf RESTful-Prinzipien basiert. Sie stellt alle Salesforce-Funktionen über REST-Ressourcen und HTTP-Methoden bereit. So können Sie z. B. Datensätze erstellen, lesen, aktualisieren und löschen (CRUD), Daten suchen oder abfragen, Objekt-Metadaten abrufen und Informationen zu Limits in Ihrer Org abfragen. Die REST API unterstützt sowohl XML als auch JSON. Da die REST API ein leichtgewichtiges Anfrage- und Antwort-Framework hat und einfach zu bedienen ist, eignet sie sich hervorragend für die Entwicklung mobiler und Web-Apps.

SOAP API

Die SOAP API ist ein robuster und leistungsstarker Web-Service, der auf dem gleichnamigen Industriestandard-Protokoll basiert. Sie nutzt eine Web Services Description Language (WSDL)-Datei, um das Datenübertragungsformat streng zu definieren. Die SOAP API unterstützt mehr Salesforce-Funktionen als die REST API.

Bulk API

Die Bulk API ist eine spezialisierte RESTful-API zum gleichzeitigen Laden und Abfragen großer Datenmengen. Mit „groß" meinen wir 50.000 Datensätze oder mehr. Die Bulk API ist asynchron aufgebaut, d. h. Sie können Anfragen senden, ohne auf den Abschluss jeder einzelnen Operation zu warten.

Streaming API

Die Streaming API ist eine spezialisierte API zum Einrichten von Benachrichtigungen, die ausgelöst werden, wenn Änderungen an Ihren Daten vorgenommen werden. Sie nutzt ein Publish-Subscribe-Modell, bei dem Clients Kanäle (Topics) abonnieren können, über die Benachrichtigungen empfangen werden.

API-Limits

Die Gesamtlimits variieren je nach Org-Edition, Lizenztyp und erworbenen Erweiterungspaketen. Zum Beispiel hat eine Enterprise Edition standardmäßig 1.000 gleichzeitige API-Anfragen und 1.000.000 Anfragen pro 24 Stunden.

Welche API für welchen Anwendungsfall?

Die Wahl der richtigen API für Ihre Integrationsanforderungen ist eine wichtige Entscheidung. Hier finden Sie Informationen über die am häufigsten verwendeten APIs und deren Anwendungsfälle:

Wann REST API verwenden

Die REST API bietet eine leistungsstarke, praktische und einfache REST-basierte Web-Service-Schnittstelle für die Interaktion mit Salesforce. Sie können damit Datensätze erstellen, lesen, aktualisieren und löschen sowie Metadaten abrufen. Nutzen Sie die REST API, wenn Sie eine mobile App oder eine Web-App entwickeln und mit Salesforce interagieren möchten.

Wann SOAP API verwenden

Die SOAP API bietet eine leistungsstarke, praktische und einfache SOAP-basierte Web-Service-Schnittstelle für die Interaktion mit Salesforce. Sie können zum Beispiel die SOAP API verwenden, um Salesforce mit den ERP- und Finanzsystemen Ihrer Organisation zu integrieren. Sie können damit auch Daten synchronisieren, die täglich hinzugefügt oder geändert werden.

Wann Bulk API verwenden

Die Bulk API basiert auf REST-Prinzipien und ist auf das Laden oder Löschen großer Datenmengen optimiert. Sie können damit eine Abfrage auf Millionen von Datensätzen durchführen, Metadaten laden, transformieren und in Salesforce einfügen. Wenn Sie Bulk API über Datensätze in CSV-Dateien aktivieren, ist dies die einfachste Möglichkeit, Bulk API zu nutzen.

Wann Streaming API verwenden

Nutzen Sie die Streaming API, um nahezu in Echtzeit Datenströme zu empfangen, die auf Änderungen in Salesforce-Datensätzen oder benutzerdefinierten Payloads basieren. Wählen Sie den Streaming-Event-Typ, der Ihren Anforderungen entspricht:

  • Push Topic Event – Benachrichtigungen zu Salesforce-Datensatzänderungen basierend auf einer von Ihnen definierten SOQL-Abfrage.
  • Change Data Capture Event – Empfangen Sie Änderungen an Salesforce-Datensätzen mit allen geänderten Feldern.
  • Platform Event – Veröffentlichen und empfangen Sie benutzerdefinierte Payloads mit einem vordefinierten Schema.
  • Generic Event – Veröffentlichen und empfangen Sie beliebige Payloads ohne ein definiertes Schema.

Wesen der API und Hauptanwendungsfall

Nachdem wir die verschiedenen verfügbaren APIs für die Integration und ihre Anwendungsfälle kennengelernt haben, wollen wir nun tiefer in die Natur der Salesforce Standard-API einsteigen und uns ihren Hauptanwendungsfall ansehen.

Die Anwendung wurde in logische Einheiten zerlegt, die miteinander kommunizieren müssen, um die Geschäftsaufgabe zu erfüllen. Jede dieser Einheiten hat ihre eigene Schnittstelle, die vom Client aufgerufen wird, um die gewünschte Funktion zu erhalten.

Das Integrationsmuster

Wenn wir uns die verfügbaren Salesforce Standard-APIs ansehen (mit Ausnahme der Bulk API), stellen wir fest, dass sie im synchronen Kommunikationsmodus operieren. Dies führt zu zwei grundlegenden Integrationsmustern:

  • Tight Coupling (Enge Kopplung)
  • Loose Coupling (Lose Kopplung)

Das folgende Bild zeigt die beiden Muster:

Tight Coupling vs Loose Coupling

Tight Coupling vs. Loose Coupling – die zwei grundlegenden Integrationsmuster

Eine eng gekoppelte Integration ist eine, die eine abhängige Beziehung zwischen Salesforce und den Systemen schafft, mit denen es kommuniziert. Dies bedeutet, dass jede Änderung an einem System wahrscheinlich Änderungen am anderen erfordert.

Tight Coupling (Enge Kopplung)

Mit der Salesforce SOAP und REST API können Sie einfache sogenannte CRUD-Operationen mit den Daten durchführen, die synchron mit dem Client-Server-Muster zwischen Salesforce und einem externen System verarbeitet werden. Dieses Muster wird als Tight Coupling bezeichnet, weil der Client beim API-Aufruf blockiert wird, bis eine Antwort empfangen wird.

Aufgrund des dekomponierten Designs mit separaten funktionalen Einheiten im modernen Software-Design kann eine solche enge Kopplung Probleme verursachen. Die folgende Abbildung veranschaulicht die Herausforderungen:

Tight Coupling challenges

Herausforderungen bei der engen Kopplung (Tight Coupling)

Einige Überlegungen und Fakten, die bei der Planung einer synchronen Tight-Coupling-Architektur für Ihre Integration zu berücksichtigen sind:

  • Das Tight-Coupling-Modell sorgt für mehr gegenseitige Abhängigkeit zwischen den Integrationssystemen.
  • Es erfordert mehr Koordination zwischen zwei Systemen, da beide gleichermaßen miteinander koordinieren.
  • Der Aufrufer muss warten, bis die API fertig ist, was zur Blockierung des Senders führt.
  • Dieses Warten auf API-Callouts führt zu einer schlechten Benutzererfahrung und schlechter Leistung.
  • Der Client kann nicht alle seine Ressourcen nutzen, was zu Frustration führt.
  • Diese API folgt immer dem Ping-Pong-Muster zur Synchronisierung zwischen Aufrufer und Anbieter.

Auf der anderen Seite ist die Verwendung von Tight Coupling auch eine gültige Methode zur Integration, wenn Ihre Geschäftsfälle Echtzeit-Interaktion und sofortige Reaktion erfordern.

Loose Coupling (Lose Kopplung)

Heutzutage werden Anwendungen aus ihrer monolithischen Struktur in kleine, smarte und wartbare Einheiten aufgeteilt, die über Nachrichten miteinander kommunizieren. Das folgende Bild zeigt das asynchrone Kommunikationsmodell, das die Basis der losen Kopplung bildet:

Loose Coupling / asynchronous pattern

Lose Kopplung – asynchrones Kommunikationsmuster

Lose Kopplung folgt dem Prinzip des asynchronen Kommunikationsmusters. Stellen Sie sich vor, jemanden per Telefon anzurufen, während diese Person gerade beschäftigt ist. Statt zu warten bis die andere Person abnimmt, hinterlassen Sie eine Nachricht auf dem Anrufbeantworter. Die andere Partei ruft dann zurück, wenn es ihr passt. Lose Kopplung löst die Nachteile, die Sie mit dem Tight-Coupling-Muster haben. Es benötigt keine Begrenzung der Transaktionszeit oder Wartezeiten.

Es gibt viele großartige Bücher und Ressourcen im Internet, die Sie lesen können, um das Entwurfsprinzip der losen Kopplung genauer zu verstehen. Für den Zweck dieses Blogs möchte ich mich auf den pragmatischen Teil der Integrations-Herausforderungen konzentrieren.

Integration nur mit der API

Nachdem wir die zwei vorhandenen Ansätze und Muster für die Integration kennengelernt und verstanden haben, wollen wir uns nun einen tieferen Einblick in den reinen API-Integrationsansatz und dessen Grenzen verschaffen.

Das folgende Bild zeigt die Sicht bei einer Integration mit dem synchronen Muster, wobei die Salesforce Standard-SOAP/REST-API verwendet wird:

API-only integration architecture

Integrationsarchitektur mit reinem API-Ansatz

Es zeigt den Anwendungsfall mit einer SAP-Cloud-ERP-Anwendung als Client, die API verwendet, um Daten wie Account, Kontakt, Opportunities, Angebote und Aufträge zu synchronisieren.

Das Merkmal der Salesforce Standard-API ist, dass sie synchron arbeitet, was bedeutet, dass die Client-Anwendung wartet und blockiert wird, bis der API-Aufruf abgeschlossen ist:

Synchronous blocking API call

Synchrones, blockierendes API-Aufrufmuster

Ein weiterer Aspekt der Verwendung der Salesforce Standard-API ist, dass sie eine sehr einfache CRUD-Operationsfähigkeit bietet. In einem echten Enterprise-Integrationsszenario benötigen Sie jedoch Folgendes:

  • Nachrichtenüberwachung (Message Monitoring) für ein lückenloses Monitoring über alle Integrationsprozesse hinweg
  • Fehlerbehandlung und Wiederverarbeitung (Message Reprocessing) ohne manuelle Eingriffe
  • Alerting bei kritischen Fehlern in Echtzeit
  • Workflow-Orchestrierung und Transformationslogik
  • Batch-Scheduling und Stapelverarbeitung
Enterprise integration gap

Die Lücke zwischen API-Konnektivität und echter Enterprise-Integration

Wenn Sie sich das Bild oben ansehen, können Sie die fehlenden Lücken erkennen (die Löcher im obigen Bild), die eine Service-Schicht füllen muss. Diese fehlenden Teile können durch die einfache Salesforce Standard-API nicht bereitgestellt werden.

Warum Integration beide Muster braucht

Da Integrationsprobleme und -anwendungsfälle zu unterschiedlich sind, können wir nicht sagen, dass die enge oder lose Kopplung der einzige Ansatz für alle Situationen ist. Ein Ansatz und ein Architekturstil reicht nicht aus, um den heutigen Integrationsbedarf für das Salesforce-Ökosystem zu lösen.

Both integration patterns needed

Beide Integrationsmuster sind in einer Enterprise-Lösung notwendig

Wenn Sie ein unternehmenstaugliches Integrationsszenario entwerfen, müssen Sie die Vor- und Nachteile der beiden Muster berücksichtigen. Nachdem wir die Salesforce Standard-API, die zwei Integrationsmuster und den Bedarf beider Muster erklärt haben, ist es an der Zeit, Ihnen die SKYVVA-Lösung zu zeigen.

Der SKYVVA-Mehrwert, den wir in den folgenden Kapiteln vorstellen möchten:

  • Message Monitor – ein praktisches Tool für das Monitoring eingehender und ausgehender Nachrichten
  • Message Reprocessing – ermöglicht die Korrektur fehlerhafter eingehender Daten und die erneute Verarbeitung ohne den Sender-App-Entwickler zu benötigen
  • Alerting – vereinfacht Ihr Leben, indem Sie nicht aktiv und dauerhaft den Monitor beobachten müssen

Monitoring: Was tun, wenn etwas schiefläuft?

Lassen Sie uns mit einer Frage beginnen: Läuft Ihre Schnittstelle und Integration, die Sie entwickelt haben, immer reibungslos ohne Probleme? Nein! In der Realität werden Integrationssysteme und Systeme regelmäßig mit Datenproblemen konfrontiert, die eine Reaktion und Korrektur erfordern.

SKYVVA Message Monitor overview

SKYVVA Message Monitor – End-to-End-Überwachung aller Integrationsnachrichten

Mit SKYVVA haben Sie jetzt ein End-to-End-Monitoring, da die Nachrichten zu Überwachungszwecken im SKYVVA Service Layer aufbewahrt werden. Das bedeutet, dass Sie alle eingehenden und ausgehenden Nachrichten im SKYVVA Message Monitor sehen können.

Das folgende Bild zeigt ein Beispiel des Monitoring-Bildschirms, auf dem Sie verschiedene Optionen haben, um Nachrichten zu finden. Sie können zum Beispiel nach dem Interface-Namen filtern, um nur Nachrichten für eine bestimmte Schnittstelle zu sehen:

SKYVVA monitoring screen filters

SKYVVA Monitoring-Bildschirm mit verschiedenen Filteroptionen

Es bietet auch die Flexibilität, Ihre Integrationsdaten nach einem bestimmten Datum und einer bestimmten Uhrzeit zu überwachen. Sie müssen also nicht permanent anwesend sein, um die Integration zu überwachen.

SKYVVA message status filters

SKYVVA Nachrichtenstatus-Filter für detailliertes Monitoring

Je nach Verarbeitung stehen verschiedene Nachrichtenstatus-Filteroptionen zur Verfügung:

  • Completed – Wenn der API-Aufruf erfolgreich war und die Daten erfolgreich gesendet wurden.
  • Failed – Wenn die Daten gesendet wurden, aber aus einem Grund fehlgeschlagen sind, z. B. aufgrund einer Datentypinkonsistenz.
  • Pending – Wenn Ihre Daten vom Sender gesendet wurden, aber noch nicht in Salesforce übertragen wurden.
  • Canceled – Wenn Daten nach API-Aufrufen storniert wurden.

Fehler beheben mit Reprocessing

Stellen Sie sich ein Beispiel vor, bei dem Sie Ihre Verkaufsangebote und Aufträge aus einem ERP-System wie SAP für Ihre Vertriebsmitarbeiter nach Salesforce bringen müssen. Was passiert, wenn beim Eintreffen der Daten ein Datenfehler auftritt, z. B. ein falsches Datumsformat?

Was tun jetzt? Sie können Ihren Kollegen bitten, die Daten im SAP-System zu korrigieren und erneut zu senden. Was passiert, wenn in Ihrem Unternehmen eine Integrationsmiddleware eingesetzt wird, die die Datentransformation übernimmt? In diesem Fall müssen Sie auch den Middleware-Entwickler bitten, die Transformation zu korrigieren. Solche Szenarien und Anwendungsfälle passieren in der Realität und Sie benötigen eine Möglichkeit, die Korrektur und Wiederverarbeitung unabhängig durchzuführen.

Verwenden Sie den Message Monitor, um nach fehlgeschlagenen Nachrichten zu suchen, oder springen Sie direkt aus Ihrem E-Mail-Postfach, in dem Sie die Benachrichtigung erhalten haben:

SKYVVA reprocessing feature

SKYVVA Reprocessing-Funktion – fehlgeschlagene Nachrichten korrigieren und erneut verarbeiten

Nach der Identifizierung der fehlgeschlagenen Nachrichten können Sie die Daten direkt im SKYVVA Message Monitor bearbeiten und ohne externe Hilfe neu verarbeiten:

SKYVVA message edit and reprocess

Direktes Bearbeiten und Neuverarbeiten einer Nachricht in SKYVVA

Warum Alerting hilft

Wie Sie gesehen haben, ist eine zusätzliche Komponente zum Monitoring von Daten in Salesforce eine große Hilfe für Ihren täglichen Betrieb. Das Monitoring ermöglicht es Ihnen, aktiv nach Integrationsfehlern zu suchen. Was ist aber zu tun, wenn Sie keine Zeit haben, den Monitor zu beobachten, oder wenn das Problem mitten in der Nacht auftritt?

Mit der Alerting-Funktion können Sie Regeln definieren, die eine Benachrichtigung auslösen, wenn bestimmte Bedingungen erfüllt sind – zum Beispiel wenn eine bestimmte Anzahl von Nachrichten fehlgeschlagen ist:

SKYVVA alerting configuration

SKYVVA Alerting-Konfiguration für proaktive Fehlerbenachrichtigungen

Mit dieser Funktion hat die SKYVVA-Lösung den fehlenden Teil der Salesforce-Plattform in Bezug auf Alerting-Funktionalität hinzugefügt. Sie werden jetzt proaktiv über Probleme informiert, ohne aktiv nach ihnen suchen zu müssen.

Zusammenfassung

Sie haben das Ende dieses ausführlichen Blogs erreicht. Es gibt noch weitere Funktionen und Mehrwerte in SKYVVA, auf die ich in zukünftigen Blogs eingehen werde.

Wie Sie gesehen haben, ist es nicht die Frage ob Sie eine Integration mit den vorhandenen Salesforce Standard-APIs durchführen können oder nicht. Die Frage ist, ob die Standard-Salesforce-API ausreicht, um all das zu erfüllen, was eine echte, robuste, unternehmenstaugliche Integration erfordert. Was ist mit der Fehlerbehandlung einschließlich der Alerting-Funktionalität, die Sie für eine wirklich robuste Integration benötigen? Haben Sie all das, was für eine unternehmenstaugliche Integration der Klasse benötigt wird?

Finden Sie hier die neueste Release-Version und machen Sie den ersten Versuch mit dem kostenlosen Proof of Concept.

Bereit für eine native Salesforce-Integration?

Entdecken Sie, wie SKYVVA Ihre Systemlandschaft mit Salesforce verbindet – ohne Middleware, ohne Kompromisse.

Demo anfragen →
← Zurück zum Blog