> Tech > Frameworks d’applications

Frameworks d’applications

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

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

Cybersécurité des collectivités : Enjeux, Perspectives & Solutions

Cybersécurité des collectivités : Enjeux, Perspectives & Solutions

Villes, intercommunalités, métropoles, départements et régions sont particulièrement exposés aux risques de cybersécurité. Ce livre blanc Stormshield présente les défis cyber que rencontrent les collectivités, les solutions et perspectives pour qu’elles puissent assurer leur mission d’utilité publique, en toute sécurité.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010