What’s New in Atmosphere 0.7?
Atmosphere’s Broadcaster concept makes it quite easy to plug in any Cloud technology.
Jean-Francois Arcand works for Sonatype. He currently leads project Atmosphere, a real time WebSocket/Comet Web Framework. He also lead the popular AsyncHttpClient Project, an asynchronous I/O http client for Java. Before joining Sonatype. Jeanfrancois worked 10 years for Sun Microsystems when he created the Grizzly NIO Framework and was a major contributor to the GlassFish application Server.
The Atmosphere web framework project has just announced its 0.7 release. In this interview, JAXenter speaks to project lead Jean-Francois Arcand, on what’s new in this latest release.
JAXenter: Can you give us an introduction to the Atmosphere project?
Jean-Francois Arcand: Atmosphere is a web framework that enables real time web application. Atmosphere is similar to what Socket.io/node.js offer, but for the Java ecosystem. Atmosphere offers both client and server side components, and allows total abstraction of the transport, e.g websocket, comet or normal http polling.
JAXenter: With this release, the Atmosphere-GWT project is now fully integrated into Atmosphere. What challenges did you face, making this integration possible?
Jean-Francois: It required a minimum of changes to the Atmosphere runtime to make GWT work smoothly. Jersey, Apache Wink and Spring Roo are also natively supported by the Atmosphere Runtime, so it is clear the core framework is easily extensible.
JAXenter: How does Atmosphere 0.7 enable multiple serves to communicate in a cloud environment?
Jean-Francois: Atmosphere’s Broadcaster concept makes it quite easy to plug in any Cloud technology. The challenge when scaling real time applications is to make sure events are shared across server in a timely manner. Atmosphere’s Broadcaster concepts helps implementing such events distribution in a cloud. The framework currently ships with support for XMPP, Redis, JGroups and ActiveMQ (JMS), and we are planning to add support for JCloud in the next version.
JAXenter: XMPP is a new communication channel in Atmosphere 0.7. What are the benefits, of adding XMPP support?
Jean-Francois: As I explained above, XMPP can be used to share events amongst servers. When Atmosphere is used inside a cloud, it is important that events get distributed amongst server instances (just think about a chat…message occurring on server 1 needs to be propagated to server 2). XMPP is one of the transports we support for achieving that goal.
JAXenter: What are the next steps for the Atmosphere framework?