Je rappelle qu'une telle migration n'est envisageable que sur des applications dont les couches vues et de traitements/persistances sont bien séparées. En effet, une application dans laquelle des JSP se connecteraient à une base de données est à mon sens déjà une telle hérésie qu'elle ne serait éligible qu'à un redéveloppement ex nihilo.
La première étape de la migration sera de migrer les JSF (ou GWT...) vers AngularJS. Cette étape présente deux avantages :
- permettre aux développeurs de monter en compétences sur le langage JavaScript qui sera un bon préalable pour attaquer Node.js. En effet, AngularJS permet de bien assimiler les fonctions de Callback qui sont utilisées à souhait ainsi que la notation JSON ;
- obtenir rapidement des résultats, car cette étape est centrée sur les IHM (aspect fonctionnel) et que le binding d'AngularJS est à la portée des enfants (aspect technique).
Cette étape sera l'occasion de retoucher éventuellement à la partie métier de JEE pour migrer un maximum de web services en REST. Cette modification permettra d'augmenter l'impact d'AngularJS autant que la laxité du couplage.
La seconde phase de cette migration sera dédiée à la partie serveur de l'application : les couches métier et persistance. À cette étape, les développeurs auront vraisemblablement atteint une maturité suffisante en JavaScript pour s'attaquer à Node.js.
Le succès de cette dernière phase nécessitera une implication importante de l'architecte logiciel qui devra proposer des solutions concernant :
- les modules Node.js à utiliser ;
- les normes de programmation JavaScript ;
- le choix du Framework de tests unitaires ;
- l'adoption des ORM de persistance et les bases de données.
De ce que j'ai pu voir, tous les développeurs ayant sauté le pas ont adopté cette technologie et abandonné la précédente. Les communautés de développeurs ont largement communiqué sur ce point, tant et si bien que les chefs de projet auront l'opportunité de rebondir sur la motivation des équipes de développement pour entreprendre cette migration.
Et vous ?
Que pensez-vous de la cinématique de migration proposée ?