Introduction to Aspect-Oriented Programming by Graham O'Regan — Aspect-oriented programming (AOP) offers the ability to overlay new functionality atop existing code not by rewriting and recompiling, but by adding "aspects" to the compiled code. Graham O'Regan has an introduction.
ONJava.com: Introduction to Aspect-Oriented Programming [Jan. 14, 2004]
Older post: Otaku, Cedric's weblog: JSR 175 war stories
Newer post: Netscape 4, CSS layout, 3 columns with Header and Footer