Recently, we've been working hard on a solution to improve the testability of Java EE, and particularly JBoss AS. I'm pleased to say that a critical piece of puzzle, Arqullian, is now available. Congratulations to Aslak and the Arquillian team for releasing the first alpha of Arquillian! You can read more about Arquillian's mission, and our plans for Java EE testing below; alternatively, there are some quick links at the bottom if you want to dive right in.
In part 1 of this article,
we learnt how to create a new Google App Engine project in Eclipse,
integrate the Weld and JSF libraries, run the project locally and finally how to deploy it to the GAE production
environment. This second part will look at some of the issues faced when developing a GAE application,
particularly when coming from a Java EE development background.
In preparation for the release of Weld 1.0.1 on February 19th, we've pushed out a full distribution of Weld 1.0.1-CR2 for final inspection. It's based on the proposed CDI 1.0-SP1 API. Grab it, test it, play with it, give us feedback, let us know if it gets your stamp of approval. You can find direct download links at the bottom of this post or you can pull the artifacts from the Maven Central Repository.
The initiative to create Weld archetypes has had a further reaching impact than just the community of developers interested in using CDI (via Weld). A recent entry on the Sonatype blog, titled Maven Archetypes and Nexus: “There is No Faster Way”, cites the Weld archetypes as:
Ok maybe it's not a minefield, but there's still quite a few gotchas when trying to build a Weld application to run in Google App Engine. Since I'm currently renovating my house I decided that it would be fun to blog about the experience (a software guy doing physical labour? weird!!) and it only made sense to kick the GAE tyres to see what all the hype was about. Google have done a great
job providing a richly featured cloud platform with plenty of good documentation and a helpful online community, and the free quotas they provide are more than enough for the average low traffic web site.
Since the release of Weld and Java EE 6, there's been a heap of activity in the Weld user forum, and especially a lot of questions about problems related to framework development. You can do some kinds of generic programming in CDI just using managed beans, producer methods and InjectionPoint. But if you want to get serious, you're eventually going to have to embrace the portable extension SPI. Here's a couple of examples of how people are using this SPI.
The Weld team has recently collaborated with members of the community, most notably Steven Boscarine, to provide you with a set of Maven archetypes that get you developing with CDI and JSF 2 in a jiffy. Today we are announcing that the 1.0.0-BETA1 version of the archetypes are available in the Maven Central Repository. Consider it a holiday present from us ;)