I'm writing a presentation for this year's CITS event here in Brazil,
and I'm going to talk - for 3 hours! - about AOP and AspectWerkz.
That's surely long enough to get a lot of people sleepy and drooling
all over, and I really don't want that to happen. This is going to be
my first presentation after watching the ever-enlightening Conference Presentation Judo, and I'll try to follow some of M. J. Dominus' advices - after all, the guy has a lot more experience in conferences than I do.
So, the first thing I need is to get rid of those academic folks who
think AspectJ is the best thing since sliced bread, but don't know why
or how anyone would use AOP in the real life. I want to show great
examples, and not just the usual ones that already tired most people to
death (you know, logging, security, caching, persistence, observer,
etc). I want to show them things like what fx did to stop sending out fax spam, I want to show them things that can't
be done without AOP, then show them things that can be done without it,
but are a lot trickier, and then, and only then, get to the usual. I
came up with a few examples, some of them taken from Inectis (my
content management system), others from weird ideas I had when
developing it, but it would be awesome if someone can suggest some
other ones.
So far, my list of examples is:
Solving the Fax Spam Problem
Uniquely Identifying Objects
Cracking Licensed Software (I'm getting in trouble for this)
Caching Method Invocations
Tracing JDBC Calls
Implementing Generics with AOP
...and I'm sure this is just the start. I don't want to stand there with nothing else to talk about
after the first hour, so please help me out here, will you? :)
I promise to translate it to english later and post the slides here as soon as I finish them. Honest!