Web Après avoir choisi un contenu, un ORM, et une UI basée sur des actions ou sur des composantes, il vous reste à choisir un framework d’applications Web. Ce framework coordonne le traitement UI, la gestion des sessions, la logique de gestion, et l’accès aux bases de données. La plupart
Frameworks d’applications
des frameworks d’applications Web sont des moutures du modèle de conception MVC. Struts est de loin le framework d’applications le plus connu.
J’ai publié plusieurs articles sur Struts, animé des dizaines de présentations, et utilisé Struts comme framework d’applications pour de nombreuses applications de production, mais j’ai avancé. Struts n’est pas mort, mais il est bien fatigué. Plusieurs nouveaux frameworks rencontrent les faveurs de l’industrie. L’un d’eux Struts 2, est issu de l’union de Struts 1 et d’une autre jeune pousse MVC, WebWork. Les autres sont JSF, Shale et Spring MVC. JSF lui-même offre une logique de contrôle rudimentaire, donc si vous envisagez l’UI basée sur un contrôleur, MVC intégré de JSF donnera de bons résultats pour la plupart des applications Web. En revanche, pour des applications complexes, il vaut mieux considérer Shale d’Apache.
Shale est un framework MVC créé spécialement pour JSF par certains développeurs de Struts 1 (y compris le créateur de Struts, McClanaham, qui est aussi chef de projet de Sun pour JSF). Les frameworks basés sur l’action que j’ai utilisés sont Struts 2 et Spring MVC (ce dernier est regroupé avec le conteneur Spring). Les trois principales raisons pour lesquelles ces frameworks sont techniquement supérieurs à Struts 1 sont les suivantes : (1) ils permettent le développement POJO, (2) ils offrent de puissantes fonctions de test, et (3) ils sont extensibles.
Avec Struts 1, il fallait créer un « view bean » pour chaque page, bien que votre application ait déjà un POJO qui contenait les mêmes attributs. Par ailleurs, le seul moyen de tester votre code Struts (c’est-à-dire les actions) était de passer par le niveau Web, ce qui supposait une multitude de clics au travers de pages Web pour exécuter les tests. Les nouveaux frameworks permettent de tester vos services MVC par lots, sans le niveau Web.
De plus, ces frameworks ont une architecture simple et facile à étendre, et donc il est facile d’ajouter des fonctions personnalisées. Comme la plupart des développeurs Java confirmés, j’aime Spring MVC. Il est riche d’une demi-douzaine de stratégies qui vont de la plus simple à la plus puissante mais aussi la plus complexe. Généralement, j’utilise la stratégie MVC Spring de base, mais mes applications bénéficient quand même des fonctions de test améliorées et du support POJO. Spring MVC s’intègre aussi très bien avec de nombreuses options UI, dont JSP/JSTL, Tiles, Velocity, FreeMarker, Excel, XSL et PDF.
Toutefois, il peut demander beaucoup de configuration et est presque trop souple, ce qui oblige parfois à chercher une variété d’options pour résoudre un problème. Mais alors, quel est le framework d’applications Web que je recommande ? Comme Struts 1 est le framework prédominant, on trouvera pendant un certain temps du code Struts 1 ancien. De plus, on ne compte plus les livres, séminaires, jobs et talents disponibles pour Struts 1. Et WDSc fournit des wizards et des GUI Struts 1. Mais il faut savoir qu’IBM n’améliorera plus ces outils Struts et pourrait même un jour les supprimer. Pour IBM : « JSF est le remplaçant stratégique de Struts ».
Alors devez-vous passer à JSF ? Je n’en suis pas moi-même convaincu bien que j’aie développé plusieurs applications JSF. Si vous optez pour JSF, assurez-vous que vous disposez d’un expert. Sur le plan de l’architecture, Struts 2 est nettement supérieur à Struts, mais sa release est récente. WDSc n’a pas de wizards pour Struts 2, mais j’ai constaté que la plupart des développeurs n’utilisaient pas les wizards Struts 1 de toute façon. Je préfère Spring MVC pour l’UI basée sur l’action et MVC intégré de JSF pour l’UI basée sur les composantes.
Téléchargez cette ressource
SIEM & PME : Comment construire la boîte noire de votre SI ?
Passez à la cybersécurité proactive, transformez la collecte et l’analyse des logs en un bouclier dynamique contre les cybermenaces. Découvrez comment mettre en place une approche SIEM modulaire, évolutive et accessible, pour anticiper, détecter et réagir efficacement aux attaques.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Data streaming : le nouveau socle stratégique de l’IA en entreprise
- Ransomware en santé : la double extorsion fait exploser la facture en Europe
- Les fuites de données explosent en France, désormais pays le plus touché d’Europe
- L’IA accélère les attaques et expose les identités non gouvernées
Articles les + lus
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
À la une de la chaîne Tech
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
