I had a great response from my article last week on the pros and cons of architectural layering, and it prompted quite a heated discussion on TheServerSide.com (and as a result took quite a few hits on my server that day!)
I think some people missed the point entirely though. I would never suggest for one minute that we should abandon architectural layering in the development of a large enterprise system, and even for smaller systems, layer is still good practice. My main point (and some people did pick up on this), was that as software architects and developers we need to be thinking how we can increase productivity by removing or hiding the plumbing code and overhead introduced from developing applications with multiple layers. My example of Ruby on Rails is achieving exactly this, and I think we have lessons to be learnt from looking at this approach.
I noticed after I posted the article last week that there is a project on java.net called Trails, which is a Java-based project similar in goals to Ruby on Rails. I haven’t looked at it in detail yet, but this looks like a promising step in the right direction.