SlideShare a Scribd company logo
Web Sockets in Java EE 7
Sivasubramaniam Arunachalam
May 09, 2013
@sivaa_in
https://oraclein.activeevents.com/connect/sessionDetail.ww?SESSION_ID=1081&tclass=popup
Itā€™s me!
ā€¢ Product/Application Developer
ā€¢ Web/Enterprise/Middleware/B2B
ā€¢ Java/Java EE, Python/Django
ā€¢ 2002
ā€¢ Technical Consultant/Process Mentor
ā€¢ Member of BOJUG
ā€¢ Speaker
Agenda
ā€¢ Introduction to Web Sockets
ā€¢ History
ā€¢ Protocol Spec
ā€¢ Adoption
ā€¢ Java EE 7 Support
ā€¢ Demo
http://tweetping.net
Letā€™s warm up
Web 1.0Web 1.0
Web 2.0
Web 3.0
https://www.facebook.com/sitetour/chat.php
600+ M Active Users/Day
http://
1991
1995
2013
Still 22 Years Old
http?
http/tcp
(1974)(1991)
request / response
~ 2k bytes
~ 150 ms
State less
Real TimeReal Time~
4,0,0,0,0,0 | 2,0,1,ā€¦
http://www.espncricinfo.com/indian-premier-league-2013/engine/match/598051.html
SRH Score Card vs CSK
Over 1 (Mohit) Over 2 (Holder)
146/8 (20 Overs)
(May 08, 2013)
Pull Based (Polling)Periodic Polling (JS/AJAX)
Server Client
SRH 4/0
Latest Score?
Latest Score?
Latest Score?
Same
Same
Latest Score?
SRH 6/0
Latest Score?
Same
Ov 0.1
Ov 0.3
Ov 0.5
Ov 1.1
Ov 1.2
Push Based (Comet)Server Push/Long Polling (JS/AJAX/iframe)
Server Client
SRH 4/0
Latest Score?
Latest Score?
SRH 6/0
Latest Score?
Ov 0.1
Ov 0.2
Ov 1.1
Ov 1.2
ā€¢ Request / Response
ā€¢ Too Many
ā€¢ Server Connections
ā€¢ Heavy Headers
ā€¢ Outdated Content
StreamingServer Side Hack
Server Client
SRH 4/0 (1/n)
Latest Score?
SRH 6/0 (2/n)
SRH 146/8 (n/n)
Ov 0.1
Ov 1.1
Ov 20.0
Server Client
SRH 4/0
Latest Score?
SRH 4/0
SRH 6/0
SRH 146/8
ServerBuffer
SRH 6/0
SRH 146/8
PROXY
(1/n)
(n-1 to go)
(n/n)
(2/n)
(n-2 to go)
Ov 0.1
Ov 1.1
Ov 20.0
ā€¢ RTMP
ā€¢ Adobe
ā€¢ Are you Still using Flash?
ā€¢ RTD
ā€¢ Windows/Excel
ā€¢ Non Web
Others
Web Sockets (to rescue)
The Web Socket WayThe Original Route
Server Client
Hi Client!
Hey Server!
SRH 4/0
Update me the Score
SRH 6/0
SRH 146/8
Not Interested. Bye
Ov 0.1
Ov 1.1
Ov 20.0
Server Client
Hi Client!
Hey Server!
SRH 4/0
Update me the Score
SRH 6/0
SRH 7/0
Not Interested. Bye
Update Over info too
(1.3 ov)
(1.1 ov)
(0.5 ov)
(1.0 ov)
Ov 0.1
Ov 0.5
Ov 1.0
Ov 1.1
Ov 1.2 (1.2 ov)
Ov 1.3
The Background
https://webmq.tavendo.de:9090/help/faq
Letā€™s Meet Next Year (2014)
Server Side
ā€¢ Hand Shake
ā€¢ Data Transfer
RFC 6455
Client Side
ā€¢ Java Script API
ā€¢ Browser Behavior
https://webmq.tavendo.de:9090/help/faq
ā€¢ tcp
ā€¢ Full Duplex (Bi-Directional)
ā€¢ Native Browser Support
ā€¢ No Hacks
ā€¢ Not Limited to Web
Fundamentals
+ http
ā€¢ 80 / 443 (plain/secure)
ā€¢ No Proxy/Firewall pains
ā€¢ Stream of Messages (Not Bytes)
ā€¢ ws:// & wss://
ā€¢ Only ONE Connection (up/down streams)
The Spec
2 Bytes Header
(for each message)
Still Why?
~ 50 ms (Latency)
1000 x
3 x
http://www.codeproject.com/Articles/437342/DotNet-WebSocket-Programming
1 Message/Second to each Client
1,000 clients 10,000 clients 1,00,000 clients
ā€¢ GET (request)
ā€¢ 101 (response code)
ā€¢ Not 200 OK
ā€¢ http:// -> ws://
The Upgrade
RFC 2616 (14.42)
GET /demo HTTP/1.1
Origin : http://sivaa.in
Host : sivaa.in
Connection : Upgrade
Upgrade : WebSocket
WebSocket-Protocol : json, chat, <protocol>
WebSocket-extensions : compression, <extn>
WebSocket-Version : 10
Client Request
HTTP/1.1 101 Switching Protocols
Connection : Upgrade
Upgrade : WebSocket
WebSocket-Protocol : json, chat, <protocol>
WebSocket-Origin : http://sivaa.in
WebSocket-Location : ws://sivaa.in/demo
Server Response
Challenge by Client
Sec-WebSocket-Key : Key (Random 128 bits -> Base 64)
Response By Server
Sec-WebSocket-Accept : Key + GUID* (SHA1)
[NOT FOR SECURITY]
* 258EAFA5-E914-47DA- 95CA-C5AB0DC85B11 (RFC 6455)
Challenge - Response
http://tools.ietf.org/html/rfc6455#page-28
Client / ServerClient / Server
Peer <-> Peer
ā€¢ Frames (TCP)ā€¢
ā€¢ No request / response behavior
ā€¢ No Correlation too
ā€¢ Independent
ā€¢ # of requests != # of responses
Data Transfer
ā€¢ Headers
ā€¢ Cookies
ā€¢ Authentication
And No
ā€¢ Custom Message Patterns
ā€¢ Technical / Business
ā€¢ Request / Response
ā€¢ 1 ā€“ 1
ā€¢ 1 to Many
ā€¢ Acknowledgements
Sub Protocols
Sub Protocols - Current
http://www.iana.org/assignments/websocket/websocket.xml#subprotocol-name
Extensions
ā€¢ Compression
ā€¢ Multiplexing
ā€¢ Private Extenstions (x-)
Client -> Ping
Server -> Pong
Ping / Pong
ā€¢ Keep-Alive
ā€¢ Heart Beat
ā€¢ Latency Metrics
ā€¢ N/W Status Probing
ā€¢ Detect Failed Connections
Browser Support
http://caniuse.com/websockets
Server Support
IDL (Java Script)
http://www.w3.org/TR/websockets/
http://www.w3.org/TR/websockets/
http://www.w3.org/TR/websockets/
http://www.w3.org/TR/websockets/
http://www.w3.org/TR/websockets/
1. var ws = new WebSocket("ws://sivaa.in/demo");
2. ws.onopen = function() {
ws.send("Hello Server!");
};
3. ws.onmessage = function(event) {
alert("Reply from Server " + event.data);
};
n-1. ws.send("This is the message sent by the client");
n. ws.close()
Developer Friendly
CONNECTING
OPEN
CLOSING
CLOSED
ā€¢ Closing Long Lived Connections
ā€¢ Unresponsive Server
ā€¢ Buffering Server Response
ā€¢ Non Encryption
ā€¢ More Latency
The Guards
(Proxy / Firewall)
ā€¢ Web Sockets isnā€™t Proxy aware
ā€¢ Stripping HTTP Headers
ā€¢ Upgrade
ā€¢ Options to disable
ā€¢ Rejecting Server Response
ā€¢ Frames (HTTP Headers Expected)
ā€¢ wss:// - No issues
Web Sockets and
The Guards
ā€¢ 501
ā€¢ 301
ā€¢ Limited Support
ā€¢ Inconsistent Behavior
The Hidden Blades
ā€¢ No Polling (0%)
ā€¢ Low Bandwidth
ā€¢ Low Latency
ā€¢ High Interoperability (expected)
Some Marketing Facts
The Vendors
(Server/Client/Proxy)
http://static.ibnlive.in.com/ibnlive/pix/slideshow/12-2011/happy-birthday-rajinikaths/rajini-dec11-8.jpg
http://media2.intoday.in/indiatoday/images/stories//2012december/rajinikanth_660_121112060009.jpg
ā€¢ Web Socket
ā€¢ Flash
ā€¢ Long Polling
ā€¢ Multi-Part Streaming
ā€¢ Forever Frame
ā€¢ Long Polling JSONP
The Best Approach
ā€¢ SSE (Server Side Events)
ā€¢ SPDY
Web Sockets vs
ā€¢ JSR 356
ā€¢ Java EE 7
ā€¢ Tyrus ( http://tyrus.java.net/ )
ā€¢ Web Socket SDK
ā€¢ Reference Implementation
Java EE 7 & Web Socket
ā€¢ Handshake Response to Clients
ā€¢ Source/Origin Check
ā€¢ URI Resolving & Matching
ā€¢ Sub Protocols Negotiation
ā€¢ Extension Negotiation
Server Side Capabilities
(Expected)
Handlers
Handler Purpose
End Point To handle life cycle events
Session To represent currently active session
Remote End Point To represent a peer
Message Handler To handle incoming messages
Error Handler Handler for error scenarios
ā€¢ Interface Driven
ā€¢ Annotation Driven
Models
ā€¢ Text Based
ā€¢ Binary
ā€¢ Ping/Pong
Message Types
ā€¢ Text
ā€¢ TextStream
ā€¢ Binary
ā€¢ BinaryStream
Encoders/Decoders
ā€¢ javax.websocket.*
ā€¢ javax.websocket.server.*
ā€¢ javax.net.websocket.*
Packages
Recent Refactoring Changes
https://blogs.oracle.com/PavelBucek/entry/tyrus_1_0_b12_released (Feb 27, 2013)
Web Sockets & Servlet 3.1
ā€¢ HTTP Upgrade
ā€¢ HttpServletRequest.upgrade()
ā€¢ javax.servlet.http.HttpUpgradeHandler
ā€¢ javax.servlet.http.WebConnection
ā€¢ Apache Tomcat 7
ā€¢ GlassFish 3.1
ā€¢ Jetty 7
ā€¢ JBoss 7
ā€¢ And much more
Web Server Support
https://java.net/projects/websocket-spec/pages/WebSocketAPIs
17+
ā€¢ Annotations / Interface
ā€¢ Reference Implementation
ā€¢ Web Sockets SDK / mvn
ā€¢ Samples to Begin with
GlassFish
Lets Play!
ā€¢ Subversion (svn)
ā€¢ Maven (mvn)
ā€¢ NetBeans IDE (7.3)
ā€¢ Glassfish Promoted Build (latest)
Tools (which I use)
1. Get your tools ready
2. Configure GlassFish in NetBeans
3. # svn checkout
http://svn.java.net/svn/websocket-sdk~source-code-repository/trunk/samples/
4. # mvn clean install
5. Import in Latest Net Beans
6. Run it
Steps
Demo
Thank You!
siva@sivaa.in
bit.ly/sivasubramaniambit.ly/sivaa_in
References
ā€¢ http://www.inc.com/ss/brief-history-time-management#7
ā€¢ http://resources3.news.com.au/images/2013/01/30/1226564/845955-tim-berners-lee.jpg
ā€¢ http://netdna.webdesignerdepot.com/uploads/2009/01/macii.jpg#old%20apple%20computer%20559x450
ā€¢ http://3.bp.blogspot.com/_zVkfb2MIt4A/S8f_qzhuhRI/AAAAAAAAAjg/2idf7_G4wxo/s1600/apple-imac.png
ā€¢ http://www.softwareforeducation.com/wikileki/images/c/c4/Simplex-half-full.gif
ā€¢ http://www.mediafly.com/wp-content/uploads/Speed_Rocket-2.png
ā€¢ http://weaponsman.com/wp-content/uploads/2013/01/thumbs-down.png
ā€¢ http://m.flikie.com/ImageData/WallPapers/d1bef9f8be6d479387953929c766699a.jpg
ā€¢ http://www.tavendo.de/webmq/resources/faq
ā€¢ http://deadliestwebattacks.com/tag/websocket/
ā€¢ http://en.wikipedia.org/wiki/WebSocket
ā€¢ http://www.infoq.com/articles/Web-Sockets-Proxy-Servers
ā€¢ http://media2.intoday.in/indiatoday/images/stories//2012december/rajinikanth_660_121112060009.jpg

More Related Content

What's hot

Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014
Arun Gupta
Ā 
Life on the Edge with ESI
Life on the Edge with ESILife on the Edge with ESI
Life on the Edge with ESI
Kit Chan
Ā 
Jetty Continuation - ģ“ģƒėƼ
Jetty Continuation - ģ“ģƒėƼJetty Continuation - ģ“ģƒėƼ
Jetty Continuation - ģ“ģƒėƼ
JavaCommunity.Org
Ā 
Great Java Application Server Debate
Great Java Application Server DebateGreat Java Application Server Debate
Great Java Application Server DebateHamed Hatami
Ā 
HTML5 WebSockets
HTML5 WebSocketsHTML5 WebSockets
HTML5 WebSockets
Harri HƤmƤlƤinen
Ā 
SPDY
SPDYSPDY
Jetty 9 ā€“ The Next Generation Servlet Container
Jetty 9 ā€“ The Next Generation Servlet ContainerJetty 9 ā€“ The Next Generation Servlet Container
Jetty 9 ā€“ The Next Generation Servlet Container
Codemotion
Ā 
Do We Need Containers Anyway?
Do We Need Containers Anyway?Do We Need Containers Anyway?
Do We Need Containers Anyway?Dmitry Buzdin
Ā 
HTTP 2.0 ā€“ What do I need to know?
HTTP 2.0 ā€“ What do I need to know? HTTP 2.0 ā€“ What do I need to know?
HTTP 2.0 ā€“ What do I need to know?
Sigma Software
Ā 
IBM Think 2018 - IBM Connections Troubleshooting
IBM Think 2018 -  IBM Connections TroubleshootingIBM Think 2018 -  IBM Connections Troubleshooting
IBM Think 2018 - IBM Connections Troubleshooting
Nico Meisenzahl
Ā 
Webinar: IBM Connections Adminblast
Webinar: IBM Connections AdminblastWebinar: IBM Connections Adminblast
Webinar: IBM Connections Adminblast
Nico Meisenzahl
Ā 
The HTML5 WebSocket API
The HTML5 WebSocket APIThe HTML5 WebSocket API
The HTML5 WebSocket API
David Lindkvist
Ā 
Nexcess Magento Imagine 2014 Performance Breakout
Nexcess Magento Imagine 2014 Performance BreakoutNexcess Magento Imagine 2014 Performance Breakout
Nexcess Magento Imagine 2014 Performance Breakout
Nexcess.net LLC
Ā 
vlavrynovych - WebSockets Presentation
vlavrynovych - WebSockets Presentationvlavrynovych - WebSockets Presentation
vlavrynovych - WebSockets PresentationVolodymyr Lavrynovych
Ā 
Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014
Arun Gupta
Ā 
HTML5 WebSocket: The New Network Stack for the Web
HTML5 WebSocket: The New Network Stack for the WebHTML5 WebSocket: The New Network Stack for the Web
HTML5 WebSocket: The New Network Stack for the Web
Peter Lubbers
Ā 
SPDY - or maybe HTTP2.0
SPDY - or maybe HTTP2.0SPDY - or maybe HTTP2.0
SPDY - or maybe HTTP2.0
Andreas BjƤrlestam
Ā 
CollabSphere SC 103 : Domino on the Web : Yes, It's (Probably) Hackable
CollabSphere SC 103 : Domino on the Web : Yes, It's (Probably) HackableCollabSphere SC 103 : Domino on the Web : Yes, It's (Probably) Hackable
CollabSphere SC 103 : Domino on the Web : Yes, It's (Probably) Hackable
Darren Duke
Ā 
Intro to WebSockets
Intro to WebSocketsIntro to WebSockets
Intro to WebSocketsGaurav Oberoi
Ā 
Websocket protocol overview
Websocket protocol overviewWebsocket protocol overview
Websocket protocol overview
allenmeng
Ā 

What's hot (20)

Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014
Ā 
Life on the Edge with ESI
Life on the Edge with ESILife on the Edge with ESI
Life on the Edge with ESI
Ā 
Jetty Continuation - ģ“ģƒėƼ
Jetty Continuation - ģ“ģƒėƼJetty Continuation - ģ“ģƒėƼ
Jetty Continuation - ģ“ģƒėƼ
Ā 
Great Java Application Server Debate
Great Java Application Server DebateGreat Java Application Server Debate
Great Java Application Server Debate
Ā 
HTML5 WebSockets
HTML5 WebSocketsHTML5 WebSockets
HTML5 WebSockets
Ā 
SPDY
SPDYSPDY
SPDY
Ā 
Jetty 9 ā€“ The Next Generation Servlet Container
Jetty 9 ā€“ The Next Generation Servlet ContainerJetty 9 ā€“ The Next Generation Servlet Container
Jetty 9 ā€“ The Next Generation Servlet Container
Ā 
Do We Need Containers Anyway?
Do We Need Containers Anyway?Do We Need Containers Anyway?
Do We Need Containers Anyway?
Ā 
HTTP 2.0 ā€“ What do I need to know?
HTTP 2.0 ā€“ What do I need to know? HTTP 2.0 ā€“ What do I need to know?
HTTP 2.0 ā€“ What do I need to know?
Ā 
IBM Think 2018 - IBM Connections Troubleshooting
IBM Think 2018 -  IBM Connections TroubleshootingIBM Think 2018 -  IBM Connections Troubleshooting
IBM Think 2018 - IBM Connections Troubleshooting
Ā 
Webinar: IBM Connections Adminblast
Webinar: IBM Connections AdminblastWebinar: IBM Connections Adminblast
Webinar: IBM Connections Adminblast
Ā 
The HTML5 WebSocket API
The HTML5 WebSocket APIThe HTML5 WebSocket API
The HTML5 WebSocket API
Ā 
Nexcess Magento Imagine 2014 Performance Breakout
Nexcess Magento Imagine 2014 Performance BreakoutNexcess Magento Imagine 2014 Performance Breakout
Nexcess Magento Imagine 2014 Performance Breakout
Ā 
vlavrynovych - WebSockets Presentation
vlavrynovych - WebSockets Presentationvlavrynovych - WebSockets Presentation
vlavrynovych - WebSockets Presentation
Ā 
Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014
Ā 
HTML5 WebSocket: The New Network Stack for the Web
HTML5 WebSocket: The New Network Stack for the WebHTML5 WebSocket: The New Network Stack for the Web
HTML5 WebSocket: The New Network Stack for the Web
Ā 
SPDY - or maybe HTTP2.0
SPDY - or maybe HTTP2.0SPDY - or maybe HTTP2.0
SPDY - or maybe HTTP2.0
Ā 
CollabSphere SC 103 : Domino on the Web : Yes, It's (Probably) Hackable
CollabSphere SC 103 : Domino on the Web : Yes, It's (Probably) HackableCollabSphere SC 103 : Domino on the Web : Yes, It's (Probably) Hackable
CollabSphere SC 103 : Domino on the Web : Yes, It's (Probably) Hackable
Ā 
Intro to WebSockets
Intro to WebSocketsIntro to WebSockets
Intro to WebSockets
Ā 
Websocket protocol overview
Websocket protocol overviewWebsocket protocol overview
Websocket protocol overview
Ā 

Similar to Web sockets in java EE 7 - JavaOne 2013

JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at ScaleJUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
C2B2 Consulting
Ā 
Websocket vs SSE - Paris.js - 24/06/15
Websocket vs SSE - Paris.js - 24/06/15Websocket vs SSE - Paris.js - 24/06/15
Websocket vs SSE - Paris.js - 24/06/15
streamdata.io
Ā 
Consuming REST Services in BizTalk 2010
Consuming REST Services in BizTalk 2010Consuming REST Services in BizTalk 2010
Consuming REST Services in BizTalk 2010
Daniel Toomey
Ā 
Art and Science of Web Sites Performance: A Front-end Approach
Art and Science of Web Sites Performance: A Front-end ApproachArt and Science of Web Sites Performance: A Front-end Approach
Art and Science of Web Sites Performance: A Front-end Approach
Jiang Zhu
Ā 
Speed = $$$
Speed = $$$Speed = $$$
Speed = $$$
Peter Gfader
Ā 
Stack Exchange Infrastructure - LISA 14
Stack Exchange Infrastructure - LISA 14Stack Exchange Infrastructure - LISA 14
Stack Exchange Infrastructure - LISA 14
GABeech
Ā 
Data power v7 update - Ravi Katikala
Data power v7 update - Ravi KatikalaData power v7 update - Ravi Katikala
Data power v7 update - Ravi Katikalafloridawusergroup
Ā 
The Real World - Plugging the Enterprise Into It (nodejs)
The Real World - Plugging  the Enterprise Into It (nodejs)The Real World - Plugging  the Enterprise Into It (nodejs)
The Real World - Plugging the Enterprise Into It (nodejs)
Aman Kohli
Ā 
WebSockets wiith Scala and Play! Framework
WebSockets wiith Scala and Play! FrameworkWebSockets wiith Scala and Play! Framework
WebSockets wiith Scala and Play! Framework
Fabio Tiriticco
Ā 
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/MinAdvanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Masahiro Nagano
Ā 
OTG-Recon
OTG-ReconOTG-Recon
Top 10 HTML5 Features for Oracle Cloud Developers
Top 10 HTML5 Features for Oracle Cloud DevelopersTop 10 HTML5 Features for Oracle Cloud Developers
Top 10 HTML5 Features for Oracle Cloud Developers
Brian Huff
Ā 
Mihai tataran developing modern web applications
Mihai tataran   developing modern web applicationsMihai tataran   developing modern web applications
Mihai tataran developing modern web applications
ITCamp
Ā 
WebSockets On Fire
WebSockets On FireWebSockets On Fire
WebSockets On Fire
Jef Claes
Ā 
computer networking
computer networkingcomputer networking
computer networking
seyvan rahimi
Ā 
Web-Socket
Web-SocketWeb-Socket
Web-Socket
Pankaj Kumar Sharma
Ā 
CTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowCTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowSpiffy
Ā 
Best practices of building data streaming API
Best practices of building data streaming APIBest practices of building data streaming API
Best practices of building data streaming API
Constantine Slisenka
Ā 
BizTalk Server 2010 - Invoking Restful Services - EPC Group
BizTalk Server 2010 - Invoking Restful Services - EPC GroupBizTalk Server 2010 - Invoking Restful Services - EPC Group
BizTalk Server 2010 - Invoking Restful Services - EPC Group
EPC Group
Ā 
State of the Web
State of the WebState of the Web
State of the WebDmitry Buzdin
Ā 

Similar to Web sockets in java EE 7 - JavaOne 2013 (20)

JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at ScaleJUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
Ā 
Websocket vs SSE - Paris.js - 24/06/15
Websocket vs SSE - Paris.js - 24/06/15Websocket vs SSE - Paris.js - 24/06/15
Websocket vs SSE - Paris.js - 24/06/15
Ā 
Consuming REST Services in BizTalk 2010
Consuming REST Services in BizTalk 2010Consuming REST Services in BizTalk 2010
Consuming REST Services in BizTalk 2010
Ā 
Art and Science of Web Sites Performance: A Front-end Approach
Art and Science of Web Sites Performance: A Front-end ApproachArt and Science of Web Sites Performance: A Front-end Approach
Art and Science of Web Sites Performance: A Front-end Approach
Ā 
Speed = $$$
Speed = $$$Speed = $$$
Speed = $$$
Ā 
Stack Exchange Infrastructure - LISA 14
Stack Exchange Infrastructure - LISA 14Stack Exchange Infrastructure - LISA 14
Stack Exchange Infrastructure - LISA 14
Ā 
Data power v7 update - Ravi Katikala
Data power v7 update - Ravi KatikalaData power v7 update - Ravi Katikala
Data power v7 update - Ravi Katikala
Ā 
The Real World - Plugging the Enterprise Into It (nodejs)
The Real World - Plugging  the Enterprise Into It (nodejs)The Real World - Plugging  the Enterprise Into It (nodejs)
The Real World - Plugging the Enterprise Into It (nodejs)
Ā 
WebSockets wiith Scala and Play! Framework
WebSockets wiith Scala and Play! FrameworkWebSockets wiith Scala and Play! Framework
WebSockets wiith Scala and Play! Framework
Ā 
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/MinAdvanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Ā 
OTG-Recon
OTG-ReconOTG-Recon
OTG-Recon
Ā 
Top 10 HTML5 Features for Oracle Cloud Developers
Top 10 HTML5 Features for Oracle Cloud DevelopersTop 10 HTML5 Features for Oracle Cloud Developers
Top 10 HTML5 Features for Oracle Cloud Developers
Ā 
Mihai tataran developing modern web applications
Mihai tataran   developing modern web applicationsMihai tataran   developing modern web applications
Mihai tataran developing modern web applications
Ā 
WebSockets On Fire
WebSockets On FireWebSockets On Fire
WebSockets On Fire
Ā 
computer networking
computer networkingcomputer networking
computer networking
Ā 
Web-Socket
Web-SocketWeb-Socket
Web-Socket
Ā 
CTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowCTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should Know
Ā 
Best practices of building data streaming API
Best practices of building data streaming APIBest practices of building data streaming API
Best practices of building data streaming API
Ā 
BizTalk Server 2010 - Invoking Restful Services - EPC Group
BizTalk Server 2010 - Invoking Restful Services - EPC GroupBizTalk Server 2010 - Invoking Restful Services - EPC Group
BizTalk Server 2010 - Invoking Restful Services - EPC Group
Ā 
State of the Web
State of the WebState of the Web
State of the Web
Ā 

More from Siva Arunachalam

Introduction to EDI(Electronic Data Interchange)
Introduction to EDI(Electronic Data Interchange)Introduction to EDI(Electronic Data Interchange)
Introduction to EDI(Electronic Data Interchange)
Siva Arunachalam
Ā 
Introduction to logging in django
Introduction to logging in djangoIntroduction to logging in django
Introduction to logging in django
Siva Arunachalam
Ā 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven Development
Siva Arunachalam
Ā 
Setup a New Virtualenv for Django in Windows
Setup a New Virtualenv for Django in WindowsSetup a New Virtualenv for Django in Windows
Setup a New Virtualenv for Django in Windows
Siva Arunachalam
Ā 
What's New in Django 1.6
What's New in Django 1.6What's New in Django 1.6
What's New in Django 1.6
Siva Arunachalam
Ā 
Introduction to Browser Internals
Introduction to Browser InternalsIntroduction to Browser Internals
Introduction to Browser Internals
Siva Arunachalam
Ā 
Python for High School Programmers
Python for High School ProgrammersPython for High School Programmers
Python for High School ProgrammersSiva Arunachalam
Ā 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud ComputingSiva Arunachalam
Ā 
Simplify AJAX using jQuery
Simplify AJAX using jQuerySimplify AJAX using jQuery
Simplify AJAX using jQuerySiva Arunachalam
Ā 
Introduction to Browser DOM
Introduction to Browser DOMIntroduction to Browser DOM
Introduction to Browser DOMSiva Arunachalam
Ā 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginnersSiva Arunachalam
Ā 
Installing MySQL for Python
Installing MySQL for PythonInstalling MySQL for Python
Installing MySQL for Python
Siva Arunachalam
Ā 
Using Eclipse and Installing PyDev
Using Eclipse and Installing PyDevUsing Eclipse and Installing PyDev
Using Eclipse and Installing PyDev
Siva Arunachalam
Ā 
Installing Python 2.7 in Windows
Installing Python 2.7 in WindowsInstalling Python 2.7 in Windows
Installing Python 2.7 in Windows
Siva Arunachalam
Ā 
Setup a New Virtualenv for Django in Windows
Setup a New Virtualenv for Django in WindowsSetup a New Virtualenv for Django in Windows
Setup a New Virtualenv for Django in Windows
Siva Arunachalam
Ā 
Introduction to Google APIs
Introduction to Google APIsIntroduction to Google APIs
Introduction to Google APIs
Siva Arunachalam
Ā 
Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to DjangoSiva Arunachalam
Ā 

More from Siva Arunachalam (17)

Introduction to EDI(Electronic Data Interchange)
Introduction to EDI(Electronic Data Interchange)Introduction to EDI(Electronic Data Interchange)
Introduction to EDI(Electronic Data Interchange)
Ā 
Introduction to logging in django
Introduction to logging in djangoIntroduction to logging in django
Introduction to logging in django
Ā 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven Development
Ā 
Setup a New Virtualenv for Django in Windows
Setup a New Virtualenv for Django in WindowsSetup a New Virtualenv for Django in Windows
Setup a New Virtualenv for Django in Windows
Ā 
What's New in Django 1.6
What's New in Django 1.6What's New in Django 1.6
What's New in Django 1.6
Ā 
Introduction to Browser Internals
Introduction to Browser InternalsIntroduction to Browser Internals
Introduction to Browser Internals
Ā 
Python for High School Programmers
Python for High School ProgrammersPython for High School Programmers
Python for High School Programmers
Ā 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
Ā 
Simplify AJAX using jQuery
Simplify AJAX using jQuerySimplify AJAX using jQuery
Simplify AJAX using jQuery
Ā 
Introduction to Browser DOM
Introduction to Browser DOMIntroduction to Browser DOM
Introduction to Browser DOM
Ā 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
Ā 
Installing MySQL for Python
Installing MySQL for PythonInstalling MySQL for Python
Installing MySQL for Python
Ā 
Using Eclipse and Installing PyDev
Using Eclipse and Installing PyDevUsing Eclipse and Installing PyDev
Using Eclipse and Installing PyDev
Ā 
Installing Python 2.7 in Windows
Installing Python 2.7 in WindowsInstalling Python 2.7 in Windows
Installing Python 2.7 in Windows
Ā 
Setup a New Virtualenv for Django in Windows
Setup a New Virtualenv for Django in WindowsSetup a New Virtualenv for Django in Windows
Setup a New Virtualenv for Django in Windows
Ā 
Introduction to Google APIs
Introduction to Google APIsIntroduction to Google APIs
Introduction to Google APIs
Ā 
Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to Django
Ā 

Recently uploaded

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
Ā 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
Ā 
Dev Dives: Train smarter, not harder ā€“ active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder ā€“ active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder ā€“ active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder ā€“ active learning and UiPath LLMs for do...
UiPathCommunity
Ā 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
Ā 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
Ā 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
Ā 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
Ā 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
Ā 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
Ā 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
Ā 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
Ā 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
Ā 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
Ā 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-UniversitƤt
Ā 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
Ā 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
Ā 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
Ā 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
Ā 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
Ā 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
Ā 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
Ā 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ā 
Dev Dives: Train smarter, not harder ā€“ active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder ā€“ active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder ā€“ active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder ā€“ active learning and UiPath LLMs for do...
Ā 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
Ā 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Ā 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Ā 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Ā 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Ā 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Ā 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
Ā 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Ā 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Ā 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Ā 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Ā 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Ā 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Ā 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Ā 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
Ā 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
Ā 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
Ā 

Web sockets in java EE 7 - JavaOne 2013