Foundations of AOP for J2EE Development