JBuilder 2008: Bold vision, rough edges
No assembly required
For example, you could create a tag called Order Processing, and apply it to all the resources relevant to that operation. JBuilder lets you apply a "tag focus" that filters the Eclipse project navigator or package explorer to show only the resources that have that selected tag. This metadata is stored in an Application Factory project, of which you can have only one per Eclipse workspace.
The API available to your script depends on which DOM you select, where a DOM is Java code exposed to scripting, with the range of available DOMs including Hibernate and Maven, as well as the Eclipse API. You can add a user interface that lets the user enter values or make choices. Scripts can be thought of as application-specific tools, and this is what Kumar means when he talks about the IDE becoming application aware.
Application Factory projects can be exported as modules. In this case, they become wizards that can generate an entire application. The Application Factory Explorer in JBuilder lets you browse a repository of such modules, and seven are supplied with the product, including Sun Microsystems' Pet Store sample, and basic JSF, Spring and Struts applications. CodeGear envisages a future market for commercial modules.
Unfortunately JBuilder 2008 has rough edges and feels rushed, as Kumar acknowledges. "There are places where you'll hit an exception or a roadblock, we're completely aware of it, and we'll do rolling updates," he told us.
The user interface for the Application Factory features is poor and hard to learn. The documentation is skimpy and in some places still refers to JBuilder 2007. It took a while to find any reference for the scripting DOMs - we finally figured out that a mostly empty Javadoc is all you get.
An example Application Factory for a Bookstore failed with a Maven error, until I discovered that it only works with MySQL - I was trying to user CodeGear's own Blackfish SQL, silly me. This last error highlighted an inherent problem with wizards that generate code: if something goes wrong, you end up troubleshooting the wizard as well as the code it generates.
Overall, JBuilder 2008 has a bold vision but does not yet deliver it in full. In the meantime it is a decent Java IDE, and useful features like Together diagramming live on, though you can also obtain this as a separate plug in.
Whether JBuilder itself is a good investment depends largely on how much you value having a supported configuration of open source tools, rather than assembling the same pieces by other means.®