2005 review

I am bit late but here are some Java technos and materials that stroke me in 2005.

  • Spring I used it for its IOC container (avoiding writing factories) and mostly because it makes integration and usage of J2EE components and third party components much easier. I even used their web MVC framework and liked it. It off course integrates well with Spring and it enables injection of “strategy” to the controller. However, it seems that Spring MVC is not really popular and other MVC framework will rise (Struts+Webwork).
  • Best read book: Head First Design patterns.
    Don’t expect a guru book about design patterns, this book just gives a good overview in a very amusing writing style of the most used OO design patterns (applied to Java). I liked it because I discoverd Java with J2EE (ugh) and its biased Enterprise design patterns (DTO anyone ?). Even if I already used most of the OO design patterns presented in the book (sometimes without knowing it) it was refreshing to read this book and make sure my usage was right ( Contenders: Spring in Action and Hibernate in Action)

My deceptions of the Year:

  • Full featured J2EE application servers and especially Weblogic server 9: I really have been disappointed by Weblogic server 9 (and 9.1 release). Even if the server offers better production features (hot web app redeployment, JMS store/forward agents, etc. ) and it might be more production ready than ever, it’s really bloated ! It takes a while to start much more than 8.1 and the administration console is so slow that it makes editing the config.xml more convenient. Also, starting node managers through SSH is poorly documented and buggy and WLST lacks some important features like remote deployment (I haven’t checked if 9.1 fixed these issues). But BEA should really provide a lighter version for development now (like IBM will do with Geronimo). OTH, with frameworks like Spring 90% of enterprise needs can be satisfied with lightweight containers (unless you need remote, transactional, off the shell thread-safe, secured services…).
  • Jython: I learned Jython first for Weblogic scripting language (WLST) and for Grinder J2EE application stressing tool which relies on scripts written in Jython. But I guess that I won’t use it for anything else, Jython is still a Python 2.1 only implementation and it’s not possible off the shell to use Python 2.4 libraries and its language enhancements.

And as a reminder for 2007, here are the Java and IT technos in which I’ll give interest in 2006 (Well I hope I’ll have enough time and motivation):

  • JBoss Seam: even if EJB 3 don’t provide much benefits over Spring+Hibernate except for some cases, Seam seems really interesting in the way it integrates Java EE 5 technos (EJB3 +JSF) and it provides Web conversations (a kind of session context applied to a business case) .
  • Ruby as a better Perl (not for Rails): I wrote a lot of Perl some years ago and a little bit of Python and the few lines of Ruby I had the occasion to write I found it cleaner and it seems to have a good base of modules (a la CPAN). I hope performances will improve.
  • Virtualization (for desktop): with multicore CPUs, RAM getting cheaper and free virtualization software (VMware player) it’s more and more interesting to run an OS on a virtual machine. Performances are statisfactory and administration (backup/installation) is reduced to file copy. Here’s a good blog about it.