Starting to look at Wicket

Haven’t blogged for over two months. Bad.

Things have been hectic lately. Presented on Spring at the first Indicthreads Java conference. Lots of Spring + Hibernate training and mentoring at work. Trying to get JTrac 2.0 final out. Had the honour of meeting and shaking hands with Gavin King twice within the span of one week. Am I getting converted to Seam? I don’t know yet, but I’m sure going to take a good look at it. Gavin is a great presenter and he is especially entertaining when he rants about stuff. I’ve sat through his Seam demo and presentation two times now and I think I’m subconciously picking up some of his mannerisms. You know, like the catchy way he exclaims “bogus” when discounting concepts he doesn’t agree with.

And of course he is so darned young! I could see guys stopping him in the corridor and getting his autograph.

Am getting more interested in Mylar. Especially after seeing this recent webinar recording. Maybe this is indeed useful. Will NetBeans bring out something like this? I hope so. If Mylar catches on, and I think it just might, it may be the big differentiator that the Eclipse camp needs to pull out far ahead of NetBeans.

So I am considering trying to implement Mylar support in JTrac. A remote-api is anyway in the roadmap and this would be a good excuse to start working on Spring remoting options such as web-services. Mylar appears to have done a good job at defining a generic task-management integration model, so during this exercise I may be able to identify domain concepts that JTrac may have missed till now.

And also, if I choose to not go the Seam / JSF route, I’m likely to go with Wicket. I had been very comfortable with plain JSP / JSTL till now, even implementing the odd custom-tag with ease, but now I’m starting to see the maintainability factor as something that needs improving. I would really like to be able to model the UI as pure Java code, Swing style. Templating and the ability to define panels and layouts are the things I miss most currently and Wicket appears to offer that as well as still giving you good control over the HTML and even Javascript that you may need to render in a page. I’m just starting to look at Wicket – but it looks promising.

I’m hooked on Spring WebFlow, and I’m wondering whether it will play nice with Wicket though. Hmm. I’ve taken an anti-annotations stance till now and maybe I need to relax that a little because after looking at the Wicket-Spring integration options, using annotations appears to be the cleanest option. And maybe Gavin’s ranting has had an effect on me :)

3 Responses to Starting to look at Wicket

  1. adeesh says:

    When you have a POJO model + hibernate combo, people mostly go for spring for the transaction support it provides. My questions are:

    1. Is it better to implement your own transaction system instead?

    2. In practicality except for the transaction support what else does spring have to offer??

  2. Peter Thomas says:

    Regarding trying to re-invent the wheel, I think the answer is an emphatic no. Think of all the work that has gone into Spring and all the people who are using it in production. Spring takes care of not just transaction management but Hibernate configuration, the Hibernate Session (which IMHO is very tough to deal with), dealing with low level things like “ThreadLocal” (so that you don’t have to) and also if you decide to use the Spring DAO support, you get the benefit of the very nice DAO exception hierarchy the Spring guys designed. Being able to apply transactions on method names using wildcards (e.g. “store*”) is cool. I’m sure I’ve missed a few points, but hope this helps.

    And Spring has a *lot* more to offer, the above is just about the Hibernate support. I know you are using JTrac, so that is an example of an application using a lot of Spring features, right from the MVC layer, Security (using Acegi), WebFlow for modelling page flows / conversations etc.

  3. Pingback: Project template wicket-spring-hibernate

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: