Le Touilleur ExpressLe Touilleur ExpressLe Touilleur ExpressLe Touilleur Express
  • Accueil
  • A propos de l’auteur
  • A propos du Touilleur Express

Aspect Oriented Programming (AOP): mais c'est quoi au fait ?

    Home Java Aspect Oriented Programming (AOP): mais c'est quoi au fait ?

    Aspect Oriented Programming (AOP): mais c'est quoi au fait ?

    Par Nicolas Martignole | Java | Commentaires fermés | 18 novembre, 2005 | 0 | 1 546 affichages
         

    J’ai entendu parler de la programmation par Aspect pour la première fois en janvier dernier lors de la formation JBoss Advanced Developer à Berlin. L’un des présentateurs était Kabir Khan qui est l’un des contributeurs de JBossAOP avec Bill Burke. A l’issue de la formation/présentation (voir l’article ici) j’étais assez bluffé par les possibilités d’AOP. Ce qu’il faut retenir, c’est que les Aspects sont des fonctionnalités de code appelés dynamiquement et qui permettent d’ajouter des comportements à votre code sans impacter son contenu. De manière plus concrète vous pouvez créer un Aspect de « Log » qui sera appelé dès qu’une méthode d’une class ou dès que n’importe quelle méthode de votre application sera executée. Imaginez pouvoir ajouter ou retirer à la volée sur votre code des possibilités de logging, de gestion de transactions, de sécurité, de statistiques et d’optimisation de performances… Les Aspects sont les attributs communs d’une application qu’idéalement nous aimerions réutiliser d’application en application.

    Le problème est qu’aujourd’hui ce nouveau mouvement dans la communauté Java n’est pas encore mature. C’est pourquoi des dévelopeurs experimentés se sont lancés dans l’écriture et l’implémentation de différents moteurs d’aspect. Les grands éditeurs comme IBM pour AspectJ ou BEA Systems pour AspectWerkz apportent leur support financier et technique pour aider à l’éclatement de ce nouveau courant. Il faut bien comprendre que ce principe qui en soit existe déjà depuis quelques années, a aujourd’hui un langage mature comme Java pour enfin pouvoir exister. D’ici 2 ans, si tout se passe bien, Java sera donc un langage Objet et programmable par Aspect. Bref je ne veux pas encore passer pour l’évangéliste Java de service, mais m’est avis qu’il faut s’y intéresser.

    Aujourd’hui il serait très hasardeux de lancer un projet en production basé sur une implémentation d’AOP. Recemment AspectJ et AspectWerkz, deux des moteurs AOP les plus populaires, ont annoncé leur fusion. C’est bon signe.

    Tout ceci au final pour vous parler d’un article sur IBM DeveloperWorks qui compare les 4 principaux moteurs AOP Java existant. A noter que des efforts de portage vers .Net et C++ sont en cours mais la communauté est plus active sur Java pour l’instant car la JVM et le bytecode permettent d’ajouter facilement à l’execution des comportements. Pour une fois, on n’a trouvé personne pour râler.
    L’article:
    http://www-128.ibm.com/developerworks/java/library/j-aopwork1/index.html

    Articles similaires:

    Default ThumbnailLanguage Oriented Programming : ton boulot de dans 5 ans Default ThumbnailJavaOne 09 comme si vous étiez là bas mais en fait non car c'est la crise Default ThumbnailMac OS 10.5 est sorti mais Java 6 ne marche pas pour l'instant Default ThumbnailJBoss Seam et OutOfMemory… mais non
    aop, Java

    Recent Posts

    • GitHub Actions : le tueur de Jenkins ?

      Avouez-le : ce titre de blog est super racoleur. J’avais aussi pensé

      15 février, 2021
    • Comment recréer du lien social dans l’Entreprise avec des outils numériques en 2021

      Nous sommes en février 2021 pendant le 3ème confinement lié à la

      10 février, 2021
    • FizzBuzz en Java et Scala (surtout Scala)

      L’exercice FizzBuzz est un petit exercice très simple, à tester par exemple

      9 février, 2021

    Recent Tweets

    • J'ai refais/modernisé l'authentification OAuth2 pour Google, Github et LinkedIn sur le CFP de Devoxx FR.

      3 hours ago
    •  @LostInBrittany   @FGRibreau   @aheritier  😎

      22 hours ago
    •  @LostInBrittany   @FGRibreau   @aheritier  J ai un souci GitHub demain à corriger aussi avec oauth2

      22 hours ago
    •  @LostInBrittany   @FGRibreau   @aheritier  J ai réparé l’authentification Google. Tu devrais pouvoir te reauthentifier

      22 hours ago
    • RT  @_beauraF : Since 2:19 p.m., the entire  @doctolib  platform has been running on Rails 6.1. 🚀 Once again it feels like launching a rocket…

      1 day ago

    Mots clés

    agile (18) ajax (11) Apple (11) architecture (6) barcamp (5) BarCampJavaParis (5) ddd (5) devoxx (33) esb (6) exo (6) flex (9) geek (5) google (11) grails (5) groovy (10) humeur (12) humour (7) independant (6) iphone (12) Java (77) javascript (7) jazoon (28) jboss (22) jboss seam (12) jsf (9) jug (16) Linux (11) mac (6) mule (5) parisjug (7) paris jug (22) pjug (6) play (8) playframework (6) portlet (5) recrutement (6) ria (8) Scala (21) scrum (44) spring (23) Startup (11) usi (21) usi2010 (9) web (16) xebia (7)

    Le Touilleur Express

    Contactez-moi : nicolas@touilleur-express.fr

    Suivez-moi sur Twitter : @nmartignole

    Copyright© 2008 - 2020 Nicolas Martignole | Tous droits réservés
    • A propos de l’auteur
    • A propos du Touilleur Express
    Le Touilleur Express