Unter einem Feed kann man sich eine Liste mit Daten vorstellen. Diese ist meist für die maschinelle Verarbeitung angefertigt, um zum Beispiel Produktinformationen zwischen mehreren Unternehmen abzugleichen. Doch aus welchen Gründen empfehlen wir, die Verwendung von Feeds zu meiden, und welche Alternativen gibt es? Mit dieser Frage beschäftigt sich dieser Artikel.
Einordnung zum Thema (Audio 🎧)
Was sind die Anwendungszwecke
Feeds werden in vielen Fällen zur Kommunikation zwischen Firmen verwendet. Zu den Daten, die untereinander ausgetauscht werden, gehören zum Beispiel Lieferkosten, Produktinformationen, Produktionskapazitäten und Ähnliches.
Stellt man sich ein Unternehmen vor, das Produkte in Deutschland herstellt, diese über ein Partnerunternehmen in den Niederlanden exportiert, aus China die benötigten Ressourcen importiert und die Waren schließlich in Großbritannien verkauft, so ist der Bedarf an Datenaustausch zwischen den Partnern zwingend notwendig bzw. unabdingbar.
In diesem Beispiel stellt die Produktionsstätte einen Feed mit allen Produkten und deren Preisen bereit. Allerdings bleibt es nicht bei einem Feed, da der Vertrieb ebenfalls einen Feed mit Bestellungen zur Verfügung stellt. Basierend auf dem Abgleich dieser beiden Feeds muss der Importeur die Rohstoffe liefern. Ein regelmäßiger Import der Datenquellen findet nun beispielsweise jeden Tag um 8:00 Uhr statt. Es ist jedoch möglich, dass der Importeur erst um 10:00 Uhr Preisänderungen in seinem Feed darstellt und der Vertrieb noch vom alten Stand ausgeht. Die Frequenz der Datenimporte bestimmt also, wann Änderungen überhaupt kommuniziert werden können.
Vor- und Nachteile
Die Nutzung von Feeds stellt auf der Seite des Erstellers kaum technische Schwierigkeiten dar, denn im Endeffekt muss nur eine komplette Liste mit Daten veröffentlicht und aktualisiert werden, sobald etwas geändert wurde. Doch gerade dieser Vorteil kommt mit einem faden Beigeschmack, da der Anwender nun umso größere Probleme hat, stets auf dem neuesten Stand zu sein.
Der Feed muss in einem gewissen Intervall aktualisiert werden, zum Beispiel alle 10 Sekunden. Wenn allerdings immer die neue Liste mit der alten verglichen werden muss und beide Listen immer größer werden, zum Beispiel im Fall von Produktinformationen, führt dies irgendwann zu einer Verzögerung und Verlängerung des Intervalls. Die frischen Daten hängen also hinterher, da die alten noch abgearbeitet werden müssen, oder kommen aufgrund der verschobenen Aktualisierung zu spät an.
Alternativen
Die am häufigsten eingesetzte Alternative zu Feeds sind sogenannte ereignisbasierte Systeme. Diese kann man sich wie Benachrichtigungen bei Änderungen vorstellen. Man unterscheidet zwischen Publishern, also Diensten, die veröffentlichen, und Subscribern, also denen, die Daten empfangen.
Wenn man sich das oben genannte Beispiel mit Events vorstellt, würde der Importeur nach seiner Preisänderung ein Event an alle senden, in dem die neuen Produktinformationen enthalten sind. Darauf könnte der Hersteller reagieren und ein weiteres Event an den Vertrieb senden, in dem er die Preisänderung mitteilt und die Kosten der betroffenen Ware anpasst.
Anstatt die gesamte Liste erneut zu senden, wird also nur ein einzelner Aspekt verändert, und diese Veränderung wird allen anderen mitgeteilt. Die Reaktionszeit auf Änderungen wird dadurch von Stunden oder Tagen auf Millisekunden reduziert.
Es ist übrigens auch möglich, einen Feed von Änderungen zur Verfügung zu stellen, also eine Liste der letzten Ereignisse. Dies hat den Vorteil, dass verloren gegangene Ereignisse nachgeholt werden können. In Verbindung mit einem Filter nach Zeit, also „Alle Ereignisse seit …“, entsteht ein robustes System zum Datenaustausch mit Partnern.
Fazit
Die Nutzung von Feeds ist heutzutage eher ein Hindernis bei der Erstellung einer funktionierenden, optimierten und skalierbaren¹ Infrastruktur. Es besteht keinerlei Zwang, diese veraltete Technik zu verwenden. Die Alternativen sind bereits weit verbreitet und überzeugen in allen Kategorien wie Benutzbarkeit und Effizienz.