Présentation de l'AOP

Depuis 1997, la programmation orientée aspect (Aspect Oriented Programming - AOP) provoque l'engouement de la communauté scientifique s'intéressant au génie logiciel. Cette technique offre de nouvelles perspective à un principe bien connu en génie logiciel : la séparation des préoccupations. Aujourd'hui, grâce à des outils robustes et éprouvés (JAC), l'AOP intéresse de plus en plus de services informatiques de grands groupes industriels.
Principe
L'AOP permet d'atteindre une parfaite modularisation des programmes informatiques complexes. Ce nouveau mode de programmation est souvent présenté comme une évolution logique de la programmation objet.
Dans les applications objet, le développeur peut séparer les fonctionnalités métier de son application en des modules bien distincs (appelés objets métier). Mais malheureusement, bien des "préoccupation" ne peuvent être correctement modularisées, car elles concernent plusieurs objets métiers différents. Cette problématique peut par exemple concerner la sauvergarde des données, le contrôle des droits d'accès, les processus de workflow ou les transactions. Dans une application objet, le programmeur doit disséminer le code de ces préoccupations au sein du code des objets qui les utilisent. La modularisation n'est donc pas parfaite.
La programmation orientée aspect permet de modulariser, au sein d'entités appelées aspects, ces préoccupations "transverses" (qui concernent plusieurs objets métiers). Les outils AOP, fournissent tous un module logiciel qui permet d'ajouter dans un second temps ces préoccupations transverses au programme initial.
Le développement s'en trouve simplifié. Les bénéfices de l'AOP sont nombreux : Gain de productivité
Réutilisabilité, des objets comme des aspects
Qualité du code
Evolutivité
Simplicité des développements

Source : AOPSYS