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:
- Verbinden: Adapter lesen Daten aus Maschinen, Steuerungen, Brokern, Dateien oder Softwaresystemen.
- Strukturieren: Eingehende Ereignisse werden geprüft, beschrieben und bei Bedarf harmonisiert.
- Verarbeiten: Pipelines filtern, transformieren, kombinieren oder analysieren laufende Datenströme.
- 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 Werkzeug | Abgrenzung zu Apache StreamPipes |
|---|---|
| MQTT- oder Kafka-Broker | Transportiert Nachrichten zuverlässig; StreamPipes ergänzt Adapter, Schemas, Verarbeitung, Speicherung und Bedienoberflächen. |
| SPS, HMI oder SCADA | Steuert und bedient die Anlage; StreamPipes nutzt freigegebene Daten für übergreifende Verarbeitung und Analyse. |
| Historian | Ist auf langfristige Speicherung und Abfrage von Prozesswerten spezialisiert; kann Datenquelle, Zielsystem oder ergänzender Speicher sein. |
| Node-RED | Eignet sich für visuelle Integrationsflüsse; StreamPipes fokussiert einen gemeinsamen Lebenszyklus industrieller Datenströme, Assets, Pipelines und Analyse. |
| MES | Plant und dokumentiert Produktionsausführung; liefert Auftrags- und Produktkontext oder nutzt aufbereitete Maschinendaten. |
| BI-Plattform | Erstellt 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.
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?