I'm in the progress of creating an upgrade path for our application and several questions arose in this progress. I think, my configuration is used often in this context, so maybe someone experienced this before.
Short app description:
What should be upgraded first? Which update is maybe not even neccessary?
Here is what I figured out:
ICEfaces seems to be mostly harmless, just replacing jars and upgrading to JSF 2, the app already uses facelets and no JSP what should make it easier. Still, it's work, but seems to be straigt forward
Additional libraries like Hibernate come with the application, but could be integrated via class loading into JBoss, so that should be not that much a problem.
As Seam3 appears to be a new implementation, i would like to stay in the 2.X context. 2.2.2 seems reasonable and migration guides exists, but it appears to be tightly coupled to JBoss AS.
Which brings me to the main problem: Upgrading JBoss
The newest JBoss Version is 7.1, we are using 4.2.2. That's quite a big step in version numbers and it appears to be the complicated part. In addition, Seam seems to have some problems with JBoss 7. A preliminary upgrade to JBoss 6 seems a reasonable step in the between progress, just to get something a bit more up to date.
Has anybody here performed such a relatively large upgrade progress and could give some hints to a rookie? Maybe some tips about known traps and things to to (beside constantly doing tests of the existing codebase)
And, generally, in the given J2EE-context, when should one upgrade used libraries (Leave aside security updates or major bugfixes)?
If you're going through the trouble to upgrade do at least 2.3, it's still in beta (beta2 last I heard, maybe with seam-gen support) but has all the functionality of 2.2 with jsf2 and runs on jboss 7. Upgrading from 2.1 to 2.2 doesn't really gain you much, 2.2 doesn't work with jboss7 without much work and doesn't have jsf2, though it is easier to go to 2.2/jboss5.
If you're thinking Seam3, read this - go with Java EE/CDI instead.
I would
start studying up on maven
upgrade eclipse to at least indigo with jboss tools and maven plug ins
get Jboss 7 up and running - it's completely different from versions before 6, but getting it running is relatively easy, the hard part is figuring out where everything goes now.
reconfigure your application to use maven
add the Seam 2.3 libraries to your application
either build - fix - deploy - fix
or strip your application down til it works and add components a piece at a time.
Marek's 2.3 blog is here
Good luck