Warum die dateibasierte CSV-Integration besser sein kann als die API-basierte Integration
Veröffentlicht: 2018-11-07Händler müssen oft große Datenmengen (z. B. Produktkataloge, Bestellungen oder Kundendaten) zur Verarbeitung oder Organisation von einem System in ein anderes verschieben. Das Problem ist, dass die Art und Weise, wie ein System Daten strukturiert und akzeptiert, möglicherweise nicht mit dem Zielsystem identisch ist. Wie übertragen und teilen Sie dann Daten zwischen Systemen (außer sie von Hand einzugeben)?
Viele verlassen sich auf eine Integration, die CSV-Dateien (Comma-Separated Values) verwendet, um Textdateien ihrer Daten zwischen Systemen zu exportieren und zu importieren. CSVs sind ein universeller Dateityp, den viele Systeme unterstützen und bei dem sich Händler wohlfühlen. Obwohl die Dateiintegration oft eine Integrationsoption ist, hat sie auch ihre Grenzen. Während Sie diesen Datenintegrationsansatz bewerten, befasst sich dieser Artikel mit der Frage, warum die dateibasierte Integration über CSV-Dateien besser sein kann als die API-basierte Integration.
Was ist Flatfile-Integration?
Bei dateibasierter Integration müssen entweder Ihre Quelldaten und/oder Ihre Zieldaten in einer Datei (wie einer CSV-Datei) dargestellt werden. Einige Systeme erfordern dies als Alternative zu einer API oder einer direkten Datenbankverbindung. Die dateibasierte Integration ermöglicht die Weitergabe von Daten zwischen verschiedenen Datenbanken oder Betriebssystemen, ohne unbedingt eine direkte Verbindung zu ihnen herstellen zu müssen.
Während die dateibasierte Integration verschiedene Dateitypen umfassen kann (z. B. XML, JSON), konzentriert sich dieser Artikel insbesondere auf die Integration von CSV-Dateien. Eine CSV-Datei kann nur eine einzige Datei enthalten, obwohl die dateibasierte Integration manchmal erfordert, dass Sie Elemente aus mehreren Dateien kombinieren. Sie werden als „abgeflachte“ Dateien bezeichnet, bei denen ein einzelner Datensatz über mehrere Zeilen hinweg definiert ist.
CSVs werden verwendet, um tabellarische Daten zu speichern. Das bedeutet, dass sie aus Programmen importiert und exportiert werden können, die Daten in Tabellen speichern, wie Microsoft Excel oder andere Tabellenkalkulationssoftware, um ein lesbares Format zu erhalten. Es ist jedoch wichtig zu beachten, dass CSVs keine Formeln oder Formatierungsfunktionen enthalten können, die Excel-Tabellen bieten. Wenn Sie ein Excel-Dokument als CSV-Datei speichern, werden all diese zusätzlichen Daten entfernt.
Händler nutzen die CSV-Dateiintegration seit Jahrzehnten erfolgreich, um Daten aus allen möglichen Gründen zwischen Systemen zu verschieben. In den letzten 10 bis 15 Jahren haben sich APIs jedoch als eine „modernere“ Möglichkeit herausgestellt, wie zwei Systeme miteinander kommunizieren oder sich integrieren können. Was ist der Unterschied?
API-Integration vs. CSV-Integrationsansatz
Eine API (Application Program Interface) ist ein Codesatz, der es zwei Softwareprogrammen ermöglicht, miteinander zu kommunizieren. Die API einer Software beschreibt eine standardmäßige, vorhersehbare Möglichkeit für einen Entwickler, ein Programm zu schreiben, das Dienste von einem anderen System oder einer anderen Anwendung anfordert.
Eine REST-API (REpresentational State Transfer) akzeptiert HTTP-Anforderungen für GET-, PUT-, POST- oder DELETE-Daten. REST repräsentiert einen Architekturstil und einen Kommunikationsansatz, der in den meisten modernen Webdienstentwicklungen verwendet wird. Daher wird es häufig verwendet, um APIs zu erstellen, die es Benutzern ermöglichen, sich mit Cloud-Diensten zu verbinden und mit ihnen zu interagieren.
SOAP (Simple Object Access Protocol) ist ein weiteres Protokoll, das zur Entwicklung von APIs verwendet wird. Es ist in neuen APIs weniger verbreitet als REST, erreicht aber im Grunde dasselbe.
Mit der API-Integration können Sie zwei Systeme verbinden, indem Sie Daten zwischen zwei Systemen über ihre APIs interpretieren und übersetzen. Es ermöglicht Datenflüsse wie „GET Product“ von einem bekannten API-Endpunkt in einem ERP und „PUT Product“ zu einem bekannten API-Endpunkt in einer E-Commerce-Plattform.
Obwohl die API-Integration ein modernerer Ansatz ist, ist sie nicht immer die richtige (oder mögliche) Lösung für Händler, die ihre Systeme integrieren möchten. Hier ist ein detaillierter Blick darauf, warum die dateibasierte Integration besser sein kann als die API-Integration.
Warum die dateibasierte Integration besser sein kann als die API-Integration
Es gibt Szenarien, in denen die CSV-Integration für Ihr Unternehmen am sinnvollsten ist. Nachfolgend finden Sie einige der Hauptvorteile dieses Systemintegrationsansatzes.
Systeme ohne APIs behalten und verbinden
Nicht alle Softwaresysteme verfügen über verfügbare APIs für die Integration. Dies ist häufig bei älterer „Legacy“-Software der Fall, aber auch bei modernen Systemen wie der E-Commerce-Plattform Salesforce Commerce Cloud (Demandware). Die Integration mit diesen Systemen muss ohne die Verwendung von APIs erfolgen, was bedeutet, dass Ihre beste Option möglicherweise eine dateibasierte Integration ist.
Die meisten Systeme akzeptieren zumindest CSV über einen manuellen Importprozess, unabhängig vom Alter der Software. Einige (wiederum, wie Salesforce Commerce Cloud) bieten die Möglichkeit, den CSV-Import zu automatisieren, indem sie auf einen SFTP-Server verweisen.
Es ist wichtig zu beachten, dass viele Händler diesen Integrationsansatz verwenden werden, anstatt manchmal kostspielige Projekte zu übernehmen, um diese API-losen Systeme zu aktualisieren oder zu ersetzen.
Nicht proprietär
CSV-Dateien sind nicht Eigentum eines bestimmten Softwareanbieters. Das Erstellen und Freigeben einer CSV-Datei ist eine allgemeine Methode zum Umgang mit Daten. Dies macht es einfach, mit Menschen und Systemen zu interagieren und sie gemeinsam zu nutzen. Sie können CSVs erstellen, indem Sie Excel oder eine andere Tabellenkalkulationssoftware nutzen, und die meisten Menschen sind damit vertraut. Unabhängig von der spezifischen Software, die Sie verwenden, ist das Importieren und Exportieren einer CSV-Datei nicht spezifisch für diese Software oder Marke.
Einfacheres Erstellen von Dateien
Da CSVs reine Textdateien sind, ist es für einen Webentwickler oder andere Mitglieder Ihres Teams einfacher, die Daten als Tabellenkalkulation zu erstellen, anzuzeigen und zu validieren. Alles, was Sie brauchen, ist eine Kopfzeile oben und nachfolgende Datenzeilen. Sie können die Daten bearbeiten, um sie nach Bedarf zu organisieren. Es ist dann einfach, diese Daten über verschiedene Systeme hinweg zu teilen.
Es gibt keine hierarchische Beziehung zwischen Daten, es sei denn, Sie stellen diese Hierarchie künstlich mit mehreren CSV-Dateien dar. Wenn Sie dies tun müssen, wird die CSV-basierte Integration komplexer.
Häufige Beispiele für CSV-Dateien, die Händler erstellen können, sind Preisblätter, Kundenlisten, Produktdaten, Bestelldaten und Rabatte, die sie zwischen ihrem E-Commerce- und ERP- oder POS-System austauschen können.
Standardkommunikation zwischen mehreren Quellen
CSV-Dateien sind auch eine Standardmethode zum Kommunizieren von Daten, was sie zu einem großartigen Werkzeug zum Sammeln und Kompilieren von Daten aus mehreren Quellen oder Systemen macht. Während das Format der Daten (welche Spalten in welcher Reihenfolge) wahrscheinlich variieren wird, ist eine CSV ein etablierter, fast universell unterstützter Dateityp.
Sie könnten beispielsweise Produktkataloge von einer Handvoll verschiedener Lieferanten sammeln. Unabhängig davon, welches System sie verwenden, um ihre Produktdaten zu verwalten, sollten sie in der Lage sein, eine CSV-Datei aller ihrer Produktdaten zu exportieren. Sie können diese CSV-Datei dann abrufen und in Ihr System importieren. Sie müssen sich keine Gedanken über die direkte Integration in ihr System machen. Möglicherweise haben Sie aus Sicherheitsgründen oder anderen Gründen nicht einmal eine direkte API-Integration als Option.
Einschränkungen der dateibasierten Integration
Dieser Integrationsansatz hat Nachteile, die Sie berücksichtigen sollten, insbesondere wenn Sie diesen Ansatz mit einer Alternative wie der API-basierten Integration vergleichen.
Sicherheitsverantwortlichkeiten
Bei der Automatisierung von CSV-Dateiübertragungen legen Sie im Wesentlichen eine Datei auf einem Server ab, die dann von einem anderen System abgerufen wird. Wer wartet die Server? Wie schützen Sie Ihre Daten während dieses Prozesses?
Bei der dateibasierten Integration müssen Händler anders über Sicherheit nachdenken. Während Sie möchten, dass Ihre Daten während der gesamten Übertragung sicher sind, dürfen Sie den Zugriff auch nicht zu schwierig machen. Andernfalls wird es sehr schwierig, mit anderen Geschäftssystemen zu kommunizieren. Es liegt in Ihrer Verantwortung, dieses Gleichgewicht zu finden und sicherzustellen, dass alle Personen (und nicht mehr) bei Bedarf auf diese Dateien zugreifen können.
Batch-Synchronisierung
Bei der Integration von Systemen wünschen sich die meisten Händler eine Echtzeit- oder sofortige Synchronisierung ihrer Daten zwischen den Systemen.
Dies wäre besonders wichtig für Daten wie E-Commerce-Artikel mit sich schnell ändernder Lagerverfügbarkeit oder Bestellungen, die für einen zweitägigen Versand ausgeführt werden müssen. Sobald eine Bestellung online aufgegeben wird, möchten Sie diese Bestandsmenge über alle Ihre Vertriebskanäle hinweg reduzieren und mit der Auftragsabwicklung beginnen. Verzögerungen bei dieser Synchronisierung, selbst nur 30 Minuten, können während Spitzenverkaufszeiten wie Flash-Verkäufen oder Feiertagen zu Überverkäufen führen. Sie können auch die Auftragserfüllung verlangsamen und dazu führen, dass Sie garantierte Liefertermine verpassen. Ihr Kunde leidet unter den Folgen.
Die meisten CSV-Dateiintegrationen können standardmäßig nicht sofort synchronisiert werden. Dies liegt daran, dass es nicht wirklich möglich ist, ständig neue Zeilen in eine CSV zu schreiben, während ein anderes System ständig neue Zeilen aus der CSV liest. Sie müssen eine Reihe von Zeilen in eine Datei schreiben, diese Datei zum Abholen löschen und dann eine neue Datei beginnen.
Das bedeutet, ob Ihre Regeln zum Starten einer neuen Datei „Anzahl der Zeilen“ oder „Zeitraum“ sind, es wird eine Art Verzögerung im Prozess geben.
Stellen Sie sich die Integration von CSV-Dateien anders vor: Sie erhalten keine E-Mails auf Abruf, da sie so kommen, als würde eine E-Mail ankommen. Einmal am Tag erhalten Sie möglicherweise einen Stapel Briefe, und Sie versenden sie auch als Stapel.
Umgang mit komplexen Datenstrukturen
Während die flache Dateistruktur einer CSV-Datei ein Vorteil sein kann, kann sie auch ihr Nachteil sein. CSV-Daten sind vom Design her weder hierarchisch noch objektorientiert, was bedeutet, dass sie eine allgegenwärtige Struktur haben. Für einige Händler ist dies ein Problem, wenn Sie mehrere Datenebenen haben, die miteinander in Beziehung stehen. Denken Sie darüber nach, wie Sie Bestellungen mit mehreren Werbebuchungen oder einem Produkt darstellen müssten, das in mehreren Größen oder Farben erhältlich ist.
Am Ende erstellen Sie mehrere CSV-Dateien, um zu versuchen, diese Beziehung zwischen Ihren Daten darzustellen. Es kann eine Herausforderung sein, große Datensätze zu verwalten und zu organisieren.
Validierung von Daten
Ein entscheidender Schritt bei der Systemintegration ist die Validierung der übertragenen Daten. Sie möchten keine ungenauen oder fehlerhaften Daten an ein anderes System senden, zumal dies zu „ungültigen“ Fehlern führen kann. Mit der CSV-Dateiintegration ist die Datenvalidierung ein manueller Prozess für die Benutzer.
Wenn Sie es mit mehreren CSVs mit Hunderten von Datenzeilen zu tun haben, wird die Validierung schwierig zu verwalten. Sie werden nicht einfach in der Lage sein, zu „begehren“, dass alles in Ordnung zu sein scheint, um es zu senden. Stattdessen verlassen sich Benutzer auf in Excel geschriebene Formeln oder Makros, um Zellen hervorzuheben, wenn sie falsch liegen. Dann müssen Sie manuell eingreifen, um Fehler zu beheben. Dieser Prozess ist zeitaufwändig und bei der Sichtung großer Datenmengen fehlerhaft.
In einigen Fällen bietet das System, in das Sie die CSV-Daten laden, möglicherweise eine Datenvalidierung für die importierte CSV-Datei, aber dies hat auch Nachteile. Das Vorhandensein und die Robustheit dieser Funktionen ist nicht von Plattform zu Plattform konsistent. Und oft verwalten sie die Importtransaktion bei einem Fehler nicht gut. Das könnte bedeuten, dass, wenn eine Zeile von 100.000 falsch ist, der gesamte Import fehlschlagen könnte.
Wiederherstellung nach Fehlern während der Datenübertragung
Die CSV-Dateiintegration basiert auf dem Ablegen und Aufnehmen von Dateien auf Servern. Während dieses Prozesses kann viel schief gehen, z. B. wenn die Datei beschädigt wird oder der Server oder das Dateisystem ausfällt. Es gibt normalerweise auch keine Prüfungen auf ungültige Zeichen, fehlende Datenbeschreibungen oder andere Probleme mit Dateiinhalten. Was passiert, wenn Sie eine Datei mit diesen Problemen senden? Wie wollen Sie es beheben?
Verwalten von Rechenressourcen für die Datenverarbeitung
Je nachdem, wie der Code zur Integration Ihrer Systeme geschrieben ist, kann die dateibasierte Integration viel CPU und RAM beanspruchen, um große Datensätze über mehrere Dateien hinweg zu lesen.
Probleme mit der Zeichencodierung
Jedes System hat seinen eigenen Standard für die Codierung von Zeichen, zum Beispiel UTF-8. Beim Freigeben von Textdateien (wie CSV) müssen Händler berücksichtigen, dass die Dateien dieselben Codierungszeichen verwenden müssen. Andernfalls kann eine Ihrer CSV-Dateien abgelehnt werden oder die Daten erscheinen möglicherweise falsch, da das System Ihre Zeichen nicht richtig lesen kann. Beispielsweise ist das Zielsystem möglicherweise nicht in der Lage, spezielle Apostrophe oder Sonderzeichen für asiatische Sprachen zu lesen.
Erfahren Sie mehr über die CSV-Integration
Händler haben Optionen, wenn es um die Integration ihrer Systeme geht. Und für viele kann die dateibasierte Integration über CSVs die richtige Option sein. Dieser Integrationsansatz ist jedoch nicht ohne Nachteile, die Sie berücksichtigen sollten.
Wenn Sie mehr darüber erfahren möchten, wie Sie Ihr Unternehmen durch dateibasierte Integration automatisieren können, erfahren Sie mehr über die Dateiübertragungslösung von nChannel, die darauf ausgelegt ist, alle in diesem Dokument beschriebenen Herausforderungen direkt anzugehen.