Présentation du framework

Struts est un framework Java open source pour les applications Web faisant parti du projet Apache Jakarta. Struts a d'abord été écrit par Craig R Mc Clanahan (qui a aussi travaillé sur le Tomcat 4) puis donné à la Apache Sofware Foundation en Mai 2000.

Struts est structuré selon le modèle MVC (Modèle / Vue / Controlleur ).

Modèle MVC

Le modèle MVC est un design pattern ( ou motif de conception) répandu qui vise à minimiser les dépendances entre les différentes couches de l'application qui fait que ce modèle est bien adapté au développement Web.

Le modèle MVC divise l'application en 3 couches, chacune d'elles s'occupant de tâches spécifiques et interragissant avec les autres :

  • La partie modèle s'occupe de la logique métier.
  • La Vue se charge de rendre, de mettre à jour et d'accèder à l'état du modèle.
  • Le Controlleur est le chef d'orchestre de l'application et dispatch les requêtes entre les couches.

Le schéma suivant représente les échanges entre les différentes couches.

L'implémentation du modèle MVC par Struts

Bien entendu,Struts fourni sa propre implémentation pour chacune des couches du modéle.

  • La couche modèle est un peu particuli&eagrave;re car son implétation est laissée à la charge du développeur. Celui-ci peut aussi bien utiliser des composants EJB que des Java Beans ou un web service. Struts fourni seulement les méchanismes pour appeler ces composants.
  • La partie Vue est essentiellement composée de pages JSP qui profitent cependant du jeux de librairie personnalisée fourni par Struts.
  • L'ActionServlet est le principal composant de la partie Controlleur. Il s'agit d'une classe (org.apache.struts.action.ActionServlet) prête â utiliser. Vous avez la possibilité de soit l'utiliser directement, soit d'en hériter pour y ajouter d'autres fonctionnalités. En plus de l'ActionServlet, Struts propose un ensemble de classe Action ( qui hérite de org.apache.struts.action.Action ) qui font office d'interface entre les différentes couches de l'application. L'ensemble des classes Action représente la logique métier de l'application.

Pour et contre

Pour

  • Struts est maintenant un projet mature ( première release en Mai 2000 ).
  • Son appartenance au projet Apache Jakarta prouve que Struts est un projet de qualité et en assure également la pérénité.
  • Struts propose une bonne approche du modèle MVC qui facilite l'évolutivité et la maintenance du code.
  • Le modèle d'application de Struts assure une séparation stricte entre le design et la logique de l'application. C'est un avantage indéniable dans des projets concernant plusieurs développeurs et/ou graphistes.

Contre

  • Struts nécessite un certains temps d'adaptation et d'apprentissage (surtout si c'est la première que vous utilisez un framework MVC). Il ne s'agit d'une perde de temps mais ce point est important avant de se lancer dans un projet Struts.
  • L'approche du modèle MVC, malgré ses avantages, a également pour effet de compliquer la structure de l'application. Si cette complexité ne pose pas de problème dans des gros projets, il en est autrement pour de petits projets (projet personnel)..
  • Struts, dans une release récente, représente pas moins de 1,5Mo de librarie à include dans votre application Web.
  • Jusqu'à maintenant, il n'existe pas d'éditeur WYSIWYG pour construire des pages JSP utilisant Struts.

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.