7 simple reasons to use AppFuse
IBM developerWorks published my "Seven simple reasons to use AppFuse" article today. Here's a summary:
Getting started with open source tools for the Java™ platform such as Spring, Hibernate, or MySQL can be difficult. Throw in Ant or Maven, a little Ajax with DWR, and a Web framework -- say, JSF -- and you're up to your eyeballs just trying to configure your application. AppFuse removes the pain of integrating open source projects. It also makes testing a first-class citizen, allows you to generate your entire UI from database tables, and supports Web services with XFire. Furthermore, AppFuse's community is healthy and happy -- and one of the few places where users of different Web frameworks actually get along.
While you're there, you might be interested in reading the "Introduction to Spring 2 and JPA" tutorial. I don't know if we'll get JPA support into AppFuse 2.0, but it's certainly a possibility.
As far as AppFuse 2.0, here's the current structure I've started on for Maven 2:
appfuse - data - hibernate - ibatis - service - pom.xml - src - web - jsf - spring - struts - tapestry
After code is moved into the directory structure above (or completely
re-written), I'd like to move to working on creating single module
archetypes and multi-project archetypes (data, service, web) with Maven 2.
After getting the Maven 2 structure checked in, hopefully we can start looking at replacing AppGen. Scott Ryan has done a fair amount of work on this so far with his AppFuse Maven Plugin.
I plan on documenting the plan of attack and milestone features for
2.0 sometime this week.
Update: I started working on the Maven 2 conversion last night. The above structure has changed slightly. Now there's a project in data and web (notice the pom.xml and src in these directories). These projects will contain the classes/files that are common to their sub-projects. The fact that these projects even exist will likely be transparent to the end user.