Zum Hauptinhalt springen

Apache StreamPipes: Architektur, Funktionen und Einsatz

Apache StreamPipes ist eine Open-Source-Plattform, mit der Unternehmen industrielle Datenströme verbinden, strukturieren, in Echtzeit verarbeiten, speichern und visualisieren können. Die Plattform richtet sich sowohl an Fachanwender, die Datenflüsse über eine grafische Oberfläche konfigurieren, als auch an Entwicklungsteams, die eigene Adapter, Prozessoren und Anwendungen ergänzen.

Seit 2023 ist Apache StreamPipes ein Top-Level-Projekt der Apache Software Foundation. Damit werden Quellcode, Releases und Projektentscheidungen nach den Regeln einer unabhängigen Open-Source-Community verwaltet. Bytefabrik hat StreamPipes initiiert und wirkt weiterhin maßgeblich an der Entwicklung mit.

Was ist Apache StreamPipes?

StreamPipes bildet einen durchgängigen Arbeitsablauf für industrielle Ereignisdaten ab:

  1. Verbinden: Adapter lesen Daten aus Maschinen, Steuerungen, Brokern, Dateien oder Softwaresystemen.
  2. Strukturieren: Eingehende Ereignisse werden geprüft, beschrieben und bei Bedarf harmonisiert.
  3. Verarbeiten: Pipelines filtern, transformieren, kombinieren oder analysieren laufende Datenströme.
  4. Nutzen: Ergebnisse werden gespeichert, visualisiert, an Drittsysteme weitergeleitet oder für Anwendungen bereitgestellt.

Die Bausteine lassen sich über eine webbasierte Oberfläche konfigurieren. Wiederkehrende Aufgaben benötigen dadurch nicht für jede Datenquelle einen neuen, individuell entwickelten Integrationsdienst.

Die wichtigsten Bausteine

Adapter und Datenströme

Adapter stellen die Verbindung zur Datenquelle her. Unterstützte Integrationen umfassen unter anderem OPC UA, MQTT, Apache Kafka sowie über Apache PLC4X angebundene Industrieprotokolle wie S7 oder Modbus. Entscheidend ist nicht nur der Transport: Beim Anlegen eines Adapters können Anwender Beispieldaten prüfen, Felder beschreiben und das resultierende Ereignisschema festlegen.

Der veröffentlichte Datenstrom bildet anschließend eine wiederverwendbare Schnittstelle für Pipelines, Speicherung und Visualisierung. Quellspezifische Details werden so von der weiteren Nutzung getrennt.

Pipelines und Stream Processing

Eine Pipeline verbindet einen oder mehrere Datenströme mit Prozessoren und Datensenken. Typische Schritte sind:

  • Werte filtern und Schwellen überwachen;
  • Felder umbenennen, berechnen oder mit Kontext anreichern;
  • Einheiten und Zeitstempel vereinheitlichen;
  • Ereignisse zusammenführen oder zeitlich aggregieren;
  • Ergebnisse speichern, weiterleiten oder als Benachrichtigung ausgeben.

Pipelines eignen sich für kontinuierliche Logik auf Live-Daten. Umfangreiche historische Analysen oder domänenspezifische Produktionsmodelle benötigen häufig zusätzliche Datenmodelle und Anwendungen.

Historische Daten und Visualisierung

Ereignisse können als Datensätze persistiert und anschließend in Diagrammen und Dashboards untersucht werden. Damit lassen sich erste Live-Ansichten und historische Auswertungen auf derselben Datenbasis erstellen. Für produktionsweite Kennzahlen müssen Rohsignale zuvor jedoch fachlich eingeordnet werden – beispielsweise als Maschinenzustand, Produktionsereignis oder Prozessmessung.

Assets und fachlicher Kontext

Ein Asset-Modell ordnet Datenquellen und Ressourcen realen Strukturen wie Standorten, Linien oder Maschinen zu. Diese Zuordnung ist wichtig, sobald Installationen über einen einzelnen Pilot hinauswachsen: Nutzer müssen Daten nach Anlagenkontext finden und Konfigurationen auf vergleichbare Maschinen übertragen können.

Erweiterungen und APIs

Eigene Adapter, Datenprozessoren und Datensenken lassen sich als Erweiterungen ergänzen. Dafür stellt das Projekt Werkzeuge für Java, Python und TypeScript sowie Client-Bibliotheken und eine REST-Schnittstelle bereit. Proprietäre Maschinenprotokolle oder unternehmensspezifische Algorithmen können so integriert werden, ohne den Plattformkern zu verändern.

