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  

« February 2006 | Main | May 2006 »

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.

Demos at AOSD 2006

There were seventeen demos at AOSD, most of which were quite interesting. I was only sorry I couldn’t attend more of them! I presented the Glassbox Troubleshooter which uses AspectJ for Java application troubleshooting and the Glassbox Inspector data collector and had some good discussions with attendees about how it works and future directions.

I enjoyed seeing AO4BPEL which uses AOP for Business Process Mamanagement, by extending IBM’s BPEL engine BPWS4J to allow aspects to interact with business processes (e.g., adding promotions or performance monitoring across processes) and also to provide middleware aspects (like reliability and security) for SOAP messaging. I also was interested in a talk about Phoenix.NET, a research project for AOP on .NET, along with a discussion of how Microsoft is also concerned about a number of facets of AOP, in many ways relating to losing control. This probably sounds familiar.

March 27, 2006

Enterprise AOP Tutorial at AOSD

The week started off well as Dean Wampler and I presented a full day tutorial on Enterprise AOP to about 20 attendees. It was a great audience, mostly of experienced developers and architects who wanted to take their AOP and AspectJ knowledge to the next level. We taught the concepts of AOP and how to apply them in the morning. Then in the afternoon, everyone did well on the hands on exercises, which always test you after things sounded so straightforward in the lecture.

This followed a well attended AOP talk I gave at the Software Development West conference the week before. In both cases, I'm seeing more experience and knowledge among developers who come to talks about AOP, as well as interest in pragmatic questions about the next steps in adoption.

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.

March 17, 2006

My New AOP@Work Article: Next steps with aspects

I'm pleased to announce the publication of a new article I wrote called "Next Steps with Aspects: After Learning Advice" as part of the AOP@Work article series on IBM Developerworks. The article gives advice for effective applications, integration, and adoption at each of these four stages of using aspects:

  • Learning and experimenting. I show examples of exception logging, performance tracing, and enforcement aspects and a technique to reuse library aspects.
  • Solving real problems. I discuss how to integrate AOP with tools and managing dependencies,  show how to implement license enforcement and error handling and how to extend library aspects using Glassbox as an example.
  • Integrating aspects into core development.  I look at using aspects for fine-grained authorization, keeping persistent relationships in sync, and for monitoring and recording macros in a UI. I also discuss some more advanced techniques such as exposing business relationships.
  • Sharing with others. This section looks at how to create reusable aspects effectively, looking at pointcut interfaces and using aspects to allow for feature variations.

I'd welcome your input on the article, and would love to hear how you are using aspects.