2. Pardon?
• Worked 10 years for Sun Microsystems
• Active Commiter on Tomcat 4/5
• Active Commiter GlassFish 1/2/3
• Glassfish v3 extensible container kernel
• Performance/Scalability
• Creator of the Grizzly NIO Framework
• Creator of the AHC (AsyncHttpClient)
library
• Creator of Atmosphere
3. Atmosphere
Apache 2 Github ~470
« followers »
Client +
Supported server
~25
frameworks Scala, Groovy,
JRuby, Java
Since 2008
20 000 downloads per
months
1.0.0.beta3
4. Atmosphere
Apache 2 Github ~450
« followers »
Client +
Supported EXTREMEL
server
~25 Y ACTIVE
frameworks !!! Scala, Groovy,
JRuby, Java
Since2008
20 000 downloads per
months
1.0.0.beta2
10. Today’s Presentation
WebSocket
C’est quoi
Definition Free for
all!!!
all!
Atmospher
e
Concepts Demo
11. WebSockets
is a web technology providing for
bi-directional, full-duplex
communications channels over a
single TCP connection. The
WebSocket API is being
standardized by the W3C, and the
WebSocket protocol has been
standardized by the IETF as RFC
6455
52. Ready?
Safari Tomcat
7
Firefox Jetty7
Jetty8
Chrome
GlassFis
Opera h3.
GlassFis
IE h
312
53. Free for all
Safari Tomcat
7
Firefox Jetty7
Jetty8
Chrome
GlassFis
Opera h3.
GlassFis
IE h
312
54. Free for all
Safari Tomcat
7
Firefox Jetty7
Imdat!! Jetty8
Chrome
GlassFis
Opera h3.
GlassFis
IE h
312
55. Free for all
Safari Tomcat
7
Streamin Jetty7
Firefox
g
Imdat!! Jetty8
Chrome
GlassFis
Opera h3.
GlassFis
IE h
312
56. Free for all
Safari Tomcat
7
Streamin Jetty7
Firefox
g
Imdat!!SSE Jetty8
Chrome
GlassFis
Opera h3.
GlassFis
IE h
312
57. Free for all
Safari Tomcat
7
Streamin Jetty7
Firefox
g
Imdat!!SSE Jetty8
Chrome
GlassFis
Opera JSONP
h3.
GlassFis
IE h
312
58. Free for all
Safari Tomcat
7
Streamin Jetty7
Firefox
g
Imdat!!SSE Jetty8
Chrome
GlassFis
Opera
Long JSONP
h3.
GlassFis
IE Polling h
312
59. Safari Tomcat
7
Firefox Jetty7
Atmosphere
Chrome to the Jetty8
rescue!!! GlassFis
Opera h3.
GlassFis
IE h
312
60. Atmosphere -WebSockets
Safari Tomcat
7
Jetty7
Atmosphere API
Firefox
atmosphere.js
Jetty8
Chrome
GlassFis
Opera h3.
GlassFis
IE h
312
61. Atmosphere - HTML5 Server Side
Events
Safari Tomcat
7
Jetty7
Atmosphere API
Firefox
atmosphere.js
Servlet
Chrome
3
WebLogi
Opera c
GlassFis
IE h
312
62. Atmosphere Long-Polling/HTTP
Streaming
Safari JBoss
Jetty7
Atmosphere API
Firefox
atmosphere.js
Servlet
Chrome
3
WebLogi
Opera c.
GlassFis
IE h
63. Atmosphere
Safari JBoss
Jetty7
Atmosphere API
Firefox
atmosphere.js
Same
Chrome API, transport Servlet
3
independent!! WebLogi
Opera c.
GlassFis
IE h
64. Socket.IO, GWT, Wicket, JSF, etc.
Safari JBoss
Jetty7
Atmosphere API
Firefox
Socket.IO
Servlet
Chrome
3
WebLogi
Opera c.
GlassFis
IE h
65. PORTABLE!!!!!
Safari JBoss
Jetty7
Atmosphere API
Firefox
Socket.IO
PORTABLE Servlet
Chrome
3
WebLogi
Opera c.
GlassFis
IE h
66. Big Big Big Mistake
• Frameworkthat support ONLY
WebSockets
Going into
Production?
IMPOSSIBLE
95. Atmosphere API
• WebSocketHandler
• Only WebSocket (WARNING)!
• AtmosphereHandler
• All transport
• Jersey Resource
• All transport
• Meteor
• All transport
96. WebSocket Sub Protocol
• WebSocketProtocol
Define your own websocket protocol
• SimpleHttpProtocol
WebSocket’s message mapped to HTTP
POST, avec read/write asynchrone.
• SwaggerSocket:REST over
WebSockets -> Powerful Protocol