21 juin 2007

AOP

Spring 2.0 introduisait le support d'AspectJ, spring 2.1 pousse le bouchon encore un peu plus loin. L'AOP semble arriver à complète maturité après 10 ans (!) de développement. Quelque exemples montrent que l'AOP ne se limite pas à la démarcation transactionnelle :
  • Contrôle de règles d'architecture (Design Level Assertion), du genre "la couche web ne fait pas d'appel direct à hibernate ou JDBC" (ça c'est vu)
  • Ajout des fonctionnalités transverses (log détaillé sur exception, monitoring, ...)
  • Gestion de l'architecture (reprise sur échec, basculement à chaud...)
  • Intégration au modèle...
Il y a probablement plein de bonnes choses à tirer de l'AOP, en particulier pour simplifier le code et éliminer les copier/coller. Il faut jute l'ajouter à la trousse à outil et y penser à chaque fois qu'un problème "transverse" est identifié.