W-JAX Countdown

WebSocket bewegt die Web-Welt

© Software & Support Media

Seit 1999 ist die derzeitige Version des Protokolls HTTP, Version 1.1., in Kraft. Viel hat sich seither bewegt in der Web-Welt, und zahlreiche Webanwendungen erfordern heute mehr als das reine Request-Response-Schema, das HTTP umsetzt: Innovative Browsertechnologien, die steigende Zahl mobiler Endgeräte, Chatdienste, Browserspiele, soziale Netzwerke, Börsen-Apps, Kollaborationsplattformen oder auch Sensoren, die selbstständig Daten senden – all das stellt Webentwickler vor neue Herausforderungen. Mit WebSocket können Client und Server Nachrichten austauschen, ohne sich an den Anfrage-Antwort-Zyklus halten zu müssen. Vor zwei Jahren fertiggestellt, wird der WebSocket-Standard RFC 6455 heute bereits in einer Reihe von Projekten eingesetzt. Wir sprachen mit dem schwedischen Entwickler Daniel Bevenius, der im Rahmen des Web Architecture Day auf der W-JAX eine Einführung in WebSocket geben wird. Er ist zum ersten Mal als Speaker dabei.

JAXenter: Mit welchen Erwartungen fährst du zur W-JAX bzw. worauf freust du dich am meisten?

Daniel Bevenius: Ich habe schon sehr viel Gutes über die Konferenz gehört. Was in den Sessions behandelt wird, klingt großartig. Ich werde versuchen, einige Vorträge zur Webentwicklung anzuhören. Besonders neugierig bin ich auf den Vortrag über Webentwicklung mit Clojure. Auch die Netty- und Vert.x-Sessions werde ich hoffentlich besuchen können.

JAXenter: Du gibst eine Einführung in WebSocket. Was sind deine eigenen Erfahrungen mit dieser Technologie?

Bevenius: Wir verwenden WebSocket in dem Projekt, an dem ich momentan arbeite: AeroGear SimplePush Server. Es handelt sich dabei um eine serverseitige Implementierung der SimplePush-Protokoll-Spezifikation von Mozilla. AeroGear SimplePush ist eine Java-Implementierung. Zwei Versionen stehen zur Verfügung: eine Netty- und eine Vert.x-basierte. Der SimplePush Server von AeroGear verwendet SockJS, um eine Fallback-Strategie für Clients bereitzustellen, die keine WebSocket-Unterstützung haben – oder für den Fall, dass es Probleme mit der Kommunikation gibt.

JAXenter: Den WebSocket-Standard gibt es seit zwei Jahren. Ohne viel aus deiner Session vorweg zu nehmen: Wie würdest du den Status quo beschreiben?

Bevenius: WebSocket RFC 6455 ist unverändert geblieben, aber im Umfeld des Standards gibt es einige Verbesserungen und Protokolle, die ich in meiner Session besprechen werde.

JAXenter: Worum geht es beim AeroGear-Projekt, in das du involviert bist?

Bevenius: AeroGear stellt flexible und erweiterbare Bibliotheken bereit, um mobile Entwicklung auf allen Plattformen zu vereinfachen und sich wiederholende Infrastrukturaufgaben zu reduzieren. Es gibt APIs für Dinge wie CRUD-Operationen, bei denen man sich um grundlegende Dinge nicht mehr kümmern muss. Sicherheit ist eine weitere Teilaufgabe von AeroGear, und erst neulich sind zwei serverseitige Anwendungen dazugekommen: AeroGear UnifiedPush und AeroGear SimplePush Server. Beide sind für Push Notifications für native Devices und Web-Apps zuständig.

JAXenter: Worin siehst du die größten Herausforderungen in der aktuellen Webentwicklung?

Bevenius: Was WebSocket angeht, sehe ich die größte Herausforderung in den Problemen, die man hat, wenn man mit WebSocket arbeitet und ältere Browserversionen und restriktive Proxys berücksichtigen muss. Ein Fallback-Mechanismus und die Verwendung von Technologien wie SockJS können hier Abhilfe schaffen. Nutzt man WebSocket für die Webentwicklung, sollte man zusätzlich höhere Protokolle mit einem höheren API verwenden, um den Web-Client-Code zu vereinfachen.

JAXenter: Vielen Dank für das Gespräch.

© Daniel Bevenius

Daniel Bevenius arbeitet als Senior Software Engineer bei Red Hat, wo er  sich als Teil des AeroGear Teams auf den Mobile-Bereich konzentriert (nativ und HTML5). Daniel arbeitet mit AeroGears Server-seitigen Angeboten und war kürzlich am AeroGear SimplePush Server beteiligt, der eine Implementierung des Mozilla SimplePush-Protokolls ist. Diese Implementierung nutzt WebSocket, SockJS, Netty und vert.x.

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.