Programmation Orientée Aspect

28 mai 2017

On oppose généralement la programmation orientée objet et la programmation orientée aspect. Les techniques de conception logicielles actuelles tentent d’architecturer les applications en modules a priori indépendants les uns des autres. En effet, ces modules gèrent des aspects différents du système conçu. C’est le principe même de la programmation orientée objet qui découpe le logiciel en unités de sens (les objets). Mais dans la pratique, on s’aperçoit que ces couches logicielles sont intimement liées : c’est l’entrecroisement des aspects techniques.

Ainsi, une couche logicielle initialement dédiée à gérer la logique métier applicative, va se retrouver dépendante de modules gérant les aspects transactionnels, journalisation, etc. Se limiter aux méthodes de programmation ‘classiques’ conduit ainsi à une complexification du code, de son développement et de sa maintenance. Il a donc été introduit un nouveau concept permettant de gérer les aspects transversaux d’une application : la programmation orientée aspect. L’inversion de contrôle mise en œuvre par la programmation par aspect permet d’extraire les dépendances entre objets/modules (aspects techniques entrecroisés). C’est depuis l’extérieur de ces modules que se gèrent les dépendances. Elles sont spécifiées dans des composants du logiciel nommés aspects.

AspectJ et la programmation orientée aspect

AspectJ, une extension à Java, permet d’ajouter les fonctionnalités nécessaires à ce dernier pour obtenir un langage orienté aspect. Première solution de programmation orientée aspect disponible, AspectJ  présente d’excellentes performances et intègre toutes les possibilités de la POA. L’inconvénient d’AspectJ est qu’il est purement statique (voir tisseur statique et dynamique) et de s’écarter du standard Java en nécessitant un compilateur spécifique. Ainsi, il est possible d’utiliser Java pour implémenter toutes les préoccupations et ensuite intégrer les nouvelles fonctionnalités d’AspectJ pour définir les règles d’assemblement. Un exemple concret d’application dans un système distribué illustrera tous ces concepts.

La première version du compilateur date de 1998 mais la première version de AspectJ date de 2001. AspectJ s’est joint à la communauté open source Eclipse en 2002. Il est ainsi devenu un plugin standard pour la plate-forme de développement Eclipse. En 2005, AspectWerks (un ancien concurrent) a rejoint le projet enrichissant encore l’outil qui en est ainsi à sa 5ème version.

Caractéristiques du rapport

  • 8/10
    Note obtenue
  • 6.8/10
    Densité du rapport
  • 7.5/10
    Utilisabilité
Les plus :
  • + Contenu clair et lisible
  • + Des descriptifs techniques
  • + Des applications concrètes
  • + Nombreuses illustrations
  • + Une note de 15/20
Les moins :
  • - Analyse à approfondir
  • - Densité : 34 pages

Commentaires

  • PACNAM 28 mai 2017 at 14 h 51 min

    Bonjour,
    Pour vos questions, c’est par ici.

    Bonne journée

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *