More and more often, we need web apps that use real-time communication. Activity streams, notifications, collaboration apps, realtime-data, dashboards, chats, multiplayer games - all these often require the server to initiate communication with the browser.
Java developers have of course delivered such web apps for years, by using a number of "hacks". We've come to learn terms such as Comet, polling, Long Polling, Push, HTTP Streaming etc.
Improvements of WebSocket
The term "Web Socket" is generally used to describe web technology aiming at solving these problems, and lately a number of improvements have been made here:
- There's a standard IETF protocol called "The WebSocket protocol" to support such web apps.
- A W3C client API called "The WebSocket API" exists, and most browsers support this API
- And since Java EE 7, there's now a Java server standard called "Java API for WebSocket Protocol" to support the protocol
Standard web apps with full-duplex bidirectional communication
WildFly 8 from the JBoss Community was launched in February 2014, and being a Java EE 7 compliant application server, it supports WebSocket. And thus, Java developers can create standard web apps using full-duplex bidirectional communication.
Discover the benefits and get going on WildFly 8
So if you're heading down the real-time alley, be sure to understand how these technologies can help you. Do this by:
- Reading the specs (follow links above).
- Download WildFly 8 and start playing with this fine piece of Open Source software.
- Deploy WildFly's helloworld-websocket.
- Try it in a PaaS cloud by following Shekhar Gulati's OpenShift/WebSocket blog post.
- Join any of Redpill Linpro's "Fastlane to JBoss WildFly 8" seminars in Scandinavia.