Typische Einsatzfelder

Maschinen- und Sensordaten erschließen

StreamPipes kann heterogene Datenquellen über eine gemeinsame Oberfläche anbinden und ihre Ereignisse in ein verständliches Schema überführen. Das eignet sich als Ausgangspunkt für Retrofit-Projekte, Maschinenparks mit verschiedenen Steuerungsgenerationen oder einen schrittweisen IIoT-Aufbau.

Live-Monitoring und Benachrichtigungen

Pipelines können relevante Zustände erkennen und Ergebnisse direkt in Dashboards, externe Systeme oder Benachrichtigungskanäle übergeben. Beispiele sind Grenzwertverletzungen, ungewöhnliche Ereignisraten oder fehlende Aktualisierungen einer Quelle.

Industrielle Datenvorverarbeitung

Bevor Daten in einen Data Lake, Historian oder eine Fachanwendung gelangen, können sie gefiltert, normalisiert und mit Metadaten angereichert werden. Dadurch erhalten nachgelagerte Systeme eine stabilere und besser beschriebene Schnittstelle.

Pilotierung neuer Datenanwendungen

Durch vorhandene Adapter, Pipelines und Visualisierungen können Teams eine Datenquelle schnell prüfen und erste Hypothesen testen. Ein erfolgreicher Pilot sollte anschließend um Betrieb, Berechtigungen, Datenmodelle und Wiederverwendung ergänzt werden.

Grundlage für individuelle IIoT-Anwendungen

Über APIs, gespeicherte Datensätze und Datenströme können eigene Anwendungen auf der Plattform aufbauen. StreamPipes übernimmt dann wiederkehrende Aufgaben wie Konnektivität und Ereignisverarbeitung, während die Anwendung die domänenspezifische Nutzerführung abbildet.

Was StreamPipes ersetzt – und was nicht

StreamPipes deckt mehrere Aufgaben ab, die andernfalls auf einzelne Integrations- und Analysewerkzeuge verteilt wären. Trotzdem ist die Plattform nicht automatisch Ersatz für jedes vorhandene System.

System oder WerkzeugAbgrenzung zu Apache StreamPipes
MQTT- oder Kafka-BrokerTransportiert Nachrichten zuverlässig; StreamPipes ergänzt Adapter, Schemas, Verarbeitung, Speicherung und Bedienoberflächen.
SPS, HMI oder SCADASteuert und bedient die Anlage; StreamPipes nutzt freigegebene Daten für übergreifende Verarbeitung und Analyse.
HistorianIst auf langfristige Speicherung und Abfrage von Prozesswerten spezialisiert; kann Datenquelle, Zielsystem oder ergänzender Speicher sein.
Node-REDEignet sich für visuelle Integrationsflüsse; StreamPipes fokussiert einen gemeinsamen Lebenszyklus industrieller Datenströme, Assets, Pipelines und Analyse.
MESPlant und dokumentiert Produktionsausführung; liefert Auftrags- und Produktkontext oder nutzt aufbereitete Maschinendaten.
BI-PlattformErstellt Berichte auf aufbereiteten Daten; StreamPipes kann die operative Datenerfassung und Vorverarbeitung bereitstellen.

Die sinnvolle Rolle hängt von der Zielarchitektur ab. Häufig ergänzt StreamPipes vorhandene Broker, Historian-, MES- oder BI-Systeme, statt sie vollständig zu ersetzen.

Deployment und produktiver Betrieb

Für lokale Tests und kleinere Installationen stehen containerbasierte Setups mit Docker Compose zur Verfügung. Für clusterbasierte Umgebungen unterstützt das Projekt Kubernetes. Die technische Installation ist jedoch nur ein Teil eines produktiven Betriebs.

Beispieldeployment: OT enthält Maschinen und einen Adapter-Extension-Service. IT enthält Core und UI, Message Broker, einen Extension-Service für Prozessoren und Senken sowie historische Daten und Metadaten. OT-Ereignisse fließen zum IT-Broker; Management verbindet Core und Extension Services. Netzverbindungen sind schematisch, keine Firewall-Regeln.
Beispiel einer verteilten Installation: Adapter laufen nahe an den Maschinen, Broker, Verarbeitung und Speicherung in der zentralen IT. Die Pfeile zeigen fachliche Flüsse, keine Firewall-Regeln. Grafik in voller Größe öffnen (neuer Tab)

