Sunday January 18, 2004
[Review] J2EE Design and Development
I finished reading Rod Johnson's J2EE Design and Development today. 700 pages took me a little over 2 weeks to knock out. This book is definitely targeted at experienced J2EE developers, which is nice. I tried to do the same with my Struts chapter in Pro JSP and I wish books would do more of it. However, the problem with targeting a more experienced audience is you lose a lot of potential buyers. Rod is definitely one sharp fellow and it shows throughout this book. Either that, or he's just got a lot of experience working with the J2EE stack in his career.
The framework described in this book eventually became Spring - and it's really just a culmination of all the things that Rod has used on his previous projects. In that respect, it's similar to AppFuse, which I created to assist me with my Java webapp projects. Like Spring, AppFuse contains all my learnings and choices over the last couple of years. Just to be clear, I don't mean to imply that AppFuse is anything close to Spring as far as functionality - but I do believe they're similar in their goals. Spring is designed to make J2EE easier, while AppFuse is designed to make project setup and testing easier. Hopefully, when I start using some Spring features in AppFuse, developing with AppFuse will become even simpler.
Back to the book. I found the first few chapters somewhat boring since they covered a lot of the stuff I already knew about J2EE applications. The middle part of the book was on Spring's simplified JDBC approach and it also covered EJBs. I tend to shy away from writing JDBC these days, especially since Hibernate suits my needs so nicely. If I'm working with an existing database and there's a lot of SQL code already, I'll use iBatis. And EJBs, blech - I've never had a need for them. Admittedly, a lot of my projects are small and don't require container-managed transactions. I've also heard rumors of CMT being a part of Spring - so who knows if there's any good argument for EJBs anymore. Anyway, I found the middle part of the book quite boring as well since I don't much care about JDBC or EJB.
The last part of the book, however, peaked my interest. It discussed MVC design, View Technologies (i.e. JSP, Velocity, XSLT, XMLC, PDF) and basically a lot of stuff related to the web tier. In this area, I was most impressed with XMLC, which allows you to write HTML pages - then use Java to manipulate it's contents. Very slick stuff for having a static prototype that also serves as the code for your app. I don't see myself switching from JSP to XMLC, but I dig the option.
In the Performance Testing and Tuning chapter - great examples where given and seemingly real-world optimizations where made. This chapter could prove to be a handy reference for enhancing performance with simple caching.
Overall, I thought this was a great book, although a bit heavy on the EJB stuff for me. Now I'm motivated to learn more about Spring. In the process, hopefully I'll figure out how it makes iBatis and Hibernate easier to work with (links are most welcome). Next up is Java Open Source Programming(500 pages), which I expect to take another two weeks to polish off.
Posted in Java
at Jan 18 2004, 01:38:52 PM MST
6 Comments
Search This Site
Recent Entries
- The First Day of School
- Happy 8th Birthday to this blog!
- Jess and Lili's Legendary Wedding on The Lost Coast
- Scaling Flash Movies to match Browser Zoom Levels
- My Summer Vacation in Montana
- Another Fun Father's Day at The Great Sand Dunes
- My Incredible Trip to Ireland
- My Presentations from The Irish Software Show 2010
- A Nice Riding Weekend before heading to the Emerald Isle
- Running Selenium Tests on Sauce Labs
Posted by Brian McCallister on January 18, 2004 at 04:55 PM MST #
Posted by Bo on January 18, 2004 at 06:10 PM MST #
Posted by Matt Raible on January 18, 2004 at 07:44 PM MST #
Posted by Thomas Risberg on January 18, 2004 at 09:39 PM MST #
Posted by WoEyE on January 19, 2004 at 03:09 AM MST #
Posted by Juergen Hoeller on January 29, 2004 at 02:59 AM MST #