Friday, August 14, 2009

JBoss Seam: Working For Me

Tonight I am putting the final touches on my second Seam application. Seam appears to be getting more attention so I decided to share what I hope will be some useful comments.

Currently it seems like enterprise Java frameworks are Spring and everything else. Spring has much to reccomend it: lots of features, well documented, well supported and Spring experience is marketable. As a contractor, I like being marketable.

There are already several comparisons of Spring and Seam floating around the net and I won't compete w/these. For my purposes, Seam looked attractive because it didn't rely upon extensive XML configuration files and promised extensive functionality such as RSS feeds, BPM support, etc. As a contractor, I am hoping for extensive customer adoption and future Seam work.

Mastering Seam is a journey, but the documentation is good and they make it easy to start. Seam will generate a fresh project that compiles and deploys right away. If you already have existing database schema, Seam will generate a scaffolding which will include pages to view, edit and select rows based upon your database schema.

The generated pages make for a great project start. Seam also comes w/multiple working examples which will be an esssential part of your Seam education.

I wish I could say everything about Seam was wonderful, but I wasted weeks and weeks of time trying to use eclipse and JBoss tools. JBoss tools did horrible things to eclipse, causing it to randomly lock up and corrupt my workspace. Of course, eclipse by itself works just fine. I just manage JBoss Application Server from another xterm.

It is a big help to already have the database design nailed before generating your seam application. Once the application was generated, I used the existing page navigation, etc and merely tweaked the facelet pages to appear as the customer required.

The seam forums are quite responsive, although on occasion it is hard to know what is a proper Seam question and what is not. For example, JBoss tools are supported in the JBoss forums.

I did purchase the book "Seam In Action" by Dan Allen, which did help but wasn't enough by itself. Seam covers a lot of ground, you will almost certainly need a good JSF/Richfaces book and a good Hibernate book to complete any real project.

So far I am impressed w/the results of using Seam. Now that I have some experience, I believe Seam will help me develop complex applications much faster. I have been promoting Seam to customers and I expect to start my 3rd Seam application soon.

Good luck w/your projects. Thanks for reading.

No comments:

Post a Comment