45
Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket Solution

Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Embed Size (px)

Citation preview

Page 1: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Stay ConnectedRealtime-Webapplikationen mit jWebSocket

Alexander SchulzePredrag Stojadinovic

jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket Solution

Page 2: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Die heutige Session

• Agenda• Kommunikation mit WebSockets

Wo, Was, Warum, Wie, Wohin

• WebSocket Browser Clients

• WebSocket Server Apps und Erweiterungen

• WebSockets für mobile Apps

• Demos und Code Beispiele

jWebSocket – Stay Connected 211.10.2010

Page 3: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Apps im Wandel

• Weniger Information - mehr Kommunikation• Entertainment, sofortiger Erlebnisaustausch

• Wir werden immer mehr (mobil) online sein• Text, Fotos, Videos, Music, Geo-Location etc.

• Angebote für stationäre und mobile Geräte• Browser-, Desktop- und Mobile-Apps verschmelzen

• WebSockets helfen die User besser zu verbinden

jWebSocket – Stay Connected 311.10.2010

Page 4: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Grundlage WebSockets

• WebSockets sind bidirektional und permanent• Effiziente Echtzeit-Kommunikation statt

umständlichem Request/Response-Protokoll

• WebSockets helfen Interoperabilität herzustellen• Standardisierter Handshake und Paketaustausch

für stationäre und mobile Plattformen

• Web und Mobile Apps brauchen...• sichere, zuverlässige und schnelle Kommunikation

jWebSocket – Stay Connected 411.10.2010

Page 5: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Was wir haben: HTTP

• HTTP - designed zur Übertragung von Dokumenten

• Alle umständlichen, nearly realtime Tricks wie...• Polling, Reverse-AJAX, Comet,

• Flash-Plug-Ins, Java-Applets etc.

• ...sind letztlich nicht standardisierte Hacks!

• HTTP bleibt ein Request/Response Mechanismus

jWebSocket – Stay Connected 511.10.2010

Page 6: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Nearly Realtime Mechanismen

• Polling• Senden regelmäßiger Anfragen mit sofortiger Antwort

• Viele Verbindungen, hohes Volumen, niedrige Effizienz(insbesondere bei niedriger Datenrate)

• Long Polling• Regelmäßige Anfragen mit Offenhalten der Verbindung

• Hohes Volumen, 2 Kanäle pro Client, Puffer-Problem, viele Verbindungen (insbesondere bei hoher Datenrate)

jWebSocket – Stay Connected 611.10.2010

Page 7: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Kosten

• Kalkulation Volumen und Bandbreite HTTP• Annahme: 800 Bytes für Requests + Response (bis 2KB)

• 1.000 Clients x 800 Bytes = 800 KB => 6,4 Mbit/s

• 10.000 Clients x 800 Bytes = 8 MB => 64 Mbit/s

• 100.000 Clients x 800 Bytes = 80 MB => 640 Mbit/s

• Und das nur für‘s Protokoll – ohne Nutzdaten !

jWebSocket – Stay Connected 711.10.2010

Page 8: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

WebSockets ?

• WebSockets – Was ist das ?• Bidirektionales Full-Duplex Protokoll

zwischen Browser Clients und WebSocket Server

• Ebenso für Desktop oder Mobile Apps verwendbar

• Designed für permanente/langhaltende Verbindungen

• Standardisiert in HTML5, W3C-API, IETF-Protokoll(http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-02)

• WebSockets sind TCP – nicht HTTP – basiert !jWebSocket – Stay Connected 811.10.2010

Page 9: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

TCP statt HTTP

• Umfangreiche Freiheiten• Keinerlei Bindung an bestimmte Datenformate

• Keinerlei Vorgaben für Inhalte oder Verarbeitung

• Aber auch hohe Verantwortung• Datenformate und Kommunikationslogik

müssen selbst implementiert werden

• Ebenso alle Sicherheitsmechanismen !

jWebSocket – Stay Connected 911.10.2010

Page 10: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Verbindungsaufbau

• Handshake

jWebSocket – Stay Connected 1011.10.2010

Client

GET {path} HTTP/1.1Upgrade: WebSocketConnection: UpgradeHost: {hostname}:{port}Origin: http://{host}[:{port}]Sec-WebSocket-Key1: {sec-key1}Sec-WebSocket-Key2: {sec-key2}

8 Bytes generated {sec-key3} 

Page 11: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Verbindungsaufbau

• Handshake (Same Origin Policy, IETF Draft #76)

jWebSocket – Stay Connected 1111.10.2010

Client

GET /services/chat/;room=Foyer HTTP/1.1Upgrade: WebSocketConnection: UpgradeHost: jwebsocket.orgOrigin: http://jwebsocket.orgSec-WebSocket-Key1: 4 @1 46546xW%0l 1 5Sec-WebSocket-Key2: 12998 5 Y3 1 .P00

^n:ds[4U

Server

HTTP/1.1 101 WebSocket Protocol HandshakeUpgrade: WebSocketConnection: UpgradeSec-WebSocket-Origin: http://jwebsocket.orgSec-WebSocket-Location: ws://jwebsocket.org/ services/chat

8jKS'y:G*Co,Wxa-

Page 12: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Bidirektionaler Datenaustausch

• Textframes• 0x00 <UTF8-Textdaten> 0xFF

• Keine theoretische Längenbegrenzung, JavaScript: 4 GB

• Binärframes• 0x80-0xFF <Länge> <Binäre Daten>

• Änderungen! Das WebSocket Protokoll lebt!• IEFT Draft #76 -> Draft #02, Sep. 24 inkl. Control-

Frames

jWebSocket – Stay Connected 1211.10.2010

Page 13: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

WebSockets TCP vs. HTTP

• Kalkulation Volumen und Bandbreite WebSockets• Feststellung: 2 Bytes für Requests + Response

• 1.000 Clients x 2 Bytes = 2 KB => 0,016 Mbit/s

• 10.000 Clients x 2 Bytes = 20 KB => 0,16 Mbit/s

• 100.000 Clients x 2 Bytes = 200 KB => 1,6 Mbit/s

• Protokoll-Overhead: Ein-vierhundert-stel !jWebSocket – Stay Connected 1311.10.2010

Page 14: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

WebSockets – Warum?

• Schneller, billiger, offener• Schlankere Kommunikation (TCP vs. HTTP overhead)

WebSockets ersetzen XHR und Comet schrittweise

• Belegt nur einen Kanal (bidirektional, full-duplex)

• Ressourcenschonend und kostenreduzierend,doppelt so viele Clients gleichzeitig pro Server

• Keine Protokollvorgaben oderBindung an bestimmte Datenformate

jWebSocket – Stay Connected 1411.10.2010

Page 15: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

WebSockets - Wofür

• WebSockets sind die perfekte Basis für...• Online-Games und Online-Collaboration

• Remote Control und Monitoring

• Streaming und Chat

• Soziale Netzwerke

• Cluster und Grids

• Service-Dienste

jWebSocket – Stay Connected 1511.10.2010

Page 16: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Paradigmen-Wechsel

• WebSockets:Nicht nur eine Kommunikations-Technologie,sondern ein Paradigmen-Wechsel

• Browser:Nicht mehr Tool zur Dokumentendarstellung,sondern intelligentes Anwendungs-Terminal

jWebSocket – Stay Connected 1611.10.2010

Page 17: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

HTML5 Browser

• WebSockets im Browser

jWebSocket – Stay Connected 1711.10.2010

var lWebSocketClient = new WebSocket("ws://jwebsocket.org:8787"); // tries to open the TCP connection and to exchange handshake

lWebSocketClient.onopen = function(aEvent) { // connection has successfully been established}lWebSocketClient.onmessage = function(aEvent) { // a data packet has completely been received in aEvent.data}lWebSocketClient.onclose = function(aEvent) { // the connection has been terminated}lWebSocketClient.send("Hello World!"); // sends a UTF-8 text message to the server

lWebSocketClient.close(); // terminates the connection

Page 18: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Kompatibilität

• X-Browser und X-Plattform kompatibel• Nativ in Chrome 4/5/6, Firefox 4, Safari 5,

IE 6/7/8, Opera 9/10 und ältere Browsermit FlashBridge

• Clients für Android, Symbian und Blackberry, iPhone ab Dezember 2010

jWebSocket – Stay Connected 1811.10.2010

Page 19: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Token

• jWebSocket Token Modell• Alle Knoten in einem WebSocket Netzwerk

sind von Geburt an erstmal dumm

• Alle Beteiligten müssen sich auf eine gemeinsame Sprache einigen, um eingehende Pakete zu „verstehen“

• Zum Beispiel JSON, XML oder auch CSV(WebSocket Subprotokoll: jWebSocket-JSON...)

• Abstrakt: Datenobjekte, in jWebSocket „Token“

jWebSocket – Stay Connected 1911.10.2010

Page 20: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

jWebSocket Server

• Server Infrastruktur• Engines

• Tokens

• Server

• Filter

• Plug-Ins

• Listener

jWebSocket – Stay Connected 2011.10.2010

Page 21: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

jWebSocket JavaScript Client

• Client Infrastruktur• Basis WebSocket Client

• Token Client

• Erweiterbar mit Plug-Ins

• Features• Connection Management

• Session Management

• Authentifizierung und Autorisierung

jWebSocket – Stay Connected 2111.10.2010

Page 22: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

WebSockets – Wie?

• Fertige Libraries verfügbar (Open Source, LGPL)• Browser Client in JavaScript

jWebSocket.js inkl. FlashBridge und JSON Support

• jWebSocket Serverals .jar, .war, .exe oder Service

• Client für Java SE z.B. für Swing Desktop Apps

• Clients für Android, Symbian und BlackBerry(iPhone ab Dezember 2010)

jWebSocket – Stay Connected 2211.10.2010

Page 23: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

jWebSocket - Server

• Stand-Alone Server• Einfachste Installation (download, unzip, run)

• Nur Webserver nötig (z.B. Apache), für neue Web-Apps

• als .jar Betriebssystem-unabhängig (exe4j für Windows)

• Integration in bestehende (Web-)Apps• Java Apps oder Web-Apps, z.B. Tomcat oder GlassFish

• Kombimodelle aus Servlets und WebSockets

jWebSocket – Stay Connected 2311.10.2010

Page 24: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Integration in WebApps

• Context-Listener in Tomcat

jWebSocket – Stay Connected 2411.10.2010

public class ContextListener implements ServletContextListener {

public void contextInitialized(ServletContextEvent sce) { // start the jWebSocket server sub system JWebSocketFactory.start("");

// assign web socket server to servlet bridge servlet ServletBridge.setServer((TokenServer)JWebSocketFactory.getServer("ts0")); } public void contextDestroyed(ServletContextEvent sce) { // stop the jWebSocket server sub system JWebSocketFactory.stop(); }}

Page 25: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

WebSocket Programmierung

• Businesslogik auf dem jWebSocket Server• Plug-Ins (Server um eigene Funktionen erweitern)

• für applikationsübergreifende Standard-Funktionen

• Listener (Server in eigene Applikation einbinden)

• für anwendungs-/kundenspezifische Funktionen• Channels

• für Message-Routing zwischen Clients• und separate Anwendungskontexte

jWebSocket – Stay Connected 2511.10.2010

Page 26: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

jWebSocket - Plug-Ins

• jWebSocket um Standard-Funktionen erweitern• System-, Chat-, Streaming- und JDBC-Plug-In

• RPC/RRPC-, SharedObjects- und FileSharing-PlugIn

• API für eigene Plug-Ins• MyPlugIn.jar als separates Produkt distributierbar,

eigener Namespace (org.my.plugin.smsgateway)

• Leicht integrierbar/konfigurierbar über jWebSocket.xml

• LGPL Lizenz erlaubt auch kommerzielle Plug-Ins

jWebSocket – Stay Connected 2611.10.2010

Page 27: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

jWebSocket - PlugIn-Chain

jWebSocket – Stay Connected 2711.10.2010

Page 28: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

jWebSocket - Listener

• Eigene App um WebSocket Funktionen erweitern• jWebSocketServer.jar einbinden

• Eigene Listener-Klasse erstellen durchImplementieren des WebSocketListener Interface

• Listener-Klasse registrieren(global am Server oder an Channel)

• Eingehende Tokens verarbeiten und Antworten senden

jWebSocket – Stay Connected 2811.10.2010

Page 29: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

jWebSocket Listener - Code

jWebSocket – Stay Connected 2911.10.2010

Page 30: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

jWebSocket - ListenerChain

jWebSocket – Stay Connected 3011.10.2010

Page 31: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

jWebSocket - Channels

• Message-Routing via Channels• Mehrere Apps oder Services auf einem Server

• Keine echte Logik - vielmehr Vermittlungsservice

• Server verwaltet Channels (Message-Queues)

• Subscribe/Unsubscribe Mechanismus• Clients, Plug-Ins oder Listener hören „global“

oder registrieren sich an einem oder mehreren Channels

• Antworten ebenfalls global oder „kanalisiert“

jWebSocket – Stay Connected 3111.10.2010

Page 32: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

WebSocket - Sicherheit

• Authentifizierung und Autorisierung• Integrierte SecurityFactory, Rechte and Rollen

Mgmt

• API für JDBC, LDAP und OpenID (SSO), ab v0.11

• Filterung• Inbound und Outbound Paket- und Token-Filter

• Verschlüsselung• SSL (wss://), transparent für die Applikation

jWebSocket – Stay Connected 3211.10.2010

Page 33: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Filterchain

jWebSocket – Stay Connected 3311.10.2010

Page 34: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

jWebSocket - Listener (Code)

jWebSocket – Stay Connected 3411.10.2010

Page 35: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Android - Dalvik VM

• Android Apps in Java• Im Prinzip Java 1.5, inkl. Collections, Annotations etc.

• Google‘s eigene Dalvik VM: optimiert für mobile Geräte,sehr kompakt, aber leider nicht byte-code kompatibel

• Wie schon unter Java ME leidlich erfahren:Write Once Run Everwhere gehört der Vergangenheit an

• Spezielle Android Builds der Libraries erforderlich, eigene re-compilieren, Third-Party Libs im Source

jWebSocket – Stay Connected 3511.10.2010

Page 36: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Listener

• Gleiches API wie bei den Web Clients

jWebSocket – Stay Connected 3611.10.2010

public interface WebSocketClientListener {

void processOpened(WebSocketClientEvent aEvent);

void processPaket(WebSocketClientEvent aEvent, WebSocketPacket aPacket);

void processClosed(WebSocketClientEvent aEvent);

}

Page 37: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Low-Level-Interface

• Java Client für Android, Symbian und BlackBerry

jWebSocket – Stay Connected 3711.10.2010

public interface WebSocketClient { void open(String aURL) throws WebSocketException; void send(WebSocketPacket aPacket) throws WebSocketException; void close() throws WebSocketException; boolean isConnected();

void addListener(WebSocketClientListener aListener); void removeListener(WebSocketClientListener aListener);

void notifyOpened(WebSocketClientEvent aEvent); void notifyPacket(WebSocketClientEvent aEvent, WebSocketPacket(aPacket); void notifyClosed(WebSocketClientEvent aEvent);}

Page 38: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Java WebSocket Client

jWebSocket – Stay Connected 3811.10.2010

Page 39: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Android Demo App

• MainActivity• Listview

• ConfigActivity• URL

• Username

• Password

jWebSocket – Stay Connected 3911.10.2010

Page 40: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Android Fundamentals

jWebSocket – Stay Connected 4011.10.2010

• WebSocket App• Verbindung aufbauen

• Nachrichten empfangen

• Nachrichten senden

• Nachrichten broadcasten

• Verbindung trennen

Page 41: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Android Canvas Demo

• Online-Collaboration• Mehrere Benutzer arbeiten

am gleichen Dokument

• Beispiel:SharedCanvas

jWebSocket – Stay Connected 4111.10.2010

Page 42: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Android - Fotos übertragen

• Imagetransfer• jWebSocket FileSystem Plug-In

• Benachrichtigung bei Änderungen

• Binärdaten werden Base64codiert, Optimierung mit neuemBinärprotokoll umgehend erwartet

• http://jwebsocket.org/Snapshot Demo!

jWebSocket – Stay Connected 4211.10.2010

Page 43: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Ausblick

• Wir haben noch viel vor...• SSO und Authentification/Autorisation API

• Remote Procedure Calls (RPC und RRPC)

• Cloud API, Smart Grids und Cluster

• Shared Objects und FileSharing API

• JDBC Bridge und Database API

• Externe Service Nodes

jWebSocket – Stay Connected 4311.10.2010

Page 44: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

In eigener Sache

• Das jWebSocket Team sucht Unterstützung!• Java EE, SE, ME, JavaScript, Objective C...• Android, Symbian, BlackBerry, iPhone...• Ideen für innovative Apps willkommen!

• Wir bieten...• Umfangreiche Erfahrungen eines

internationalen Teams• Erstklassigen Support für eigene Projekte• Unterstützung beim Aufbau eigener Reputation

jWebSocket – Stay Connected 4411.10.2010

Page 45: Stay Connected Realtime-Webapplikationen mit jWebSocket Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket

Vielen Dank für Ihre Aufmerksamkeit !

Fragen & AntwortenAlexander Schulze

Predrag Stojadinovic

Forum & Downloadhttp://jwebsocket.org @jWebSocket

jWebSocket – Stay Connected 4511.10.2010