We had a discussion yesterday of whether Scala frameworks should be made compatible with JEE containers. There are good arguments on both sides e.g. JEE-container compatibility would allow JEE-based projects to reap the benefits of Play within their existing systems, while on the other hand Play's current lightweight non-JEE approach may be a better choice for greenfield projects.
I'd be interested to get Erik's take on this question.
chris webster wrote:We had a discussion yesterday of whether Scala frameworks should be made compatible with JEE containers. There are good arguments on both sides e.g. JEE-container compatibility would allow JEE-based projects to reap the benefits of Play within their existing systems, while on the other hand Play's current lightweight non-JEE approach may be a better choice for greenfield projects.
I'd be interested to get Erik's take on this question.
I think that people should be able to run Play inside JEE containers. I don't think however that Play should provide this out of the box. Damien Lecan is currently working on a Play plugin that allows Play apps to be packaged as war files and deployed in a container: https://github.com/dlecan/play2-war-plugin I think that's a mighty fine solution. The Play core doesn't need to go further than allowing plugin authors to build functionality like this.
I know that you believe you understand what you think I said, but I'm not sure you realize that what you heard is not what I meant.
It wouldn't matter to me whether it's in the core, or provided by a plugin (as long as the plugin is reliable and easy to use). I just need the ability to deploy to Tomcat.
Yes, Play needs to be JEE compatible right out of the box. It needs to do that so it can be dropped into a corporate infrastructure alongside a pile of existing servlet-based legacy code. No matter how good Play or Lift or Scalatra or Typesafe Console is, there just aren't a lot of greenfield opportunities. The ability to run on a JVM and integrate well with existing Java is a huge selling point. There needs to be a smooth migration path.