Quarks: IBMs Open-Source-Werkzeug für das Internet der Dinge
Quarks ist eine API und Runtime zur unmittelbaren Analyse von IoT-Daten dort, wo sie erfasst werden. Es soll bei der lokalen Aufbereitung ebenso helfen wie beim Filtern vor der Übermittlung ans Backend.
![Quarks: IBMs Open-Source-Werkzeug für das Internet der Dinge](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/1/7/5/1/3/6/6/90e8557338baeeae22cd3db059ea3f80_edited_103455871_7bdc965285-a5fdfc82ee95b074.jpeg)
Produkte zur Analyse von Daten, die im Internet der Dinge anfallen, gibt es reichlich. Die Besonderheit von IBMs Quarks ist, dass es nicht wie Apache Spark oder Kafka der zentralisierten Analyse dient, sondern die Daten dort verarbeitet, wo sie erzeugt werden. Der in der FAQ zu Quarks verwendete englische Begriff "at the edge" lässt sich im Deutschen besser mit "vor Ort" als mit der wörtlichen Übersetzung "am Rand" wiedergeben.
Gut gefiltert
Mit Quarks können Entwickler Analysesoftware sowohl für das Gerät selbst schreiben als auch für Gateways, an denen beispielsweise in Connected Cars die Sensordaten zusammenkommen. Die Sammlung aus APIs und einer leichtgewichtigen Runtime können Entwickler zur Aufbereitung von Daten für die Anzeige nutzen oder eine erste Filterung vornehmen, damit nicht alle Rohdaten über eine potenziell schwache Internetverbindung in das Backend fließen, sondern nur die wesentlichen.
Quarks kann über Konnektoren mit diversen Protokollen und Systemen kommunizieren, darunter HTTP, das Machine-to-Machine-Protokoll MQTT (Message Queue Telemetry Transport), JDBC (Java Database Connectivity) und Apache Kafka. Ein weiterer Konnektor bindet Quarks an IBMs Watson IoT Platform an.
Mathematik
Entwickler definieren die Verarbeitung des Datenstroms über eine funktionale Flow-API. Das erweiterbare SDK bietet Methoden zum Filtern der Daten und nutzt Apache Commons Math für einfache Analysefunktionen. Derzeit existieren APIs für Java und Android; weitere Sprachen sind in Planung – die FAQ nennt Python als ersten Kandidaten und bittet die Community um Mithilfe bei der Umsetzung zusätzlicher APIs.
Quarks ist auf GitHub verfügbar und steht unter der Apache-2-Lizenz. (rme)