I brought three thick books with me on my vacation:
Unfortunately, the first two were thick enough that I never got to the third one. I'll chip away at it in my limited before-bedtime reading over the rest of the summer... The two that I did read were worthwhile reading, though. While reading the second one I needed to come up with some fancy footwork to explain to my wife how reading a computer-related book was not "doing work" on my vacation, but ultimately we agreed to disagree on that point.
I've been aware of the Spring framework since it evolved from the best practices that Rod Johnson wrote about in his original Expert One-on-One J2EE Design and Development book in 2002, and have read various articles on it, but hadn't really gotten a full-breadth introduction to all its capabilities. Rob Harrop and Jan Machacek do a nice job, in a style similar to Tom Kyte who's books I also enjoy, of presenting the different features using examples that are truly minimalistic, letting you focus your attention on a particular capability. In the chapters that discussed different approaches to interacting with the database, it was interesting to see that while the book covers Hibernate, it mentions in several places that its authors find the iBATIS Data Mapper framework to be the one they recommend. Reading the iBATIS chapter I was quite struck by how similar it was to aspects of our ADF view objects, capturing SQL statements and column/attribute maps in XML (but we still make creating, updating, and deleting a lot easier with our view object to entity object collaboration).
I was hoping the book would also have covered the Spring 1.2 support for Oracle TopLink, to understand that interaction better as well, but I guess Pro Spring went to press too early to cover that. The book also didn't get much into web-tier state management or service bean pooling that I was hoping to learn about.
There are definitely a number of areas where technologies in the Oracle ADF framework are solving similar "application infrastructure" problems that Spring tries to tackle, too, often in similar lightweight, XML-configured, factory-created, dependency-injected javabean-based ways, but there are also a number of interesting built-in application-building functionalities (as well as the rich design-time support) that distinguish ADF. It's definitely true that Spring has taken a more generalized approach in places like the AOP support. ADF provides validation "advice" in the form of our validators, and it implements automatic transaction management, but without using a generalized AOP solution to implement it.
After doing some more experimentation, I hope to start writing up some thoughts on Spring and ADF to help people understand what synergies and differences there are. The thing that popped into mind while reading the book were trying to use ADF's JSR 227 data binding (and JDeveloper's visual IDE support for that) against a Spring-based data control. In a weekly team meeting that I'm dialed into right now, it looks like Duncan is already a step ahead of me and experimenting with this... Stay tuned...
7:44:01 PM
|
|