Saturday, May 25, 2013

Websockets: Leichtgewichtige Verbindungen für Web-Applikationen

von Stefan Neufeind (SpeedPartner GmbH)

Saturday, 25.05.2013, New York II, 16:00-16:30 Uhr

Auf klassischem Wege kommunizieren Webbrowser und Server, indem der Browser per http/https den Server anfragt und der Server entsprechend antwortet. Jedoch erfordern fortgeschrittene Web-Applikationen seit Jahren kreativere Wege, um möglichst unmittelbar zusätzliche Webseitenteile im Hintergrund nachzuladen, oder um es dem Server zu ermöglichen, auch nach der initialen Übertragung von Inhalten weiter mit dem Browser zu kommunizieren.

So entstand beachtliche Last auf Server-Seite und beim Client. Sie wurden verursacht durch simulierte permanente Verbindungen, bei denen etwa der Browser in kurzen Intervallen neue Anfragen sendet, oder bei denen der Browser Multipart-Anfragen zum beispiel mit versteckten Frames schickt. Auch AJAX-Anfragen des Browser lösten das Problem zeitaufwändigen Verbindungsauf- und abbaus nicht, ebensowenig die nur begrenzten Möglichkeiten des Servers. Auch Übergangslösungen wie direkte Socket-Verbindungen durch Flash-Objekte auf einer Website stellen nicht zufrieden, unter anderem wegen der Abhängigkeit von Flash.

An dieser Stelle kommen Websockets ins Spiel. Web-Applikationen erstellen damit direkte Socket-Verbindungen über http/https für eine bidirektionale Kommunikation zwischen Server und Client. Sie vereinfachen und beschleunigen Applikationen wie Chatten oder Remote-Zugriffe. Zusammen mit Technologien wie WebRTC lassen sich mittels Websockets auch bidirektionale Streaming-Lösungen rein unter Verwendung von HTML5-Funktionalitäten in aktuellen Browsern realisieren. Verfügbar in aktuellen Browsern, ist diese Technik sowohl leichtgewichtig als auch einfach in der Verwendung. Für andere Browser existieren Brücken- und Fallback-Lösungen.

Dieser Vortrag gibt einen Überblick über die Techniken von simulierten permanenten Verbindungen, Websockets, Fallback-Lösungen für ältere Browser und Beispiele für Websocket-basierte Applikationen.

Links:

Über den Autor Stefan Neufeind:

Stefan Neufeind ist Geschäftsführer der SpeedPartner GmbH, einem Internet-Service-Provider für kleine/mittelständische Unternehmen. Im Fokus stehen Realisierung und Betrieb von Web- und Portallösungen (z.B. mittels TYPO3, Magento und OpenEMM). Hierbei bilden Entwicklung und Consulting kombiniert mit Domain-/DNS-Diensten und maßgeschneiderten sowie lastverteilten/redundanten Hosting-Lösungen aus erster Hand eine ideale Kombination. Seit Jahren setzt SpeedPartner verstärkt auf Virtualisierung. Zur Verwaltung einer größeren Anzahl von Maschinen ist hier eine leistungsfähige Kombination unterschiedlicher Technologien und Tools erforderlich.