Embedded Web Server wurden als einfach zu bedienende Geräteverwaltungslösung bereits seit langer Zeit eingesetzt. Als Embedded Entwickler stehen die Chancen gut, dass Sie bereits mit dieser Art von Technologie gearbeitet haben und ein Verständnis für das HTTP-Protokoll haben. Wahrscheinlich haben Sie auch an einigen der neueren Technologien wie AJAX und REST gearbeitet. Das traditionelle GET/POST und/oder die Verwendung von AJAX für den Datentransfer zwischen Browser und Gerät ist jedoch möglicherweise nicht die beste Option.
Als erstes sollten Sie aufhören, HTTP zu verwenden. Wenn Sie aufhören HTTP für die Kommunikation zu verwenden, wie tauschen Sie dann Daten zwischen dem Browser und dem Server aus? Die Antwort ist einfach, WebSockets, ein relativ neuer Standard, der Echtzeitkommunikation ins Web bringt. WebSockets wird von allen modernen Browsern unterstützt und ist darauf ausgelegt, einen Vollduplex-asynchronen Kommunikationskanal über eine einzige TCP-Verbindung bereitzustellen.
Die Tatsache, dass Websockets einen bidirektionalen Kommunikationskanal zwischen Browser und Server bieten, eröffnet sofort einige sehr interessante Möglichkeiten für webbasierte Gerätemanagement-Anwendungen. Da die Verbindung persistent ist, kann der eingebettete Webserver nun die Kommunikation mit dem Browser starten. Der eingebettete Webserver kann Alarme, Updates, Benachrichtigungen, etc. senden. Dies fügt den Typen von webbasierten Geräteverwaltungsanwendungen, die erstellt werden können, eine ganz neue Dimension hinzu.
Die meisten eingebetteten Web-Device-Management-Anwendungen funktionieren derzeit durch einfache Reaktion auf Benutzerinteraktionen. Sie klicken auf eine Schaltfläche und der Browser sendet die Daten an den Server. Der Server führt den Befehl aus und antwortet mit einer neuen HTML-Seite. Diese alte Technologie funktioniert, aber sie ist ein sehr limitierendes Modell. Sie sind vielleicht über den einfachen GET/POST Submit-Button hinausgegangen und haben AJAX/REST verwendet. Die Tatsache bleibt jedoch, dass AJAX immer noch eine asynchrone Nachricht ist, die vom Browser an den Server gesendet wird, und alle Echtzeit-Updates, die Sie im Browser anzeigen möchten, erfordern eine (polling) Abfrage der Server-Ressourcen. Sie können immer noch denken, dass AJAX und REST die beste Technologie ist, aber tatsächlich könnte das gesamte AJAX-Protokoll mit Hilfe der Websocket-Technologie erstellt werden. Dies macht Websockets buchstäblich zu einer Obermenge von AJAX, so dass es Sinn macht, dass die eine limitierende Technologie für eine breitere Technologie aufzugeben.
Ein praktisches Beispiel
Es wurde eine voll funktionsfähige reaktive WebSocket-Anwendung erstellt. Das komplette Beispiel enthält zwei Single Page Web Applications, die direkt im Browser geladen und ausgeführt werden können, ohne dass eine Software installiert werden muss. Ziehen Sie einfach die beiden Webanwendungen in zwei Browserfenster und beobachten Sie, wie die Multiuser-Echtzeit-Geräteverwaltungsanwendung in Echtzeit kommuniziert.
Weitere Informationen finden Sie im vollständigen Tutorial Modern Embedded Web Server Technology
Ergänzend zu dem Thema sollten Sie sich das Video ansehen
Single Page Application and WebSockets For Secure Realtime Device Management