Rod Johnson Interview Well, here's someone else who thinks that "EJB is a transitional technology".
EJB offers a very limited form of AOP. Only a few aspects, such as transactions and security, can be managed by the container, and there's little flexibility in how these are managed. The fact that the container intercepts all method invocations on EJBs isn't fully leveraged. With AOP, we can potentially enjoy the benefits EJB currently provides without a heavyweight EJB container. And it opens up many more possibilities. With a widely adopted AOP infrastructure, we could have libraries of aspect interceptors, both application-specific and third party. Instead of accepting the baggage of an EJB container every time we want something like CMT, we could just chose those services we need. If EJB is a degustation menu where you get everything the chef prepared whether you want it or not, AOP is a la carte. I think in five years time we'll probably view EJB as a transitional technology towards true AOP.
So I think the question is not whether AOP will impact J2EE, but what proves to be the dominant approach to implementing AOP. There's a choice between changing the language, as with AspectJ, and a standard Java approach, which uses dynamic proxies to add any number of "interceptors" around a method invocation.
Well, you might as well go in with your eyes open .
regards