August 10, 2006
Simplifying Enterprise Applications with Spring 2.0 and AspectJ
Some of you may not have caught up with InfoQ yet :- it's a great site for community news and articles concerning enterprise development (it's not restricted to just Java: I like seeing ideas from other communities too). Anyway, I wrote an article for the site which has just gone live: Simplifying Enterprise Applications With Spring 2.0 and AspectJ. So far the feedback has been very positive so thanks to all who have responded.
I've heard a number of people saying that "AOP is too hard", or "AOP makes things too complex". In a way this article was written as a rebuttal of those views (hence the title, "Simplifying Enterprise Application Development"). I mean, the whole point of AOP is that you take software that was getting complex and tangled up, and you simplify the implementation by giving each module a single responsiblity again by introducing aspects. And then of course for some requirements that are naturally expressed in a crosscutting way, it's much simpler and easier just to implement them with an aspect in the first place. The article shows how this process works, and lays out an adoption roadmap that counters the "AOP is too hard" argument - at each step along the way you can get a lot of value without having to become an AOP guru.
It's also a good introduction to the facilities offered by Spring AOP in the Spring 2.0 release.