IBM et JBoss veulent intégrer la programmation par aspects dans Java

Mobilité

IBM et JBoss Group étudient la possibilité d’intégrer dans Java un nouveau paradigme de programmation dit programmation par aspects. Le but est de réduire le temps de développement des applications. Une initiative qui vise à contrer le succès croissant de C# de Microsoft.

IBM et JBoss Group – qui commercialise le serveur d’applications JBoss et qui vient de rejoindre Java Community Process, l’entité pilotant les évolutions du langage Java – étudient ensemble la possibilité d’intégrer dans Java un nouveau paradigme de programmation appelé programmation par aspects (AOP pour Aspect-Oriented Programming). Objectif : enrayer le succès croissant en entreprise du grand concurrent de Java, C# de Microsoft, et de la gamme d’outils de développement que ce dernier propose dans le cadre de sa stratégie ?Net. Toutes les enquêtes constatent en effet, trois ans après son lancement, la montée en puissance de l’architecture ?Net, et ce au détriment de l’environnement J2EE (voir édition du 11 septembre 2003). ?Net doit une grande partie de son succès à la réduction des coûts de développement et de maintenance des applications, obtenue grâce à son environnement intégré de développement. Ce qui amène fort logiquement les promoteurs de J2EE ? Sun Microsystems, BEA Systems, IBM, Oracle… – à copier l’approche de Microsoft en enrichissant leur serveur d’applications d’outils de développement ergonomiques, sur le modèle de Visual Studio ?Net (voir édition du 11 juin 2003). Pour ces éditeurs, rallier les développeurs à Java est un enjeu crucial, qui conditionne le succès commercial de leurs autres logiciels d’infrastructure : serveurs d’applications, portails… (voir édition du 16 décembre 2002).

Séparer les aspects techniques et métiers

L’initiative d’IBM et de JBoss Group entre dans ce cadre, en associant à Java un standard de programmation censé raccourcir la durée des développements. En simplifiant, la programmation par aspects vise à décomposer le développement de l’application. Les aspects dits techniques ou non métiers (par exemple le protocole de communication distante ou la politique de stockage des données), habituellement mélangés et dispersés dans les logiciels, sont isolés du coeur de l’application et explicités indépendamment du reste. Ensuite, les besoins purement métiers sont implémentés (éventuellement selon la méthode de la programmation objet). Et dans un troisième temps, les aspects techniques précédemment isolés sont rattachés au programme. Les aspects techniques sont alors aisément configurables et évolutifs, indépendamment de la partie métier. La programmation par aspects met en oeuvre le principe bien connu en génie logiciel de séparation des préoccupations (separation of concerns) : plutôt que d’attaquer le développement d’une application de front, ce principe suggère de concevoir des composants logiciels indépendants et fournit des moyens pour les assembler. L’intérêt est de permettre aux développeurs de se concentrer sur un seul problème à la fois, ce qui accélère le processus de développement et limite les risques d’erreurs. Cela dit, l’intégration de l’AOP dans Java sera un processus lent qui pourrait prendre au moins un an. Et il faudra encore du temps pour que les éditeurs intègrent ce standard dans leurs outils de développement, et encore plus pour que les développeurs s’approprient cette méthode de programmation. Autant dire qu’en menant cette initiative, IBM et JBoss s’inscrivent dans une démarche à long terme.