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.

8 comments:

  1. Anonymous3:45 PM

    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.

    ReplyDelete
  2. Anonymous9:14 PM

    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.

    ReplyDelete
  3. Anonymous10:04 PM

    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.

    ReplyDelete
  4. Anonymous2:40 AM

    Hello,
    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

    ReplyDelete
  5. Anonymous2:47 AM

    +1 No EJB

    Hivetraverse support could be interesting too.

    ReplyDelete
  6. Anonymous10:59 AM

    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).

    ReplyDelete
  7. Anonymous4:19 AM

    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.

    ReplyDelete
  8. Anonymous10:27 AM

    +3 for a hibernate and jpox implementation

    ReplyDelete

Please note that this is not a support forum for Tapestry. Requests for help will be deleted. Please subscribe to the Tapestry user mailing list if you are in need of support, or contact me directly for professional (for pay) support.

Spammers: Don't bother. I delete your comments and it's a waste of time for both of us. 垃圾邮件发送者:不要打扰。我删除您的评论和它的时间对我们双方的浪费