Salesforce Integration: Best Practices für eine erfolgreiche Anbindung

Was sind die verschiedenen Schichten der Salesforce-Architektur?

Salesforce ist eine Cloud-basierte Software-as-a-Service (SaaS)-Plattform, die Unternehmen dabei unterstützt, Kundenbeziehungen zu verwalten und zu verbessern. Die Plattform bietet eine Vielzahl von Anwendungen und Tools, die es Unternehmen ermöglichen, Kundenkontakte, Vertriebsprozesse, Marketingaktivitäten, Kundensupport und Analysen zu verwalten. Salesforce bietet eine breite Palette von Produkten und Dienstleistungen, einschließlich Customer-Relationship-Management (CRM)-Anwendungen, Marketing Automation, Analyse- und Business-Intelligence-Tools, E-Commerce-Plattformen und mobile Anwendungen. Salesforce bietet eine eigene Integrationsplattform MuleSoft an. Abstrahiert, lässt sich Salesforce in drei Architektur-Schichten aufteilen:
  • Die Präsentationsschicht stellt die Benutzeroberflächen für den Endbenutzer bereit (nicht in der unten gezeigten Abbildung enthalten).
  • Die Applikationsschicht enthält die Geschäftslogiken der unterschiedlichen Anwendungen (Salesforce Marketing Cloud, Salesforce CRM, Salesforce Service Cloud, etc.)
  • Die Daten- und Integrationsschicht umfasst alles, was für die Speicherung und Verwaltung von Daten erforderlich ist. Darüber bildet diese Schicht die Grundlage für alle Integrationsmöglichkeiten.

Die oben genannten Schichten lassen sich detaillierter in fünf spezifische Schichten aufteilen:

  1. Benutzerschnittstelle (Präsentationsschicht): Die Benutzerschnittstelle ist die oberste Schicht von Salesforce und umfasst die verschiedenen Benutzeroberflächen, die die Benutzer verwenden können, um auf die Daten und Funktionen von Salesforce zuzugreifen. Dies umfasst die webbasierte Benutzeroberfläche sowie die mobilen Anwendungen für iOS und Android.

  2. Anwendungslogik (Applikationsschicht ): Die Anwendungslogik umfasst die verschiedenen Regeln, Prozesse und Workflows, die auf der Salesforce-Plattform ausgeführt werden, um Geschäftsprozesse zu automatisieren und zu verwalten. Diese Schicht umfasst auch die Anpassung von Salesforce mithilfe von Apex-Code und dem Salesforce Lightning Framework.

  3. Datenbank (Daten- und Integrationsschicht): Die Datenbank ist die zentrale Komponente von Salesforce und speichert alle Daten, die in der Anwendung verwendet werden. Die Salesforce-Datenbank ist eine relationale Datenbank, die auf einer speziell angepassten Version von Oracle basiert.

  4. Integrationsschicht (Daten- und Integrationsschicht): Die Integrationsschicht umfasst die verschiedenen APIs und Tools, die es ermöglichen, Salesforce mit anderen Anwendungen und Systemen zu integrieren. Dies umfasst die Salesforce REST-API, SOAP-API, Bulk-API und Streaming-API sowie Tools wie Salesforce Connect und MuleSoft.

  5. Infrastrukturschicht (Daten- und Integrationsschicht): Die Infrastrukturschicht umfasst die verschiedenen Server und Datenzentren, auf denen Salesforce gehostet wird. Salesforce verwendet ein Multi-Tenant-Modell, bei dem mehrere Kunden auf einer gemeinsamen Infrastruktur gehostet werden. Salesforce setzt auf eine eigene Cloud-Infrastruktur auf, die auf die Bedürfnisse der Plattform zugeschnitten ist.

Welche technischen Anbindungsmöglichkeiten gibt es,
um Salesforce zu integrieren?

