"Pioneered at Xerox's Palo Alto Research Center (PARC) in the late '80s and early '90s, aspect-oriented programming (AOP) has greatly influenced modern software development, from the latest research at IBM, to the tag-driven development nature of Microsoft's .NET and C# environments. Indeed, AOP has been gaining an even wider audience of late: its research community is extremely active, a number of open source projects offer a wealth of implementations, and, as a natural complement to object-oriented programming (OOP), developers are discovering that AOP provides for more intuitive, extensible, and flexible middleware. If you're an enterprise software developer, the combination of JDK 1.5, the newest release of Java, and JBoss AOP, available in JBoss 4, may just be the best thing since sliced bread.
"An aspect is a common feature that's typically scattered across methods, classes, object hierarchies, or even entire object models. For example, metrics is one common aspect. To capture useful benchmarks from your application, you have to sprinkle timing (often liberally) throughout your code..."