This package contains classes that allow easy access to EJBs. The basis are AOP interceptors run before and after the EJB invocation. In particular, the classes in this package allow transparent access to stateless session beans (SLSBs) with local interfaces, avoiding the need for application code using them to use EJB-specific APIs and JNDI lookups, and work with business interfaces that could be implemented without using EJB. This provides a valuable decoupling of client (such as web components) and business objects (which may or may not be EJBs). This gives us the choice of introducing EJB into an application (or removing EJB from an application) without affecting code using business objects.

The motivation for the classes in this package are discussed in Chapter 11 of Expert One-On-One J2EE Design and Development by Rod Johnson (Wrox, 2002).

However, the implementation and naming of classes in this package has changed. It now uses FactoryBeans and AOP, rather than the custom bean definitions described in Expert One-on-One J2EE.