The adoption of Aspect Oriented Programming paradigm in enterprise software is rapid. It is interesting to look at various applications of AOP in enterprise architecture:
- 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.