My Photo

August 2007

Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

March 29, 2006

Industry Case Studies at AOSD 2006

Rob Harrop of Interface21 presented how Spring users were following the three phases of AOP adoption ranging from exploration and enforcement through infrastructure aspects and on to core domain uses. Rob highlighted some interesting examples of Spring users at each phase, ranging from reporting on enforcing architectural policy to using AOP to keep database views current. It is interesting that Rob uses IntelliJ with @AspectJ syntax: his AspectJ users are all on Java 5 and in general he sees projects that are still on 1.3 or that are on 5, but not many on 1.4. Ali Duck presented interesting findings from interviewing real world projects that were using AOP, mostly with great results.

Uwe Hohenstein of Siemens presented using AOP to automatically update database statistics to keep good query performance and Michael Mortensen of Hewlett Packard presented how they are using AOP with frameworks. InfraRED presented their approach to application performance management with AOP, now also using AspectJ 5 load-time weaving. Dean Wampler gave a nice presentation on lessons from his Contract4J tool that uses AspectJ to support Design by Contract. I also presented a case study on how we've been using AspectJ for monitoring UI and system events to improve the UI and to support macros at DaimlerChrysler with car diagnostic tools.

Alex Vasseur presented on BEA’s prototype of AOP support in the VM, an initiative I hope to see them continue investing in. Andy Clement showed the latest and greatest AspectJ Development Tools for Eclipse. Not only do they keep improving but I actually think AJDT is catching up to JDT, which is no mean feat. Those of us who use AJDT often complain about what’s not there, but it’s really impressive how much IS now working.

March 27, 2006

AOSD 2006 Conference Overview

I just returned from AOSD 2006 in Bonn, Germany with over 250 people in attendence even with TheServerSide symposium and EclipseCon happening the same week. There was good representation from architects and developers who came to share their experiences and learn more, as well as participation from tool developers and a large contingent of researchers and grad students. It's great to see the caliber of students who are excited about AOP and recent graduates who are using and promoting AOP at their new companies. 

Next year the conference is in Vancouver, and I'm responsible for publicity. I'd love to hear your ideas for how we can reach out to more of those interested in aspects. Some of this year's highlights follow as additional blog entries.

May 04, 2005

AOP and the Analysts

Things have been going very well for Aspect-Oriented Programming in the last year. There has been a continuing increase in interest and effective use across the board. With the recent AspectJ5 announcement, both IBM and BEA are sponsoring the same, leading open source implementation. And both Spring and JBoss continue to deliver valuable frameworks using AOP.

As AOP has gained use, the industry analysts have started noticing. The Gartner Group has tracked Aspect-Oriented Software Development as an emerging technology for the past two years, with positive assessments as they project it moving towards mainstream adoption.

Last month, Richard Monson-Haefal, a senior analyst at the Burton Group wrote a carefully researched in-depth analysis "Ghosts in the Machine: Aspect-Oriented Programming" that concluded

Aspect-oriented programming (AOP) provides significant advantages in
terms of modularization. However, AOP has not reached mainstream
adoption because it is difficult to learn, and historically, it lacked
decent tool support. Most damaging was its lack of visibility: AOP
code changed the behavior of an application, but its functionality
wasn't seen.  It was as if there were ghosts in the machine. Although
AOP is still difficult to learn, tool support and visibility are no
longer a problem. Integrated development environments (IDEs) have
advanced to the point where an organization can now safely use, and
benefit from, the powerful modularization capabilities offered by AOP.

Shortly thereafter, Carl Zetie of Forrester wrote a 5 page report "AOP Considered Harmful" that is quite negative. I have heard that this cited only a single workshop paper from graduate students. If this is true, it is surprising to me that an analyst would write an extremely negative assessment of something without seeking input from the leading proponents (or opponents!), and understanding the intended uses. It is interesting to speculate if there are other motives involved, e.g., it appears that the anti-AOP camp inside Sun are in control and, of course, being contrarian can be useful as an analyst.

Regardless, this is just the most visible example of that the AOP backlash has arrived. At this stage, I find most of the opponents of AOP are those who dislike it on first encounter and don't seek to understand it well, not those who tried and found it lacking. In a way, that's the best news possible. A backlash is inevitable. But negative reactions primarly from those who aren't experienced is far better. It suggests to me that the message of go carefully and adopt incrementally has worked. In addition, AOP advocates tend to be realistic in our assessment, rather than offering a silver bullet. This has resulted in far less disillusionment from real users. I'd suggest that this is one of the big benefits of open source rather than commerically-led technologies. It has also given AOP more time to mature before the backlash began.