« Typed Advice in Spring 2.0 (M2) | Main | A Practical Guide to Using an Aspect Library (part I) »

January 30, 2006

What's on your bookshelf?

One of the things I like to do when I visit a client is to take a look at the books on their bookshelf (and those of the other members of their team). I do this for three reasons.

Firstly I'm always on the lookout for good books that I haven't read yet. If I see an interesting title that I've not read, I'll ask if it's any good.

Secondly, it tells me a lot about the background and mindset of the person I'm working with: you can often tell whether someone is interested primarily in the web-tier, data-tier, or domain modelling; you can tell what language they're likely to be familiar with when you're talking to them, and what technical background you can assume; you can tell whether they like abstract thinking or concrete how-tos. You can learn a lot from a few books...

The third reason is to guage how well different technologies are penetrating the marketplace. Seeing lots of "Pragmatic Ruby" books? That tells you that Ruby has made it onto the corporate developer's radar (it doesn't tell you whether or not Ruby is actually being used of course - you'll need to ask some more questions to find that out).

If I see books such as "Professional Java Development with the Spring Framework", "Pro Spring", and "Domain Driven Design" on the bookshelf that gives me a good feeling. The purpose of this entry is to highlight that there's a new book on the block I'm going to be looking out for: "POJOs in Action" by Chris Richardson. With a title like that, you may be unclear exactly what you're going to get. Rest assured, this is not a "lightweight" book - it has plenty of detailed discussion. The book is especially valuable for two reasons (maybe more!, but I'll pick on two here):

  • It compares and contrasts different implementation techniques and approaches side by side. Want to see how dynamic paged queries pan out in iBATIS vs JDO vs Hibernate for example? Go to chapter 11. Same for detached object support, optimistic locking and more. There are also discussions on how to arrange business logic and the implications of EJB 3 ("if you are already using lightweight technologies such as Spring, Hibernate, and JDO you will be disappointed"). Too often in the software industry we tend to see things in black and white. The truth is that there are many shades of gray. When you see things put side by side and compared, you are better able to evaluate the strengths and weaknesses of different approaches, and the likely consequences of your architectural decisions.
  • Chris encourages the reader to think for themselves, and not just rely on fashion and propaganda: "If we blindly used POJOs and lightweight frameworks, we would be repeating the mistake the enterprise Java community made with EJBs". (So here are the arguments for and against...).

I've only read part 1 and part 3 so far, but I've seen enough already to trigger that knowing smile if I see a copy of this on the bookshelf...

Posted by adrian at January 30, 2006 07:52 PM [permalink]



Nice blog and explaination too. Thanks.

Recently I have done a project using Hibernate ORM
I am just trying to find out difference between
using POJO with Hibernate and using EJB for
achieving persistence objecives?

Posted by: iqtf [TypeKey Profile Page] at September 10, 2009 12:19 AM

Post a comment

Thanks for signing in, . Now you can comment. (sign out)

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

Remember me?