POA - AspectJ

ApsectJ

AspectJ est un framework qui se présente pour l'utilisateur sous la forme d'un plugin Eclipse. Ce framework va apporter les fonctions nécessaire pour réaliser des applications utilisant l'AOP. Il est à noter que AspectJ, comme son nom peut laisser le supposer, se limite au langage Java. Il sera donc nécessaire d'utiliser un autre tisseur d'apsect pour faire de la POA avec un autre langage que Java. C'est d'ailleurs une des principales faiblesses de l'aspect actuellement, le manque de standardisation qui rends difficile le portage d'un apsect d'une plateforme à une autre.

ApsectJ est un outil libre, il est développé sous une licence Mozilla Public Licence 1.1 qui est compatible avec la GNU Public Licence. Le code d'ApsectJ peut donc être modifié, et si on le souhaite on peut toujours essayé par exemple de porter ApsectJ pour un autre langage.
A ses débuts, AspectJ a été développé par la firme américainne XEROX sous un contrat avec le ministère de la défense américaine. Maintenant l'outil est développé par une communauté comme projet de la fondation Eclipse. Il faut noter que les developpeurs d'AspectJ fournissent des plugins pour plusieurs IDE et pas seulement pour Eclipse. Ainsi des plugins pour NetBeans ou encore Emacs sont disponibles. Le fait que les plugins soit développés par le même groupe que celui développant le langage garantit un suivit entre les deux éléments. Nénamoins on peux noter que le plugin Eclipse qui est parmis les plus aboutit comporte encore quelques bugs qui limitent sa qualité.

ApsectJ fonctionne donc avec le Java et impose certaines limitations quand aux versions de Java pouvant être utilisées. Pour l'exécution du framework, il est nécessaire de disposer d'au moins Java 1.2. Par contre le code généré est parfaitement compatible avec Java 1.1, on pourra donc par exemple utilisé l'apsect dans des applets JavaCard.

ApsectJ défini un tissage statique, c'est à dire que le code sera des apects sera ajouté aux sources avant la compilation.