These conflicting approaches and the fact that no major IDE vendor has made AOP a -formal" part of their tools leads many to feel that while AOP's central ideas are powerful, it is still immature. -I believe AOP has not quite hit total mainstream programming so a lot of people aren't sure how to put it into their everyday work," says Michael Smith, director of technology for BEA's Technology Office. -It is somewhere in between mainstream and leading edge."
And while it is in this limbo, its true potential is somewhat unknown.
John Tirsen, a consultant with development mentoring company ThoughtWorks says he has used AOP in many projects, but that its idea of modularising services is not entirely new. -It's been done before with things like CORBA interceptors," he says. -The more contentious issue is whether it can be used for cross-cutting business logic."
BEA's Smith also sees untapped potential. -Down the road we can see you might want to adjust the behaviour of middleware using AOP, maybe to instruct the middleware layer to do different things at different times" in accordance with different business rules. -We are doing a lot of that work in the VM to make that happen."
While this kind of work sounds exciting, no-one is suggesting any timetable for their delivery, implementation or widespread adoption.
Yet the AOP genie is well and truly out of the bottle.
-Six months ago no-one ever asked me about AOP," Smith concludes. -Now you can fill AOP sessions at a conference and clients ask without me ever bringing it up," a sure sign that whether or not you want to write your own device drivers, AOP will deserve investigation in coming months and years.
| AOP tools and where to find them | ||||
| Tool | Origin | Licence | What it does | Where to find it |
| AspectJ | Eclipse Foundation | Common Public License and Mozilla Public License | Adds AOP to most Java tools | www.aspectj.org |
| AspectWerkz | BEA | wBSD licence | AOP development tool | www.aspectwerkz.codehaus.org |
| JBoss AOP | JBoss | Commercial | IDE | www.jboss.com/products/aop |
| Spring | Independent developers | Apache version 2 | A complete J2EE framework that uses AOP transparently. A .NET version is under way | www.springframework.org |
| Microsoft enterprise library | Microsoft | Free | Seven ready-to-use aspects that provide caching, configuration, data access, cryptography, exception handling, logging and instrumentation and security services. | www.microsoft.com/patterns/ |
| LOOM.NET | Hasso - Plattner - Institute at University of Potsdam | Free | A runtime weaver for .Net | http://www.dcl.hpi.uni-potsdam.de/research/loom/ |
| AspectDNG | Private developers | BSD Licence | -AspectDNG is a .NET multi-language aspect weaver. Aspects and base code may be written in any programming language." | http://sourceforge.net/projects/ aspectdng/ |



Leave a comment