Frank Kubis Saxonia Systems

„Die Einführung von WebSockets unterstützt den anhaltenden Vormarsch von Webanwendungen, die immer mehr die klassischen Anwendungen verdrängen werden.“

Mit der Veröffentlichung von ASP.NET Core 2.0 publizierte Microsoft erstmalig eine lang erwartete, stabile Version von SignalR für ASP.NET Core. Es ist also Zeit, sich anzuschauen, welches Problem mit dieser Bibliothek gelöst wird.

Es ist kein Geheimnis, dass der Trend ganz klar in Richtung mobiler und webbasierter Anwendungen geht. Webtechnologien drängen durch Technologien wie Electron und Progressive Web Apps auf den Desktop, und mobile Plattformen und sind dadurch in der Lage, das gleiche Verhalten wie native Anwendungen an den Tag zu legen. Ein Wegbereiter für diese Trends war die technologische Voraussetzung zur  Implementierung einer Echtzeitanwendung.

Von weicher und harter Echtzeit

Die Definition von Echtzeitsystemen sieht eine klare Abgrenzung in weiche und harte Systeme vor: Sie unterscheiden sich vor allem in ihren Rahmenbedingungen der Echtzeitanforderung. Ein hartes Echtzeitsystem muss auf eine Anfrage innerhalb eines fest definierten zeitlichen Rahmens mit einem vollständigen Ergebnis antworten; wird diese Bedingung nicht eingehalten, hat das System versagt und ein kritischer Abbruch ist die Folge. Die genaue Bestimmung des Zeitraums, der zur Antwort benötigt werden darf, hängt stark von dem Einsatzgebiet des Systems ab.

Weiche Echtzeitsysteme hingegen können den definierten zeitlichen Rahmen überschreiten, ohne dass dies gleich als ein Versagen des Systems gewertet wird. Es ist möglich, dass Ergebnisse nur teilweise ausgeben werden. Wollte man eine Webanwendung mit der Charakteristik eines Echtzeitsystems  implementierten, stolperte man dabei sehr zeitig über ein fundamentales Problem: das HTTP-Protokoll.

Pingpong mit dem HTTP-Protokoll

Das HTTP-Protokoll ist eins der Fundamente des World Wide Webs und maßgeblich für dessen Erfolg mit verantwortlich. Wie in Abbildung 1 dargestellt, erfolgt eine Anfrage der URL eines Browsers an den Webserver über ein durch das Protokoll definiertes Format.

Abb. 1: Pingpongspiel der Anfrage in HTTP

Auf diese Anfrage antwortet der Webserver und gibt im besten Fall den Antworttext in Form von HTML zurück. Der Browser parst die Antwort und die darin enthaltenen Links (je nach verwendetem HTML-Tag). Das HTTP-Protokoll erlaubt dabei allerdings, dass diese Verbindung lediglich unidirektional ist, d. h., der Webserver erkennt einen Client nicht ohne Anfrage. Es ist somit nicht möglich, aktiv Informationen vom Server an den Client zu übermitteln, ohne dass der Client vorher schon einmal angefragt hat.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Windows Developer 2.19 - "Entwicklung am Optimum"

Alle Infos zum Heft
579871884Implementierung eines einfachen Web-Chats
X
- Gib Deinen Standort ein -
- or -