Vor einem Rollout sollten Teams insbesondere klären:

  • in welchem Netzsegment Adapter, Broker, Verarbeitung und Speicher laufen;
  • wie Zertifikate, Zugangsdaten, Rollen und externe Zugriffe verwaltet werden;
  • welche Datenraten, Aufbewahrungszeiten und Abfragen dimensioniert werden müssen;
  • wie Monitoring, Backups, Updates und Wiederherstellung funktionieren;
  • wer Datenquellen, Schemas, Pipelines und Erweiterungen fachlich verantwortet;
  • wie Konfigurationen zwischen Entwicklung, Test und Produktion übertragen werden.

Ein Pilot kann auf einem einzelnen Host starten. Für die Skalierung sind aber Betriebsmodell und Governance ebenso wichtig wie zusätzliche Rechenleistung.

Open Source und kommerzielle Erweiterungen

Apache StreamPipes ist unter der Apache License 2.0 verfügbar. Unternehmen können den Quellcode prüfen, selbst betreiben und eigene Erweiterungen entwickeln. Open Source bedeutet dabei nicht automatisch, dass Einführung und Betrieb ohne Aufwand erfolgen: Konnektivität, Security, Datenmodellierung, Wartung und Nutzerbefähigung bleiben reale Aufgaben.

Die Bytefabrik-Produkte im Vergleich bauen auf dieser offenen Basis auf und ergänzen sie um produktionsorientierte Anwendungen, weiterführende Analysen, KI-Funktionen und einen betreuten Weg in den Betrieb. Welche Ebene sinnvoll ist, hängt vom Ziel ab:

  • Apache StreamPipes: passend für Teams, die eine offene IIoT-Basis selbst evaluieren, erweitern und betreiben möchten.
  • IoT Data Hub: passend, wenn eine betreute Datenplattform mit zusätzlichen Betriebs-, Governance- und Integrationsfunktionen benötigt wird.
  • Manufacturing Insights: passend, wenn Produktionsverluste, Zustände, Meldungen und Prozesse mit fertigen Analyseabläufen untersucht werden sollen.

Ein sinnvoller Einstieg

1. Eine konkrete Datenquelle auswählen

Beginnen Sie mit einer Maschine, einem Broker oder einer vorhandenen Testquelle. Dokumentieren Sie Protokoll, Netzweg, Ereignisrate und benötigte Zugangsdaten.

2. Ein überprüfbares Ergebnis definieren

Ein erster Erfolg kann ein stabiler Datenstrom, ein persistierter Datensatz oder ein Dashboard für wenige relevante Werte sein. Das Ergebnis sollte innerhalb kurzer Zeit durch einen Fachanwender bewertet werden können.

3. Schema und Datenqualität prüfen

Kontrollieren Sie Zeitstempel, Einheiten, Datentypen, fehlende Werte und das Verhalten bei Verbindungsunterbrechungen. Diese Prüfung verhindert, dass technische Fehler später als fachliche Auffälligkeiten erscheinen.

4. Verarbeitung als wiederverwendbare Pipeline aufbauen

Trennen Sie quellspezifische Bereinigung von fachlicher Logik. Benennen Sie Datenströme und Felder konsistent, damit weitere Anwendungen darauf aufbauen können.

5. Den Produktionsbetrieb planen

Ergänzen Sie Rechte, Monitoring, Backups, Updateprozesse und Verantwortlichkeiten, bevor dieselbe Lösung auf weitere Maschinen oder Standorte übertragen wird.

Checkliste zur Bewertung

  • Sind die tatsächlich benötigten Protokolle und Quellen abgedeckt?
  • Können Ereignisschema, Einheiten und Metadaten sauber beschrieben werden?
  • Reichen die vorhandenen Pipeline-Elemente aus oder sind eigene Erweiterungen nötig?
  • Werden Live-Verarbeitung, Historie und Visualisierung in der benötigten Form unterstützt?
  • Passt das Deployment zu OT-Netz, Security und Betriebsorganisation?
  • Lassen sich Konfigurationen und Datenmodelle auf weitere Anlagen übertragen?
  • Sind Fähigkeiten und Verantwortlichkeiten für Wartung und Weiterentwicklung vorhanden?
  • Benötigen die Anwender eine technische Plattform oder bereits eine fachlich fertige Produktionsanwendung?

Weiterführende Informationen