Java Aspect Components
JAC (Java Aspect Components) is a project consisting out of developing an aspect-oriented middleware layer. The current version of JAC is 0.12.1. Current application servers do not always provide satisfying means to separate technical concerns from the application code. Since JAC uses aspect-orientation, the complex components are replaced by POJOs (Plain Old Java Objects) and non-functional concern implementations that are usually wired deep into the container implementations are replaced by loosely-coupled, dynamically pluggable aspect components. JAC aspect components provide: seamless persistence (CMP) that fully handles collections and references, flexible clustering features (customisable broadcast, load-balancing, data-consistency, caching), instantaneously defined users, profile management, access rights checking, and authentication features.
JAC is LGPL open source software available at http://jac.objectweb.org