Thursday, February 11, 2010

My Google App Engine Preferred Stack

I'd like to jump deeper into Google App Engine, and my preferred web development stack would be:
  • CDI (JSR-299) for depency injection, using Weld. So apps are easily portable from/to Java EE 6.
  • JPA for ORM, using GAE's recommended DataNucleus. So apps are somewhat portable. The primary key is always GAE's proprietary Key type, I wonder if this can be made somewhat more portable?
  • JSF 2.0 for web framework, using Mojarra.
  • PrimeFaces as the Facelets component library, as I want to try TouchFaces mobile UI. I am not fixed into a single xFaces library though. IceFaces, RichFaces, or Apache Trinidad will do just fine.
  • Maven Ant Tasks for dependency management. Before GAE has decent Maven integration that allows "refresh-driven-development" aka short build-debug cycle, I'll use the standard Google App Engine for Eclipse development model, with Maven Ant Tasks to help me with JAR dependencies.
  • Spring Security for authentication & authorization. Ouch... will this conflict with Weld?
My experiences will be coming soon to this blog :-)