Programmation Aspect, point de jonction atteint
Par Laurent simon le mercredi, 19 janvier 2005, 14:43 - Concevoir - Lien permanent
La programmation orientée aspect (POA) est sur la bonne voie. Le point de jonction[1] indispensable à sa standardisation vient d'être atteint.
Notes
[1] Ndlr: La notion de point de jonction est l'un des concepts fondamentaux sur lequel s'appuie la POA
Jusqu'à présent, dans le domaine de la POA, il y avait 2 écoles différentes, toutes deux portées par 2 projets leaders :
- AspectJ : La solution historique, basée sur des extensions au langage java. Cette solution qui fut la première a l'avantage de présenter d'excellentes performances et d'intégrer toutes les possibilités de la POA. Mais elle à l'inconvénient d'être purement statique et de s'écarter du standard Java en nécessitant un compilateur spécifique.
- AspectWerkz : La solution alternative la plus en vogue, basée sur des annotations ou des fichiers XML externes. Apparue plus tardivement, cette solution conserve intégralement le standard Java. Particulièrement bien conçue, en étant presque aussi complète et en affichant des performances comparables à AspectJ, avec l'aspect dynamique qu'elle indroduit, elle était en train de prendre l'ascendant sur son concurrent historique.
La POA étant encore jeune, cette dualité des approches a pour l'instant surtout contribué à semer le trouble dans l'esprit de ceux qui l'abordaient. Avec la version 1.5 du JDK, la pertinence de l'approche utilisée par AspectWerkz est devenue encore plus grande car elle collait parfaitement à l'esprit des annotations metadata alors introduites dans le langage. Cette voie étant ouverte puis normalisée, il était évident qu'AspectJ devait s'y engager car l'existence d'un langage spécifique ne trouvait plus aucune justification. Ce qui était moins évident, c'était la façon dont ils allaient le faire. Le risque étant de voir apparaître des jeux d'annotations équivalents mais utilisant des notations différentes. Hors sans un langage commun et standardisé, point de salut pour la POA.
La solution qu'ils ont retenue est de loin la plus intelligente qui soit. Ils ont choisit de s'allier et de ne plus faire qu'un seul projet commun ! AspectWerkz avait la bonne techno et était entrain de devenir le leader. AspectJ avait le nom historique et la plus grande base installée. Ils ont choisi de mettre, leur fierté personnelle dans leur poche et ont retenu la combinaison idéale:
- Un seul nom, le plus connu: AspectJ.
- Une seule techno, la meilleure: AspectWerkz.
- Une compatibilité ascendante avec l'existant des 2.
Bravo messieurs, grâce à vous, une voie royale est maintenant ouverte pour la POA.
Les Communiqués respectifs :