bluehub
Internet of Things Platform
Erweiterbar & Flexibel
bluehub ist das Betriebssystem für datengetriebene Projekte und wurde speziell für die Herausfordungen entwickelt, die komplexe IT-Landschaften bei der Umsetzung der Digitalisierung zu bewältigen haben. Als flexible und moderne Internet of Things Plattform beschleunigt bluehub die Umsetzung einer Smart Factory oder eigener Lösungen für Industrie 4.0. Dazu stellt bluehub die Basis für das Anbinden, Verarbeiten und Analysieren jeglicher Daten zur Verfügung, während es gleichzeitig über Apps flexibel erweiterbar bleibt.
Ereignisse verarbeiten
Die Kernaufgabe von bluehub liegt in der Verarbeitung von kontinuierlichen Datenströmen, die beispielsweise permanent durch Sensoren oder Maschinen erzeugt werden. Die In-Memory-Technologie erlaubt es, dass die Daten sofort verarbeitet und daher nicht erst abgespeichert werden müssen. Das sorgt dafür, dass aus einfachen Ereignissen in Echtzeit komplexe Muster erkannt werden können. So können unmittelbar entsprechende Aktionen ausgeführt werden.
Daten speichern
Eine integrierte Datenbank sorgt dafür, dass Daten für eine spätere Verwendung gespeichert werden können. Die Datenbank ist dabei auf die Speicherung von Zeitreihen optimiert und erlaubt daher eine wesentlich schnellere Speicherung von Zeitreihen als Standard-Datenbanken. Auch das Abfragen von Zeitreihen bietet besondere Funktionen, um so beispielsweise sehr einfach Zeiträume abfragen oder zusammenfassen zu können.
Ein Hybrid-System
Als ein Alleinstellungsmerkmal kombiniert bluehub die Verarbeitung von kontinuierlichen und gespeicherten Daten in einer Schnittstelle. So können nicht nur Livedaten mit historischen Daten verknüpft werden, sondern erlaubt es z. B. auch, dass gespeicherte Zeitreihen erneut als kontinuierlicher Datenstrom wieder abgespielt werden können. Auch das kombinierte Speichern ist möglich, indem bluehub z. B. Daten kontinuierlich verarbeitet, aber stets die letzten 12 Stunden abgespeichert werden.
Jetzt Demo anfragen
Entworfen von und für Software-Entwickler
bluehub wurde von Software-Entwicklern entworfen und ist auch für diese gedacht. Es ist somit darauf ausgerichtet, dass die Einbindung von bluehub während der Entwicklung möglichst einfach und flexibel durch ein Framework möglich ist und Programmierer sich auf die eigentliche Entwicklung ihrer Anwendung konzentrieren können.
Wie eine Datenbank
Vergleichbar mit einer Datenbank ergänzt bluehub Ihre eigene Anwendung und übernimmt die Aufgaben der Datenverarbeitung. Zu diesen gehören zum Beispiel der konkrete Datenaustausch mit Quellen und Senken, die zeitlich korrekte Berechnung von Ergebnissen, die automatische Optimierung der Verarbeitung, das Puffern von Daten oder auch der Umgang mit Blockierungen und Überlastsituationen. Entwickler können sich auf die eigentliche Anwendung konzentrieren und sparen dadurch Entwicklungszeit.
Unabhängig
Wie Daten entgegen genommen werden, wie diese verarbeitet werden sollen und wie die Ergebnisse weiter behandelt werden sollen, wird über eine Anfragesprache definiert. Diese Anfragesprache ist stark an SQL angelehnt und ist daher schnell in jeder Anwendung einzusetzen. Durch die Verwendung dieser Anfragesprache ist bluehub somit unabhängig von der eingesetzten Programmiersprachen der Anwendung. bluehub selbst ist als Java-Anwendung auf vielen System lauffähig.
Bibliotheken und Frameworks
Durch unseren Einsatz von bluehub in verschiedenen Projekten sind eine Reihe von unterstützenden Technologien entstanden. So gibt es unter anderem Java-Bibliotheken, die dem Entwickler verschiedene Schnittstellen direkt in Java zugänglich machen. Bei Verwendung von Spring als Framework kann darüber hinaus auf weitere an JPA und ORM angelehnte Frameworkfunktionen zurückgegriffen werden.
Unter der Haube
bluehub ist nicht nur eine Sammlung von Implementierungen, die der Entwickler nun nicht mehr programmieren muss, sondern beinhaltet vor allem auch eine Menge an Funktionen und Mechanismen, die für eine fehlerfreie, optimierte und tolerante Verarbeitung sorgen, jedoch nicht direkt ersichtlich sind.
Optimierungen
bluehub analysiert die von einer Anwendung übergebene Anfrage und führt automatisch Optimierungen durch, indem z. B. Verarbeitungsschritte getauscht oder unnötige gelöscht werden, ohne dass sich das Ergebnis dadurch verändert. Wenn mehrere gleiche oder ähnliche Verarbeitungsschritte durchzuführen sind, erkennt bluehub anhand der übergebenen Anfragen die Ähnlichkeiten und legt diese zusammen oder sorgt dafür, dass bereits vorhandene Verarbeitungsschritte wiederverwendet werden.
Schnell dank In-Memory
Durch die Kombination aus In-Memory und NoSQL-Technologien kann bluehub bereits auf einem herkömmlichen Notebook mehr als 500.000 Ereignisse pro Sekunde verarbeiten. Da die Geschwindigkeit stark davon abhängig ist wie viele Anfragen und welche Verarbeitungsschritte diese definiert, ist manchmal auch mehr Leistung notwendig. Dazu kann bluehub auch auf verschiedene Rechnerknoten verteilt werden, direkt verbunden werden und somit die Last verteilt werden.
Flexible Anbindung
Teil von bluehub ist ein flexibles Framework für die Anbindung von Datenquellen und -senken. Dieses teilt die Anbindung in verschiedene beliebig miteinander kombinierbare Schichten auf. Diese Beschreiben das Datenformat (JSON, CSV, XML, Text, Bytes...), die Übertragungsart (HTTP, OPC, Dateisystem, SMTP, MQTT, ...) und den Verbindungsaufbau. bluehub hat für jede Schicht bereits Implementierungen, sodass weit über 500 verschiedene Möglichkeiten für die Anbindung bereits vorhanden sind.