Introduction :
Ce document porte sur deux frameworks standards pour la construction d’applications
web : Struts et JavaServerFaces. Après une brève introduction sur les frameworks,
l’application du modèle MVC dans Struts et dans JavaServerFaces (JSF) sera expliquée. Puis
chacun des deux frameworks seront explorés plus en détails. Pour conclure, une constatation
sur les principales différences entre ces deux frameworks et sur leur futur sera dressée.
1. Les frameworks
Avant l’arrivée des frameworks, le développement d'applications Web était simplement
constitué d’une page HTML et d’un navigateur. Aujourd'hui nous sommes confrontés au
développement d'applications bien plus complexes. Pour cela nous utilisons des frameworks.
Ces frameworks, ou : « cadre de conception » sont des espaces de travail modulaire. Il
s’agit d’un ensemble de bibliothèques, d'outils et de conventions permettant le développement
rapide d'applications. Leur but est d’accroître la productivité des développeurs dans le
développement des interfaces utilisateurs, en fournissant une architecture facilitant leur
maintenance. Ils permettent donc d’améliorer la réutilisabilité des applications, d’en accroître
la fiabilité, de diminuer les coûts et délais de développement et d’assurer leur évolutivité.
Avec leur apparition, de nombreux outils ont vu le jour. Parmi eux, Struts et JavaServerFaces
(JSF). Ceux-ci constituent aujourd’hui les deux standards dans le domaine de la conception
d’applications web. Ce sont ces deux standards que nous allons donc étudier plus en détails…
2. JSF, Struts, et le Modèle MVC
a) Le modèle MVC
L’un des principaux atouts de ces deux frameworks est l’utilisation du patron de
conception MVC (Modèle, Vue, Contrôleur). Celui-ci, leur permet de mieux dissocier les
métiers d’infographistes et d’informaticiens. En effet, ce modèle d’architecture est constitué
de trois parties. La première : le contrôleur, reçoit les actions de l’utilisateur et gère la
répartition des traitements entre la vue et le modèle. C’est cette partie qui gère toutes les
entrées de l’application. Le modèle représente la partie métier de l’application : on y retrouve
les états et la logique de l’application. La dernière partie : la vue, est la partie graphique
destinée aux infographistes, dans laquelle seul l’affichage est géré.
b) L’application du modèle MVC dans Struts et JavaServerFaces
Le framework Struts est construit autour d’un puissant contrôleur, tandis que JSF, est
principalement dédié à la couche vue.
Craig McClanahan est le créateur de Struts et l’un des principaux acteurs de JSF. Il a donc
occupé une place importante pour la création de ces deux frameworks, et est bien placé pour
dire que JSF et Struts sont différents mais ne sont pourtant pas incompatibles. Il a ainsi
suggéré une méthode d’intégration afin de combiner les deux frameworks. Le but étant de
combiner les avantages de chacun.
Cependant, Struts et JavaServerFaces n’ont pas été conçus de prime abord pour
fonctionner ensemble dans une même application. En effet, Struts propose des tags libs pour
la gestion des vues et une définition de la navigation au travers des pages. JSF, lui, fournit un
manageur des cycles de vie de l’application au travers de servlets de contrôle.