Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Public Beta of Play! is Now Available on Heroku

Public Beta of Play! is Now Available on Heroku

This item in japanese


Heroku announced yesterday that Play!, a Java Web Framework was now available as a public beta. Play! has taken a "clean room" approach to Web development and decided to not be bound to various self-imposed restrictions such as :

compatibility with servlet containers, support for JSP, compatibility with the standard Java web app layout, and conformance to Java and OO principles even when they don't make sense.

As such, Play! follows the "Built-and-Deploy" model of Ruby on Rails, instead of the more traditional "Package-and-Distribute" model.

No boilerplate classes or XML config files are needed. The framework takes a fresh approach to packaging conventions, and uses static code where it makes sense. For example, since controller entry points are stateless, and HTTP-oriented instead of object-oriented, they are implemented as static methods.

Just like "Heroku for Java" which was just released last week, Play! is based on a containerless PaaS model. A Play! app can run locally or seamlessly be deployed in production. This results in a simplified deployment workflow and eliminating any problems caused by environment differences.

From an architecture pespective, Play! uses Netty, a non-blocking I/O protocol library built by the JBoss team which supports the asynchronous processing of requests using a continuation based programming model. Play! is also implementing a share-nothing model which makes it easy to scale out applications horizontally by adding more nodes since stateful sessions are not possible.

From a Language strategy perspective, Heroku explains:

Java is another milestone on the polyglot platform path, but there's more to come. Future language packs will span the gamut from venerable (like Java) to cutting-edge (like Clojure and Node.js) to squarely in-between (like Ruby). Our desire is to be as inclusive as possible. Choice of language is up to the developer.

Are both the Web App and Java spaces ripe for disruptive innovation by cloud application platforms as Heroku suggests? What's your take on it?

Rate this Article