Mittwoch, 17. November 2010

Tag 3: 17:50 - 18:50: HTML5 Websockets: A New World of Limitless, Live, and Wickedly Cool Web Applications

Die Firma Kaazing hatte mal wieder einen Auftritt zum Thema HTML5, genauer HTML5 WebSockets.

Grundidee: HTML bassiert auf HTTP. HTTP auf TCP. Während TCP eine Full-Duplex-Kommunikation erlaubt, gibt es bei HTTP lediglich einen Request, gefolgt von einer Resonse. Das ist bidirektional, aber nicht full duplex.

Manch moderne Web-Anwendungen benötigen für den Datenaustausch das Konzept einer Standleitung, über die Daten quasi in Echtzeit übertragen werden können. Das betrifft zum einen die Datenlieferung vom Client zum Server (mit dem Client als aktiven Part) ABER auch die Datenlieferung vom Server zum Client (mit dem Server als aktivem Part).

Letzteres ist nicht neu: Konzepte, wie "Long poll" haben zumindest den Eindruck einer server-initiierten Datenlieferung vermittelt. Mit allen damit verbundenen Nachteilen, denn es ist nach wie vor HTTP mit dem damit verbundenen Overhead.

WebSocket ist ein Ansatz das Problem zu lösen. Grundidee:
  • Ein Client schickt einen HTTP-Request mit einer Upgrade-Anforderung auf WebRequest
  • Der Server schickt den Return-Code 101 mir dem unterstützten WebSocket-Schema
  • Client und Server kommunizieren ab dann rein über TCP
Hierzu sind auf Client- und Serverseite natürlich Hilfsmittel notwendig:
  • Der Browser muss HTML5 WebSocket unterstützen: Chrome 4.0+, Safari 5.0 & iOS4, Firefox 4 Beta, Opera 11 Alpha leisten dies. (Auf Nachfrage: IE9, eventuell) Auf http://websocket.org kann man den eigenen Browser testen.
  • Die Webseite im Browser benötigt Javascript-WebSocket-APIs, wie z. B. Stomp, XMPP, AMQP
  • Auf Serverseite blieben die Vortragenden eine Antwort schuldig. Schade.
Hier zeichnet sich eine interessante Entwicklung ab, die weiterverfolgt werden sollte, obwohl die Browser teilweise noch nicht soweit sind und obwohl uns vielleicht noch die Anwendungsfälle fehlen.

Keine Kommentare:

Kommentar veröffentlichen