Referring to this discussion, what's your opinion on the relationship between AOP and EJB? Do you see AOP bringing value as a part of the specification or should it remain as a "hidden" implementation technique?
Originally posted by Pradeep Bhat: I am curious to know if AOP will be included in future J2EE spec ? Or is AOP threat to java?
I believe some degree of "aspect-orientation" will creep into the J2EE family of specifications. Anyway, AOP is definitely not a threat to Java (I'd say the opposite because most AOP frameworks seem to be based on Java).
BTW, is AOP, a paradigm like Object oriented programming? If yes, does Java as a programming language have constructs to support it?. I guess, for a functional programming language, one of the basic requirements c'd be that a function s'd be a first class citizen. Now does AOP mandate such requirements? Can we do Aspect Oriented Programming using other languages?
posted 15 years ago
Aspect-Oriented Programming is a technique similar to Object-Oriented Programming -- they both aim to structure software better. They're not exclusive, quite the opposite. Even the most beautiful OO design has some crosscutting concerns such as logging, security, transaction boundaries, etc., which a typical OO design silently accepts as the unavoidable smell. AOP attempts to answer this problem by introducing concepts such as aspects (logging is one aspect, security is another, and so on) and pointcuts (where the aspects and objects meet). Java doesn't support AOP, yet, but there are a lot of AOP frameworks under development that are based on Java. Take a look at this whitepaper by the recently formed AOP Alliance.
The AOP Alliance's member page lists some AOP frameworks: http://aopalliance.sourceforge.net/motivations.html PS. Even though it says AspectJ is a "new language", the language is basically an extension to Java and is designed to fit well into a normal Java development process.