Salesforce kann, wie folgt, aus Integrationssicht angebunden werden:

  1. Salesforce REST API: Über die Rest-API kann mithilfe von HTTP-Anfragen mit Salesforce interagiert werden. Die REST-API ist synchron und bietet eine einfache Möglichkeit der Salesforce Anbindung. Sie ist der SOAP-API aufgrund der jüngeren Technologie vorzuziehen. Eine detaillierte Anbindung ist unter zu finden.

  2. Salesforce Bulk API: Die Bulk-API ist eine REST-basierte API, die den Zugriff auf Salesforce-Daten in großen Mengen ermöglicht. Die Bulk-API eignet sich gut für den Massenimport oder Export. Die asynchrone API sollte ab Größen von 2000 zu importierenden Datensätzen verwendet werden.

  3. Salesforce SOAP API: Die SOAP-API ist eine leistungsstarke Webservice-Schnittstelle, mit der über XML-basierte SOAP-Abfragen mit Salesforce interagiert werden kann. Die synchrone API sollte nur eingesetzt werden, wenn es die Anforderung des Kunden erfordert. Werden als Beispiel formale Regeln für Datenvalidierung und Fehlerbehandlung benötigt, ist die SOAP-API vorzuziehen. Wird lediglich eine einfach und schnelle Möglichkeit benötigt, ist die REST-API vorzuziehen.

  4. Salesforce Streaming API: Die Streaming-API ist eine Push-basierte API, die es ermöglicht, Echtzeitaktualisierungen auf Salesforce-Daten zu abonnieren. Die API ist asynchron und sollte verwendet werden, um eventbasiert auf Salesforce reagieren zu können.

Hier ist eine komplette Übersicht zu finden:

Darüber hinaus gibt es noch weitere APIs (wie GraphQL, APEX Rest API, …), die allerdings spezifische Szenarien abdecken. Diese sind unter “Which API Do I Use?” zu finden.
Die vier oben genannten API, decken den größten Teil, der für die Integration relevant ist, ab.

Von DATA Passion bereits implementierte Anbindungsmöglichkeiten

  • Streaming API

    Mittels der Streaming-API kann sich auf in Salesforce erstellte Events registriert werden, um diese bei Auslösung zu empfangen. Die Streaming-API bietet die Möglichkeit, mittels Push-Technologie (Pub-Sub-Prinzip) Ereignisse in “Echtzeit” zu empfangen. (weitere Informationen finden Sie auf unserem Blogbeitrag: Streaming API)

  • REST API
    Mittels der REST API kann auf Daten und Funktionen innerhalb Salesforce zugegriffen werden. (weitere Informationen finden Sie auf unserem Blogbeitrag: REST API)

Ja nach Projektanforderung können Streaming API und REST API kombiniert. Die Streaming API liefert zwar Payload von Objekten, sollten aber noch weitere Daten aus Salesforce während der Eventverarbeitung ausgelesen werden, werden diese über zusätzliche REST API Aufrufe abgerufen. Die REST API wird zum Schreiben nach Salesforce eingesetzt.

Was sind die allgemeinen Vorbereitungen und/oder Authentifizierungsmechanismen (optional)?

Damit externe Schnittstellen mit Salesforce via APIs und/oder Standardprotokollen kommunizieren können, muss eine Connected App in Salesforce erstellt werden.
Die anschließende Authentifizierung erfolgt über OAuth 2.0

Create a Connected App

  1. Log in to Salesforce as an administrator. In the drop-down list of the account (in the upper-right corner), select Setup.

  2. In the left-hand pane, go to Apps > App Manager.

  3. Click on the New Connected App (in the upper right corner).

  4. On the New Connected App page, fill the following required fields under Basic Information: Connected App Name, API Name and Contact Email.

  5. Go to API (Enable OAuth Settings), and select Enable OAuth Settings. In the Callback URL field, enter . In the Selected OAuth Scopes field, select Access and manage your data (api), Perform requests on your behalf at any time (refresh_token, offline_access), Provide access to your data via the Web (web), and then click Add.

  6. Click the Save button to save the new Connected App.

Adding a New Connected App

7. In the Connected Apps (Apps > App Manager) list, find the App that you just created, and then click Manage.

Manage created Connected App

8. On the page that opens, click the Edit button. Under OAuth policies, select All users may self-authorize in the Permitted Users list, and then click the Save button.

9. Go back to the Connected Apps (Apps > App Manager) list, and click the App that you just created, and then click on View.

View created Connected App

10. Go to API (Enable OAuth Settings), and note down the Consumer Key and Consumer Secret, which will be used for the configuration of Credential in Ballerina SFDC Integration.

 

(kopiert aus: Obtain Access & Refresh tokens from Salesforce REST API)

Sie haben Fragen oder möchten mehr über unsere Produkte und Dienstleistungen erfahren?
Kontaktieren Sie uns jetzt über unser Kontaktformular!

Data Passion Milen & Carsten
Data Passion Milen & Carsten
HABEN WIR
IHR INTERESSE
GEWECKT?
Schreiben Sie uns eine kurze E-Mail oder rufen Sie uns einfach an! Wir kümmern uns um Ihr Anliegen innerhalb der nächsten 24 Stunden.

Tel.: +49 (40) 6963816–0
Tel.: +49 (151) 1176898-0
E-Mail: [email protected]

Kontaktanfrage

Kontaktanfrage