I did something similar here.  It is actually a Tapestry app where you can
define the data model, and then download a zipped up project directory that
contains all the CRUD classes, pages, and template files.  I'll probably
redefine it once I've got my head around Tap4, as it only works with 3 right
now.   Velocity templates are used for the actual generation.

The main problem seems to be the differences in the persistence layer.
Someone has proposed Cayenne, others Hibernate, while we have been using
Apache's OJB.  Since most of the files depend on the persistence layer
objects, it is very hard to have a generic solution which will work for
everyone.  Hibernate does seem to have the most support out there, but we
prefer the Apache license to the GPL.

Code generation is a perfectly valid technique so long as you are aware of
its limitations.  We use it as a starting point, and a way to quickly
prototype applications, and have had no problems there.  There are
limitations, but also many benefits.

I tend to agree with the idea that it is so much simpler to go with a
targetted generator as opposed to a general one that it would be more
worthwhile to approach from that direction, but please keep me up to date
with what you decide to do because if there are places where reuse is
possible, I'd happily pitch in.

Spencer


On 11/24/05, Pedro Abelleira Seco <[EMAIL PROTECTED]> wrote:
>
> For my current project I wrote a generator for the entity clases,
> hibernate files, DAOs, CRUD pages in Tapestry, etc. I suppose that most
> people doing Tapestry projects with many forms have some generator tool
> or even some reflection magic to not having to generate anything
> (alghough this, for a medium sized project as mine, doesn't pay the
> effort).
>
> The  main problem is the enviroment which your application defines. My
> forms have some visual and code conventions (as how to set the title,
> some own developed components for security, related entities, etc.).
>
> So, for a medium sized app a generic generator would not be suitable.
> For simple apps Trails seems to be a good enough tool.
>
> BTW, my generator took 2 days of work, being so focused in our
> conventions, it turned out to be very simple to implement. I suspect
> that the generic case would be enormously more difficult and not really
> very useful, IMHO.
>
> My 2 cents, anyways.
> Pedro
>
>
> El Xov, 24-11-2005 a las 13:02 +0000, John Coleman escribió:
> > I am working on a project to create a Tapestry application generator.
> This will be for lightweight applications, i.e. the typical web
> application not requiring EJB and a application server, and all that heavy
> J2EE stuff.
> >
> > The idea is that a enterprise model is designed using a GUI tool. This
> will define a set of entity object interfaces, services and persistence
> layer.
> >
> > >From these a set of Tapestry components will be generated; i.e. create
> entity page, retrieve entity page, update entity page, etc... and then a
> HiveMind service business class encapsulating the CRUD persistence and
> anything else, and hooking into the persistence layer - I'm using Cayenne at
> the moment. It will also wire up the services using a generated hivemodule.
> Everything will be well decoupled and pluggable, lightweight, using the
> minimum number of frameworks/technologies.
> >
> > I wonder if others are interested in this venture, people with
> Tapestry/HiveMind/Cayenne and Velocity would be ideal. If so, it would be
> nice to set up an open source project.
> >
> > If you know of anything simlar, please let me know.
> >
> > John
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to