Tapestry Training -- From The Source

Let me help you get your team up to speed in Tapestry ... fast. Visit howardlewisship.com for details on training, mentoring and support!

Tuesday, September 27, 2005

Resurrecting the Virtual Library

One of my goals for the final release of Tapestry 4.0 is to have the Virtual Library working again. The goal is to work through the issues, fixing things that are broken by the upgrade from 3.0 to 4.0, and taking advantage of the new features of Tapestry 4.0 as well (including annotations). I think this is important; the Virtual Library is a small but real application, and seeing the upgrade path for it will allow other 3.0 users to extrapolate what they are facing in upgrading to 4.0.

Getting the Virtual Library working has been my focus all day today ... mostly struggling with JBoss. Eventually I gave up, and the turnkey demo will overwrite the defaultDB instance rather than create a vlib database instance ... with that compromise in place, I'm again making rapid progress.

I've also considered porting the code to Hibernate and/or JDO (away from entity EJBs). This would allow the entire application to be delivered as a simple WAR, not an EAR. Getting the shared libraries working in JBoss was a pain ... I had to set the Manifest Class-Path of my EJB jar, to pick up the shared libraries (shared by the EJBs and vlib.war). However, changing the ORM will partially confuse the issue of the changes in the presentation tier, so I doubt I'll even attempt that until 4.1 ... and by then, I might have a bigger, better Tapestry example.

Looks like I'll be spending some time manually re-entering the data as well; QuantumDB had problems exporting and importing the data for me.

Still, I should have most of it done this week .. assuming I continue to play hookey from my paying gig (don't count on it!) So we probably won't see this until beta-10.


Anonymous said...

I did a rewrite of the Virtual Library app over to hibernate as part of a demo. It's done in Tap3. In my opinion it really simplified the design.

Anonymous said...

I would definetly give huge +1 for WAR deployment instead of EAR, because requirement to have JBoss for it turned me off, so I have never even seen this example web application although I have had some desire for it.

Anonymous said...

Please do the rewrite without EJB. It would allow so many more people to see it in action and mess with it and learn from it, which is what a demo is for after all.

Anonymous said...

I must agree with all the previous comments! I would do a rewrite without EJB and with hibernate.
I think it should simplify the application and help people who wants to build a database application to have an example without involving the cumbersome EJB's.
It would be even better if you use hibernate3 + hivetranse + hivemind + tapestry --> that would be great. And involving the new more advanced validation support.
Great Job anyway

Anonymous said...

+1 No EJB

Hivetraverse support could be interesting too.

Anonymous said...

I wrote the first post about the port from EJB to Hibernate. I would add that there was very little change to the templates and mapping files (which turned into another selling point).

Anonymous said...

Also consider doing the same thing with Cayenne - The creator of cayenne supports Tapestry in his examples and many people on the list seem to use Cayenne.

Anonymous said...

+3 for a hibernate and jpox implementation