Title: WebWork/2 Tool Support...

WebWork/2, IMHO, is an excellent framework but one of the areas where it seriously lags behind Struts is tool support. I haven't heard of any tools for making life as a WebWork developer easier besides the xwork.xml editor that someone on the mailing list came up with. If WebWork is to gain widespread acceptance, it's up to us as a community to start providing third-party tools to simplify WebWork development - none of the existing tools vendors are likely to invest the time in developing or porting their existing tools to work with WebWork until they see enough of a potential market to justify the development and maintenance costs.

Sounds good, so when is the WebWork development team going to start cranking out tools to make our lives easier? Let me answer this question by saying I hope the answer is "NEVER" or at least not any time soon. These guys have done an *excellent* job of creating a well-architected framework that is both flexible and efficient to develop with. On top of that, they've been extremely responsive to their users on the mailing list and they've provided bug-fixes and enhancements in a timely manner (at least since I've been using WebWork2 over the last several months). The last thing I'd want to do is spread them thinner by piling more responsibility on their shoulders. If more of us would like to be able to use WebWork on our current or future projects, a large part of that decision may be whether or not there are any tools to make it easier to develop, manage, and maintain WebWork-based applications - this responsibility is entirely ours as a community.

What about webwork-extensions? IMO, this is something that is completely separate from webwork-extensions. I'm talking about building tools to support WebWork development vs. extending WebWork functionality. Given this distinction, these tools or projects should have a home other than the webwork-extensions project. It is also my hope that this thread becomes an ongoing discussion in order to provide insight to the needs of the community and visibility towards the completion of these goals. As such, I'm assuming the WebWork team would prefer to create a separate mailing list, a Yahoo! Group, or something along these lines rather than flood the opensymphony-webwork mail list. If the powers that be determine that this should be handled in a forum other than the opensymphony-webwork mailing list, and should be maintained by a third party (since the tools themselves would be), I could create a "WebWork Community" or "WebWork Tools" Yahoo! Group so we can get this thing started.

Where do we start? Well, the first step should be deciding what/where the appropriate forum is for having these discussions. Aside from that, we should have some discussions about how everyone's currently using WebWork, what kind of tools would make their lives easier, and what the common overlaps in needs are. From there, we can determine whether anyone's currently working on anything that would be of use to the community and identify potential projects/collaboration if not.

So what am I doing about it? Well, aside from trying to kick start a community effort, I'm currently working on a code generator based on Python and the Cheetah template engine which takes a Hibernate mapping file and generates a WebWork2 application from it. I've been taking the "my own tool" approach to this and would seriously consider working on something else that would fit the needs of the community better (or enhancing my current generator) if there was enough of a demand to do so. In addition, I've also considered writing a WebWork2 "cartridge" for AndroMDA (http://www.andromda.org) if enough people are currently or planning on modeling their WebWork applications in UML. As for the "killer app", I believe something similar to "Struts Studio" (http://www.exadel.com/products_strutsstudio.htm) would be awesome but I'm not a Swing or SWT guy so someone else is probably more qualified than me to take this idea on.

So, let me know your thoughts on this and we'll see where this goes...

Reply via email to