JSF verses Apache Tapestry

Phil Zoio has a great, very detailed article on TheServerSide.com comparing two web framework alternatives to Struts, JSF and Apache Tapestry.

Struts has long been the de facto standard web application framework, but over the past couple of years there have been many alternatives attempting to improve over some of the limitations of Struts.

One of the largest changes is many of the newer frameworks such as JSF and Tapestry are event driven and give more flexibility over Struts Actions. This allows you to tie client side events, such as value changes, validation results, form submits to server-side processing. JSF is also the Java EE 5.0 spec for ‘the’ web framework, and so will be supported on all the EE 5.0 application servers when they come out.

There has been a lot of noise over whether JSF may replace Struts – David Geary in his blog (author of Core Java Server Faces) gives a good set of reasons for why you should be considering using JSF instead of Struts for new projects.

Lucene for BBWeblog2

I spent an hour last night investigating the use of Lucene as a possible search engine for my BBWeblog v2 project, and was surprised how easy it was to knock something together pretty quick.

In less than an hour I had a standalone simple app that iterated through rows in one of my database tables and built the Lucene index, and then modified the sample search demo app to search against my index. I’m impressed. I was wondering how to make the jump from the file based examples in the documentation to searching a database, and it was as simple as building the Documents to populate from the index from data I had retreived from my table.

I’m going to be integrating a Lucene based search into v2 of BBWeblog (the app that runs this blog) – the currect source is in CVS on SourceForge. There’s some major changes coming up, including reworking the DAO to use Hibernate instead of JDBC (which reduced the amount of code by about 70% (!). Eventually when it’s ready, hopefully in the next month or so I’ll replace the v1 app currently running on this server with the v2 version. The v1 app has been running successfully on this server on JBoss 3.x for about 3 years now, with no problems whatsoever. I think I should have somenice usabilitiy enhancements coming for V2.