Introduction au WebSockets via le projet Atmosphere
-
Upload
jfarcand -
Category
Technology
-
view
1.605 -
download
1
description
Transcript of Introduction au WebSockets via le projet Atmosphere
![Page 1: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/1.jpg)
WebSockets et Atmosphere
Jeanfrancois Arcand
twitter.com/jfarcand facebook.com/jeanfrancois.arcand.3
![Page 2: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/2.jpg)
Who is Wordnik?
•Founded in 2008 by Erin McKean
•"Understand meaning of words automatically"
•Patented "Free-Range Definition" technology
•Constructed largest (known) English Word Graph
We do Discovery – in real time!!
![Page 3: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/3.jpg)
Atmosphere
Apache 2 Github ~450 « followers »
20 000 et plus téléchargement
par mois!
Client + serverSupporté
par + de 25
frameworks
Scala, Groovy,
JRuby, Java
1.0.0.beta1
Depuis 2008
![Page 4: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/4.jpg)
Atmosphere
Apache 2 Github ~450 « followers »
Depuis 2008
20 000 et plus téléchargement
par mois!
Client + serverSupporté
par + de 25
frameworks
Scala, Groovy,
JRuby, Java
Très Très actif!!!
![Page 5: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/5.jpg)
WSJ.com
•40 millions de requêtes par jours
•Atmosphere 0.9.4/Jetty 8.1.3
•Websockets => long-polling => JSONP
•IE 6/7/8/9/10, Chrome XX, Firefox 3/12, Safari XX
•WebSockets: IE 10, Chrome 14, Firefox 8, Safari 5
![Page 6: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/6.jpg)
Mon WebSocket au Canada!
WebSocket
![Page 7: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/7.jpg)
Mon WebSocket au Canada!
WebSocket
C’est quoi
![Page 8: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/8.jpg)
Mon WebSocket au Canada!
WebSocket
N’importe quoi!
C’est quoi
![Page 9: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/9.jpg)
Mon WebSocket au Canada!
WebSocket
N’importe quoi!
C’est quoi
Atmosphere
![Page 10: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/10.jpg)
Mon WebSocket au Canada!
WebSocket
N’importe quoi!
C’est quoi
Atmosphere
Concepts
![Page 11: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/11.jpg)
Mon WebSocket au Canada!
WebSocket
N’importe quoi!
C’est quoi
Atmosphere
DémoConcepts
![Page 12: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/12.jpg)
Le protocole WebSocket vise à développer un canal de communication bidirectionnel et « full-duplex » sur un socket TCP pour les fureteurs et les serveurs web.
WebSockets
![Page 13: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/13.jpg)
Avant (Long-Polling)
Fureteur
Server
Requête
![Page 14: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/14.jpg)
Avant (Long-Polling)
Fureteur
Requête
Server
![Page 15: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/15.jpg)
Avant (Long-Polling)
Fureteur
Requête
Réponse
Server
![Page 16: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/16.jpg)
Oups!!
Fureteur
ServerRien
Requête
![Page 17: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/17.jpg)
Oups!
Fureteur
Requête
Server
Zzzz
![Page 18: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/18.jpg)
Mieux!
Fureteur
Server
Cache
Requête
![Page 19: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/19.jpg)
Mieux!
Requête
Server
Cache
Réponse
Fureteur
![Page 20: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/20.jpg)
A la limite (HTTP Streaming)
Fureteur
Server
Requête
![Page 21: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/21.jpg)
A la limite (HTTP Streaming)
Fureteur
Requête
Server
![Page 22: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/22.jpg)
A la limite (HTTP Streaming)
Fureteur
Requête
Réponse
Server
![Page 23: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/23.jpg)
A la limite (HTTP Streaming)
Fureteur
Requête
Réponse
Réponse
Server
![Page 24: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/24.jpg)
Oups!!
Fureteur
Requête
Réponse
Réponse
Server
L’enfer
![Page 25: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/25.jpg)
A la limite (HTTP Streaming)
Fureteur
Requête
Réponse
Réponse
Server
L’enfer
Hack
![Page 26: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/26.jpg)
Oups!!!
Fureteur
Requête
Réponse
Réponse
Server
Proxy
![Page 27: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/27.jpg)
Mieux
Fureteur
Requête
Réponse
Réponse
Server
Cache
![Page 28: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/28.jpg)
Mieux
Fureteur
Requête
Réponse
Réponse
Server
Cache« HeartBea
t »
![Page 29: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/29.jpg)
Mieux: Server Side Events (SSE)
Fureteur
Requête
Réponse
Réponse
Server
![Page 30: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/30.jpg)
Oups!!!
Fureteur
Requête
Réponse
Réponse
Server
Proxy
![Page 31: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/31.jpg)
Mieux
Fureteur
Requête
Réponse
Réponse
Server
Cache« HeartBea
t »
![Page 32: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/32.jpg)
WebSockets
Fureteur
Server
Hanshake
![Page 33: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/33.jpg)
WebSockets
Fureteur
Server
Hanshake
OK
![Page 34: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/34.jpg)
WebSockets
Fureteur
Server
Requête
![Page 35: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/35.jpg)
WebSockets
Fureteur
Requête
Server
![Page 36: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/36.jpg)
WebSockets
Fureteur
Server
Réponse
![Page 37: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/37.jpg)
WebSockets
Fureteur
Server
Requête
![Page 38: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/38.jpg)
WebSockets
Fureteur
Server
Requête
Requête
![Page 39: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/39.jpg)
WebSockets
Fureteur
Requête
Requête
Server
![Page 40: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/40.jpg)
WebSockets
Fureteur
Server
Réponse
Réponse
![Page 41: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/41.jpg)
A TOUS moment
Fureteur
Réponse
Server
![Page 42: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/42.jpg)
Ah la belle vie, la vie, la vie ahah!
Fureteur
Réponse
Server
![Page 43: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/43.jpg)
Oups!!
Fureteur
Réponse
Server
Proxy
![Page 44: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/44.jpg)
Mieux!
Fureteur
Réponse
Server
Cache
![Page 45: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/45.jpg)
T 127.0.0.1:65062 -> 127.0.0.1:8080 [AP]
GET / HTTP/1.1.
Upgrade: websocket.
Connection: Upgrade.
Host: 127.0.0.1:8080.
Origin: http://127.0.0.1:8080.
Sec-WebSocket-Key: Tz9qdt3lmte6Slf+GvpRqQ==.
Sec-WebSocket-Version: 13.
Sec-WebSocket-Extensions: x-webkit-deflate-frame.
Première requête
![Page 46: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/46.jpg)
T 127.0.0.1:8080 -> 127.0.0.1:51292 [AP]
HTTP/1.1 101 Switching Protocols.
Upgrade: WebSocket.
Connection: Upgrade.
Sec-WebSocket-Accept: HVXA7SqH5uYeN6aD9tZ0JQbfTJA=.
Réponse
![Page 47: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/47.jpg)
T 127.0.0.1:8080 -> 127.0.0.1:51292 [AP]
HTTP/1.1 101 Switching Protocols.
Upgrade: WebSocket.
Connection: Upgrade.
Sec-WebSocket-Accept: HVXA7SqH5uYeN6aD9tZ0JQbfTJA=.
Ah la belle vie, la vie, la vie, ahah
![Page 48: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/48.jpg)
T 127.0.0.1:8080 -> 127.0.0.1:65064 [AP]
HTTP/1.1 501 Not Implemented.
Server: Apache-Coyote/1.1.
X-Atmosphere-error: Websocket protocol not supported.
Transfer-Encoding: chunked.
Date: Fri, 15 Jun 2012 10:06:30 GMT.
Connection: close.
.
OUPS!!!
![Page 49: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/49.jpg)
WebSocket API – Standard JavaScript
websocket = new WebSocket(wsUri);
websocket.onopen = function(evt) { …};
websocket.onclose = function(evt) { …};
websocket.onmessage = function(evt) { …};
websocket.onerror = function(evt) { …};
webSocket.send(…)
![Page 50: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/50.jpg)
WebSocket API – Java
Jetty 7, GlassFish 3.1, Netty 3, Tomcat 7.0.27, Resin 4, JBoss Plugin
JSR 356: http://jcp.org/en/jsr/detail?id=356
AHC (Client -> De facto)
http://github.com/sonatype/async-http-client
![Page 51: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/51.jpg)
Ah la belle vie, la vie, la vie, ahah
![Page 52: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/52.jpg)
OUPS!!!
![Page 53: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/53.jpg)
C’est parti!
Tomcat7
Jetty7
Jetty8
GlassFish3.
GlassFish
312
Firefox
Safari
Opera
Chrome
IE
![Page 54: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/54.jpg)
N’importe quoi
Tomcat7
Jetty7
Jetty8
GlassFish3.
GlassFish
312
Firefox
Safari
Opera
Chrome
IE
![Page 55: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/55.jpg)
N’importe quoi
Tomcat7
Jetty7
Jetty8
GlassFish3.
GlassFish
312
Firefox
Safari
Opera
Chrome
IE
Au Secour
s!!
![Page 56: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/56.jpg)
N’importe quoi
Tomcat7
Jetty7
Jetty8
GlassFish3.
GlassFish
312
Firefox
Safari
Opera
Chrome
IE
Au Secour
s!!
Streaming
![Page 57: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/57.jpg)
N’importe quoi
Tomcat7
Jetty7
Jetty8
GlassFish3.
GlassFish
312
Firefox
Safari
Opera
Chrome
IE
Au Secour
s!!
Streaming
SSE
![Page 58: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/58.jpg)
N’importe quoi
Tomcat7
Jetty7
Jetty8
GlassFish3.
GlassFish
312
Firefox
Safari
Opera
Chrome
IE
Au Secour
s!!
Streaming
SSE
JSONP
![Page 59: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/59.jpg)
N’importe quoi
Tomcat7
Jetty7
Jetty8
GlassFish3.
GlassFish
312
Firefox
Safari
Opera
Chrome
IE
Au Secour
s!!
Streaming
SSE
Long Polling
JSONP
![Page 60: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/60.jpg)
Tomcat7
Jetty7
Jetty8
GlassFish3.
GlassFish
312
Firefox
Safari
Opera
Chrome
IE
Atmosphere à la
rescousse!!!
![Page 61: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/61.jpg)
Atmosphere -WebSockets
Tomcat7
Jetty7
Jetty8
GlassFish3.
GlassFish
312
Firefox
Safari
Opera
Chrome
IE
atm
osp
here
.js
Atm
osp
here
API
![Page 62: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/62.jpg)
Atmosphere - HTML5 Server Side Events
Tomcat7
Jetty7
Servlet3
WebLogic
GlassFish
312
Firefox
Safari
Opera
Chrome
IE
atm
osp
here
.js
Atm
osp
here
API
![Page 63: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/63.jpg)
Atmosphere Long-Polling/HTTP Streaming
JBoss
Jetty7
Servlet3
WebLogic.
GlassFish
Firefox
Safari
Opera
Chrome
IE
atm
osp
here
.js
Atm
osp
here
API
![Page 64: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/64.jpg)
Atmosphere
JBoss
Jetty7
Servlet3
WebLogic.
GlassFish
Firefox
Safari
Opera
Chrome
IE
atm
osp
here
.js
Atm
osp
here
API
Même API, peut
importe le transport!!
![Page 65: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/65.jpg)
Socket.IO, GWT, Wicket, JSF, etc.
JBoss
Jetty7
Servlet3
WebLogic.
GlassFish
Firefox
Safari
Opera
Chrome
IE
Sock
et.
IO
Atm
osp
here
API
![Page 66: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/66.jpg)
PORTABLE!!!!!
JBoss
Jetty7
Servlet3
WebLogic.
GlassFish
Firefox
Safari
Opera
Chrome
IE
Sock
et.
IO
Atm
osp
here
API
PORTABLE
![Page 67: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/67.jpg)
•Tout framework ne supportant que les WebSockets
Mise en production
IMPOSSIBLE
Grosse Erreur!!!!!
![Page 68: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/68.jpg)
Atmosphere
![Page 69: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/69.jpg)
•Suspend: décrocher la ligne
•Resume: racrocher la ligne
•Broadcast: parler sur une ou plusieurs lignes, seul, à deux ou plusieurs.
Définition
![Page 70: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/70.jpg)
Requête Normale
Fureteur
Fureteur
Fureteur
Server
![Page 71: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/71.jpg)
Requête Normale
Fureteur
Fureteur
Fureteur
Server
![Page 72: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/72.jpg)
Suspend
Fureteur
Fureteur
Fureteur
Server
![Page 73: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/73.jpg)
Suspend
Fureteur
Fureteur
Fureteur
ServerS
![Page 74: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/74.jpg)
Suspend
Fureteur
Fureteur
Fureteur
ServerS
![Page 75: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/75.jpg)
Suspend
Fureteur
Fureteur
Fureteur
ServerS
![Page 76: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/76.jpg)
Broadcast
Fureteur
Fureteur
Fureteur
SB
Server
![Page 77: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/77.jpg)
Broadcast
Fureteur
Fureteur
Fureteur
SB
Server
![Page 78: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/78.jpg)
Resume
Fureteur
Fureteur
Fureteur
B
Server
R
![Page 79: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/79.jpg)
Resume
Fureteur
Fureteur
Fureteur
B
ServerS
![Page 80: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/80.jpg)
•Default: in-memory
•Nuage
• RedisBroadcaster
• JMSBroadcaster
• XMPPBroadcaster
• HazelcastBroadcaster
• JGroupsBroascaster
•Multi-Threads, Async I/O par default
Broadcaster
![Page 81: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/81.jpg)
Broadcaster Nuage
Fureteur
Fureteur
Fureteur S
Server
ServerS
![Page 82: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/82.jpg)
Broadcaster Nuage
Fureteur
Fureteur
Fureteur S
Server
ServerS
![Page 83: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/83.jpg)
Broadcaster Nuage
Fureteur
Fureteur
Fureteur S
B
Server
ServerS
![Page 84: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/84.jpg)
Broadcaster Nuage
Fureteur
Fureteur
Fureteur
BServer
Server
![Page 85: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/85.jpg)
Broadcaster Nuage
Fureteur
Fureteur
Fureteur Server
Server
B
![Page 86: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/86.jpg)
Broadcaster Nuage
Fureteur
Fureteur
Fureteur Server
Server
![Page 87: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/87.jpg)
•WebSocketHandler
• Seulement WebSocket (ATTENTION)!
•AtmosphereHandler
• Tout les protocoles
•Jersey Resource
• Tout les protocoles
•Meteor
• Tout les protocoles
Composantes Atmosphere
![Page 88: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/88.jpg)
•WebSocketProtocolDefinir sont propre WebSocket protocol.
•Atmosphere, par default, utilise le SimpleHttpProtocolMessage WebSocket transformé en HTTP POST, avec read/write asynchrone.
•SwaggerSocket: REST over WebSockets -> Protocol plus puissant
WebSocket Sub Protocol
![Page 89: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/89.jpg)
Construction d’une appli
![Page 90: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/90.jpg)
Hello, Swagger
•Swagger is…
• Spec for declaring an API schema
• A framework for auto-generating the spec
• A library for client library generation
• A JSON-based test framework
![Page 91: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/91.jpg)
What is this Resource Declaration?
•Listing of all available APIshttp://petstore.swagger.wordnik.com/api/resources.json
“It’s like a sitemap for your
API!”
![Page 92: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/92.jpg)
Démo
![Page 93: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/93.jpg)
But What about Speed?
•Yes! REST over HTTP is slow
• Connection overhead
• Marshaling & Unmarshaling overhead
• Chatter
• JSON/XML need to diet
•It's also…
• Synchronous
• GET/POST/PUT/DELETE don't cut it
Your prod Database isn't doing
REST
![Page 94: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/94.jpg)
•REST over WebSocket
•Protocole basé sur JSON
•Performance améliorée
•Simple
•Supporte également sur HTTP.
•Supporte le multi requètes/réponses.
SwaggerSocket
![Page 95: Introduction au WebSockets via le projet Atmosphere](https://reader037.fdocuments.us/reader037/viewer/2022103018/559187ba1a28abc24c8b465c/html5/thumbnails/95.jpg)
twitter.com/wordniktwitter.com/atmo_frameworktwitter.com/swaggersocket
http://github.com/Atmosphere/atmospherehttp://github.com/wordnik/
swaggersocket
Powered By Wordnik