Its been in the works for 4 years, but JVM framework Atmosphere has shown its been worth the wait. Can it lead the way for modern internet application development?
Undeniably, there’s a craving for all things asynchronous
within the software industry at the moment. For
Rich Internet Application development, it’s no longer
just about one technology doing it all with consumer
demanding a comprehensive
experience and extra content such as
social and real-time feeds.
It’s also fair to say that the Java community had been slow
to act upon the importance of the browser, until recent months.
Now, it’s one of the biggest challenges that Java
We’ve already seen one such asynchronous project gain a lot
of community backing. Application framework Vert.x has been lauded
for its fresh polylgot approach, becoming a melting pot for the
likes of Groovy and Java, but also front-end languages like
are key reasons for success, providing a single
hub for modern application development and positioning itself
as a JVM alternative to node.js.
Another project singing from the same polyglot hymn sheet is
framework Atmosphere. After four years of intermittent
development (with good reason), Jeanfrancois Arcand
announced on his blog that the first
official release for the framework had arrived, full to the brim
with new components.
Atmosphere doesn’t just support Java, but can also work with
Groovy and Scala, recognising the need to branch out to include
other JVM languages. Atmosphere also works either in standalone or
The supporting technology list reads a bit like a ‘who’s who’
or ‘what’s hot’ right now in software development. The client side
aspect supports all major web servers. It supports standard
containers such as JBoss and Tomcat but according to Arcand, it
also “works transparently” with the
in-vogue Netty and Grizzly. This
container agnosticity makes the project flexible to deal with any
new wave of container, which is a good thing with Jetty gaining
You can’t accuse Atmosphere of not being bang on topic, with
native extensions for the REST Framework Jersey, GWT and the
Socket.io protocol. We’re only scratching the surface here, with
plugins provided to a plethora of projects,
all listed here on Github. Suffice to say,
it’s a comprehensive catalogue of web-based solutions.
Opening the drawbridge to other projects is something which
we think is a great idea, and could pique the interest of many
different communities. Atmosphere may have been in incubation for a
long time, but we believe this is undoubtedly a good thing –
allowing the frameworks that have stood the test of time in, whilst
discounting those that were merely a flash in the pan. The four
years have allowed solid groundwork to be laid, making it ideal to
deal with the multitude of platforms now available.
Atmosphere works with
every Java EE Application Server and can
automatically negotiates the best transport between the client and
server. Atmosphere’s support portable WebSockets with Jetty,
GlassFish, Grizzly 2, Tomcat and Netty. Write once, deploy
In short, Atmosphere works everywhere and with every
framework. Websockets, Server Sides Events or any HTTP
server file and Atmosphere will make it work everywhere,
without any changes!
Impressive. Be sure to
check out his post, showing how the whole
thing works. Atmosphere has already sparked the interest of big
sites, with an implementation already servicing as much as 50
million request per day at WSJ.com. With this release, expect some
bigger names to follow suit with their own
The project has huge potential and this release
signifies not only just how far it has come, but that it can push
the boundaries further. Already commanding an impressive Github
following with 104 framework forks (at the time of writing), the
sky’s the limit with this one.
Still not convinced? Check out this video showing
Atmosphere’s powers, demonstrating a web application that uses
comet/websocket protocols to push events to the browser.
Flickr Image courtesy of ell brown