AOSD has traditionally been a research-based, academic heavy conference. However, the industry track has grown from year to year, and TheServerSide even sponsored this track. Ron Bodkin, and Ramnivas Laddad and definitely known in our community, and they did a great job being the joint industry chairs.
The 'feel' of the show was certainly different this year. Some of this has to be due to the location. Coming to a large US city, there were more attendees, and maybe more partying in the city at night :)
The other main difference was the level of industry participation. There were a lot of the usual faces:
- Adrian Colyer and the AspectJ team
- Jonas Boner and Alex Vasseur of the AspectWerkz and new AspectJ 5 team
- Ron Bodkin
- Ramnivas Laddad
- Rob Harrop of Spring
- Sam Pullara, formally of BEA
AOP in Practice
Some of the most interesting presentations came from industry practitioners. At TheServerSide Symposium last month, 33% of the audience responded to a poll which asked whether there were plans to use AOP, or if you were already using it in real applications. This is actually a surprisingly large number, and is very promising.
Well, some of the people using AOP in the wild came to speak about their experiences, and what they were doing with it. Nicholas Lesiecki spoke about his use of AOP in a large system at VMS. This was a great presentation, and showed non-trivial uses of AOP, that were NOT just 'infrastructure' aspects, and the gains that came because of its usage.
Read more about Nick's talk
AOP Library Meeting
Throughout AOSD, and indeed after the show (including on Saturday), a group gathered to discuss a new AOP library. The group consisted of the group of people named above, and other users of AOP. The first meeting discussed the scope of the project. Since we had multiple implementors (AspectJ team, and JBoss AOP for example), what could be used by both. It was really great that Bill had time to be there, as we discussed that, at a minimum, it would be good to share annotation naming/semantics. From there, pointcut language could be reused too, and potentially even more.
The bulk of the code itself will be written using the common idiom of AOP:
- Java code where possible, doing the actual work
- AspectJ code to do the thin wiring up to the Java modules
Rob Harrop of Spring was also key at these meetings. The library does NOT want to reinvent the wheel here. We have common issues such as configuring Aspects, and the default DI implementation will be Spring for this goal (Although, we talked about how we will also tie into hivemind, pico, and the like).
Spring also offers a lot of logic that we can reuse. Take a set of Transactional aspects for example. Spring has a LOT of code to handle transactions, from XA to Local, to Hibernate, to JTA, and beyond. We definitely want to just write aspects which USE these features.
On Saturday, the team ironed out a beginning taxonomy for the aspect library. Then we got to answer the age old question:
How many AOP experts does it take to come up with a reusable Tracing aspect.The aspect library will be structured with two projects. One will be an incubation project that lives outside of the Eclipse foundation. Then, aspects will 'graduate' into the main AspectJ library itself which will be part of Eclipse.
A strong AO library will take AOP to the next level. The aim is to move people to using a lot of useful aspects, rather than thinking about writing everything from scratch.
This years AOSD was the best one so far, from my standpoint of an industry practitioner. I saw much to get me excited, and I look forward to meeting up next year in Bonn.
Read more coverage here: