Sie wollen Metadaten aus einer Salesforce Instanz sammeln und diese Daten für Ihre Integration nutzen? Die folgende dynamische Lösung versetzt Sie in die Lage, flexibel und effizient die Integration Ihrer Cloud durchzuführen. Neue Features können einfach und schnell in die Lösung integriert werden.

 

Was sind Metadaten?

Was sind Metadaten überhaupt? Christian Schneider, Teamleiter für den Bereich Data & Analytics, hat einen sehr spannenden Blogbeitrag über das Thema Metadaten verfasst. Gerne können Sie diesen Artikel über den nachfolgenden Link aufrufen. https://www.quinscape.de/allgemein/blog/metadaten-warum-sie-daten-ueber-ihre-daten-benoetigen/

Für unseren konkreten Fall sammeln wir alle Informationen über  die vorhandenen Tabellen und Felder aus Salesforce und speichern diese in unserer Integrationsdatenbank ab. Diese Informationen enthalten neben den Namen von Tabellen und Feldern auch weitere technische Informationen wie z.B. die Feldlänge.

Woher bekomme ich die Metadaten?

In Salesforce können Sie die Metadaten über eine eigene API beziehen. Darüber werden alle notwendigen Informationen über die auf der Instanz vorhandenen Objekte und Felder bereitgestellt. Diese Daten sollten auf Ihrer Datenbank für die spätere Verwendung in eine eigene Struktur überführt werden.  Mit der Talend Plattform können Sie hierfür einen eigenen Job entwickeln, der die Metadaten automatisch in Ihren eigenen Tabellen aktualisiert. Diese Tabellen können sinnvoll mit eigenen Konfigurationsparametern erweitert werden, um sich beispielsweise die letzte Ausführung zu merken. Damit könnten Sie ein Delta-Verfahren implementieren. Oder Sie fügen einen Parameter hinzu, um bestimmte Tabellen und Felder zu aktivieren bzw. deaktivieren.

Falls Sie keine Salesforce Cloud anbinden und stattdessen eine SQL Datenbank regelmäßig kopieren möchten, können Sie auch dies mit Metadaten entwickeln. Bei Datenbanken bietet sich das „Information Schema“ an, um die Metadaten zu sammeln.

Was mit den Metadaten machen?

Stellen Sie sich folgendes, nicht unrealistisches Szenario, vor: Sie binden eine Salesforce Instanz an und diese Instanz umfasst 250 Tabellen. Sie können alle 250 Tabellen in Ihrer Datenbank manuell anlegen und für jede dieser Tabelle einen Job / Subjob entwickeln, um die Daten in Ihr System zu übertragen. Wie lange werden Sie wohl allein für das Anlegen der Tabellen und Entwickeln der Jobs brauchen?
Ich bin der Meinung – zu lange!

Änderungen oder Erweiterungen können später dazu führen, dass alle entwickelten Jobs erneut geändert werden müssen. Der Aufwand, diese Integration zu testen, ist ebenfalls nicht unerheblich.  Machen Sie sich also die gesammelten Metadaten zunutze.

Auf Basis der Informationen über Tabellen und Felder, die Sie aus Salesforce heruntergeladen haben, stehen Ihnen wichtige Informationen zur Verfügung, um die Datenstrukturen in Ihrer Datenbank anzulegen. Damit haben Sie einen ersten großen Schritt gemacht, um die Daten aus der Cloud in Ihre Umgebung zu integrieren.  Benötigen Sie in Salesforce ein neues Objekt, das im Anschluss auch in der Integration genutzt werden soll, ist dies ebenfalls kein Problem. Sie aktualisieren die Metadaten und lassen das Datenmodell aktualisieren.

Sie wollen in Zukunft weitere Salesforce Instanzen anbinden, aber kennen das Datenmodell noch nicht? Kein Problem! Sie nehmen die vorhandene Entwicklung, konfigurieren die neuen Zugangsdaten und bekommen die Metadaten für die zusätzliche Salesforce Instanz ebenfalls in Ihr System geladen. Auch hier haben Sie – bis auf die Konfigurationen – keine neuen Aufwände.

Wie bekomme ich die Daten aus der Cloud?

Sie haben einiges über die Metadaten und das automatische Erstellen des Datenmodells gelesen. Jetzt laden Sie Daten aus der Salesforce Instanz in Ihre zuvor angelegten Tabellen. Die gesammelten Metadaten können natürlich auch für den Download der Daten aus Salesforce genutzt werden.

Mit Hilfe der Metadaten können Sie dynamische Abfragen erstellen. Diese Abfragen können sich pro Tabelle unterscheiden, und liefern Ihnen so die Kopie der Cloud in Ihr Datenbanksystem. Durch das dynamische Erzeugen der Abfragen ist es möglich, hunderte Objekte herunterzuladen, ohne einen Job verändern zu müssen. Alle notwendigen Einstellungen werden in den Daten vorgenommen. Durch neue Konfigurationsparameter kann die Logik für den Download erweitert werden. So besteht zum Beispiel die Möglichkeit, einige Objekte in Gruppen zu unterteilen und diese losgelöst von anderen Objekten häufiger herunterzuladen.

Die benötigten Tabellen und Felder werden in Zukunft weiter zunehmen. Der Ansatz, über Metadaten Daten herunterzuladen, versetzt Sie in die Lage, auf Änderungen in Ihrer Landschaft schnell zu reagieren und neue Funktionen in Rekordzeit bereitzustellen.

Verzichten Sie nicht auf dynamische Lösungen! Gerne stehen wir Ihnen für weitere Informationen zur Verfügung. Kontaktieren Sie Ihre Ansprechpartnerin Tanja Menke telefonisch unter der Rufnummer +49 231 533 831 259. Selbstverständlich können Sie uns auch per Mail erreichen. Schreiben Sie an: talend@quinscape.de