Die Messdaten stehen auf der Plattform zur Verfügung. In einer Smartphone-App möchten Sie die Daten den Usern zur Verfügung stellen. Bevor Sie die Daten an das bestehende Drittsystem weiterleiten, kombinieren Sie die Daten mehrere Messstellen und aggregieren diese noch mit Daten eines weiteren Anbieters. Das und vieles mehr realisieren Sie mit der Backend Logic (kurz BLO) ganz einfach.
Was ist eine BLO?
Bei einer BLO (Backend Logic) handelt es sich um einen Prozess, der im Kontext der Applikation ausgeführt wird und verschiedenste Funktionen übernehmen kann. Durch die serverseitige Ausführung des Codes können sowohl sehr einfache als auch sehr performanceintensive Operationen bewältigt werden. Das macht eine BLO zu einem sehr flexiblen Bestandteil einer rapidM2M-Studio Applikation.
Wozu wird eine BLO benötigt?
Die klassischen Einsatzgebiete einer BLO sind die Aufbereitung von Messdaten und die Anbindung von externen Systemen. Die Kommunikation mit den verschiedensten APIs von ERP-Systemen, Cloudspeicher oder Monitoring Systemen kann damit einfach und individuell realisiert werden.
Während am Gerät vergleichsweise wenige Arbeits-/Datenspeicher zur Verfügung steht und die Anwendungen oftmals energiesparend arbeiten sollen, spielt dies serverseitig kaum eine Rolle. So können in der BLO auch rechenintensivere Abläufe realisiert werden.
Welche Technologien verwendet eine BLO?
Die Backend Logic wird im rapidM2M Studio programmiert. NodeJS, eine opensource Laufzeitumgebung, die es ermöglicht JavaScript Code serverseitig auszuführen, bildet die Basis einer Backend Logic. Ein großer Vorteil dieser Technologie ist der zugehörige „Node Package Manager“ – npm – der zigtausend Librarys frei zur Verfügung stellt. Jedes einzelne dieser Packages kann mit wenig Aufwand in eine BLO eingebunden werden.
Was ist die BAPI?
Die Backend API ist das Herzstück von jeder Backend Logic. Diese umfangreiche Library ermöglicht den einfachen Zugriff auf Kunden, Messstellen, Messdaten und vieles mehr. Es können damit alle Endpunkte der myDatanet API verwendet werden.
BAPI.subscribe()
Hervorzuheben ist dabei die subscribe() Funktion, die es ermöglicht auf verschiedenste Datenbank Events zu reagieren. Dazu muss man zuerst den benötigten Bereich abonnieren – zum Beispiel Messdaten – und ab diesem Zeitpunkt wird man bei jedem Create, Update oder Delete Event automatisch verständigt. Werden also neue Messdaten von einem Gerät geliefert, können diese umgehend an ein externes System weitergeleitet werden.
BAPI.extend()
Ein weiteres sehr nützliches Feature der BAPI ist die extend() Funktion. Mit dieser Funktion kann die myDatanet API mit zusätzlichen Endpunkten erweitert werden. Dies ist zum Beispiel sehr hilfreich, um spezifische Datenaufbereitungen zu implementieren und diese dann in einer Portal View (POV) anzuzeigen. Es kann aber auch ein Endpunkt sein, der einen Health Status anbietet, welcher von einem Monitoring System in regelmäßigen Abständen abgefragt wird.
Zusammenfassung
Eine Backend Logic (BLO) ist ein NodeJS Prozess, der auf dem Sever ausgeführt wird. Die BLOs werden mit JavaScript entwickelt, wobei man auch auf vorgefertigte Packages von NPM zurückgreifen kann, um das gewünschte Ziel noch schneller zu erreichen.
Die Backend API (BAPI) ist dabei die Schnittstelle zwischen myDatanet und BLO. Damit können zum einen die umfangreichen myDatanet API-Endpunkte verwendet werden und zum anderen kann man auf die verschiedensten Datenbank Events reagieren.
Das breite Einsatzgebiet von BLOs kann sich von der einfachen Messdatenweiterleitung, über individuell angepasste Alarmierung, bis hin zur vollständigen Anbindung von externen Systemen erstrecken.