DR1 AOP goals
bill.burke Jun 18, 2003 1:58 PMJBoss AOP has been criticized a lot. I thought I'd post what the goals of the DR1 release of JBoss AOP were. Here's what I wrote:
Agreed. Expanding pointcut definition has been the plan all along. As my post in late November suggested:
http://www.jboss.org/modules/bb/index.html?module=bb&op=viewtopic&t= we have only 2 joinpoints you can pointcut on. Classname and metatag. If the system-level aspects we wrote required a richer pointcut language, we would have implemented it. Yes, richer pointcuts are needed.
As I told Rickard, the goal of the DR1 release was to:
1) Find out if constuctor, field, and method interception on POJO's is doable. It is.
2) Provide Dynamic AOP. Hot deployment of XML descriptors. Interceptor definition on a per-instance level.
3) Provide a metadata facility that can
a) give you JSR-175 now, in the present
b) marry JSR-175 and AOP (They are a great match)
c) Provide fine-grained control. Interceptor behavior can be controlled on a fine-grained level as the context of the invocation
4) Most importantly, ship REAL WORLD aspects. These included:
a) J2EE a la carte: transaction demararcation and role-based security
b) Integration of our remoting framework with POJOs using AOP framework as the glue.
c) Transactional objects. Any pojo's state can be ACID with snapshot isolation. And this means the ENTIRE object graph. This uses Dynamic AOP.
d) Replicated cache. Transactional objects that are replicated across an entire cluster. This uses Dynamic AOP.
It is our feeling that an AOP framework alone cannot compete against something like AspectJ since they are at least a year ahead of any AOP framework.
Until there is more work done defining the AOP methodology, the average application developer will have trouble adopting any type of AOP framework. This is where pre-packaged aspects like JBoss AOP come in.
Anyways there is only so much one person can code, document, and release in a limited time frame. When you are working against a deadline, you must draw a line someplace. I think we were right to focus on the aspects themselves and let these aspects drive the framework.
It would be nice if you all posted your comments on our development forum rather than on your own blogs. Otherwise I have to search for it or have somebody email me saying somebody commented on it.
Please comment on our development forums. I pay attention to them, I don't always remember to go look at somebody elses blog.
Bill