- Apply design patterns as modules
- Application security architecture
- Transaction, Logging, Stats, etc.
- Enforce architectural design standard for application development by leveraging AOP tool support
- JVM Clustering
AOP allows modularization of application and provides manageability and loose coupling from a software architecture perspective. From a product perspective, it allows to easily plug in features by allowing various implementation of aspects to be plugged-in quite easily.