Critique de Jakarta Struts par la pratique

Image non disponible

Présentation et critique du livre Jakarta Struts par la pratique de James Goodwill (traduit en français par Sylvie Gréco aux éditions Eyrolles).

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

1. Présentation de l'ouvrage

1.1. Table des matières

Présentation du projet Jakarta Struts et de ses composants annexes
Le projet Jakarta Struts
Les applications Web
Le conteneur de servlets/JSP Tomcat

Présentation des servlets et des JavaServer Pages
L'architecture servlet Java
Que sont les JavaServer Pages ?

Présentation de Struts
Télécharger et installer Struts
Créer une première application Struts

Le contrôleur
La classe ActionServlet
La classe Action
Les plug-ins Struts
La classe RequestProcessor

Les vues

L'internationalisation des applications Struts
Les composants i18n d'une application Struts
Internationalisation de l'application eyrollesapp

Le traitement des erreurs
Les composants de traitement d'erreurs Struts
Ajouter le traitement d'erreurs à l'application eyrollesstruts

Création d'ActionMapping personnalisés
Qu'est ce qu'un ActionMapping ?
Création d'un ActionMapping personnalisé

Le pool de connexions JDBC
Qu'est ce qu'une DataSource ?
Utilisation d'une DataSource dans une application Struts

Débogage des applications Struts
Intégrer Tomcat dans une application Java
Débogage d'une application Struts

Développement d'une application Struts
Description de l'application Employes

Le fichier struts-config.xml
Les sous-éléments Struts
Ajouter une DataSource Struts
Ajouter des définitions de FormBean
Ajouter des redirections globales
Ajouter des actions
Ajouter un RequestProcessor
Ajouter des ressources de messages
Ajouter un Plug-in

La bibliothèque de balises Bean

La bibliothèque de balises HTML

La bibliothèque de balises Logic

La bibliothèque de balises Template

1.2. Le livre vu par l'éditeur

Le framework Struts : le standard de fait pour le développement d'applications Web en Java. Parce qu'ils permettent d'assurer l'évolutivité des applications Web, de diminuer les coûts et les délais de développement, et d'accroître la fiabilité des applications, les frameworks se sont imposés comme une alternative très avantageuse aux servlets et aux JSP en matière de développement d'applications Web en Java. Standard de fait parmi les frameworks Open Source, Struts gère de façon simple la plupart des tâches inhérentes au développement d'applications Web ; il est entièrement compatible avec les standards en vigueur (JSP, EJB, servlets, etc.). Cet ouvrage est conçu comme un tutoriel dont l'objectif est de vous faire acquérir une connaissance concrète et immédiatement exploitable de Struts : design pattern MVC, vues, contrôleur, traitement des erreurs, internationalisation des applications, etc. Le code des nombreux exemples et de l'application complète proposés est directement réutilisable.

1.3. Mon résumé

Ce livre, s'adressant de toute évidence à un public de débutant, se propose de vous initier au très connu framework Struts. Les propos tenus se basent sur la version 1.1 de Struts, et comme tout framework proposé dans les technologies Java/J2EE, les fonctionnalités et la façon de faire ont évolué depuis la publication de cet ouvrage (nous en sommes à la 1.2.4 à l'heure où ces quelques lignes sont rédigées).

Après un courte présentation du but et du contexte d'utilisation de Struts, puis du Modèle Vue Contrôleur (MVC) façon Struts et quelques rappels des fondements des Servlets/Jsp (les débutants en développement web en Java apprécieront), l'auteur rentre dans le vif du sujet en proposant un premier exemple. Les chapitres qui suivent se chargent de détailler, de façon relativement claire, les différentes notions introduites. L'auteur va même jusqu'à vous présenter une manière de déboguer votre application Struts déployée sous Tomcat. Un cas d'étude vous est ensuite proposé, permettant de mettre en oeuvre les différents concepts sur une application classique de type Ajout/Modification/Suppression de données avec persistance sur une base de données MySQL. Enfin, un aide mémoire fort intéressant est inclu en annexe : la description des différentes bibliothèques de tags proposés par Struts.

2. La critique

2.1. Premières impressions

Au premier abord, cet ouvrage est particulièrement facile et agréable à lire. L'enchaînement des différents chapitre est plutôt cohérent dans l'optique de l'apprentissage et la mise en pratique. De plus les explications et les exemples sont clairs et à la portée de débutants disposant de bases solides en programmation Java.

Malheureusement le contenu s'avère au final pauvre par rapport à certaines nouveautés introduites lors de la sortie de Struts 1.1 : les syntaxes et descriptions sont certes cohérentes avec cette version, mais des nouveautés telles que DynaActionForm, DispatchAction et autres dérivés de la classe Action, validator, la gestion d'exceptions, la bibliothèque nested pour l'imbrication de tags et la bibliothèque tiles pour l'utilisation de templates, des taglibs dérivées permettant l'utilisation d'expressions EL, et j'en oublie sûrement... On pourra donc reprocher à l'auteur un chapitre tel que le débogage d'application Struts, certes intéressant, mais bien moins primordial que les fonctionnalités citées.

Malgré tous ces oublis, le contenu du livre peut suffire à appréhender les principaux concepts traités par Struts 1.1, et à être capable de les exploiter pour développer des applications honorables. Il faudra néanmoins avoir conscience que des adaptations, certes parfois légères, seront nécessaires pour faire fonctionner les exemples avec une version de Struts plus récente.

2.2. Un livre qui mériterait d'être mis à jour

Un point qui va en la défaveur de cet ouvrage est bien entendu la version de Struts ciblée. Toute personne à la recherche d'un livre désirera de toute évidence en trouver un traitant de la version la plus récente. Néanmoins, comme c'est le cas pour de nombreux projets Open Source, la littérature en langue française se fait rare, et il n'y a malheureusement pas eu de mise à jour de cet ouvrage ni pour l'édition française, ni pour l'édition américaine d'origine. Ainsi, Jakarta Struts par la pratique est l'un des seuls livres français, sinon le seul (du point de vue de l'apprentissage du framework), actuellement disponible.

2.3. Exemples, ressources et traduction

Si, comme je l'ai dit, le code propre à Struts est exempt d'erreurs, on ne peut pas en dire pareil pour le reste du code proposé dans les exemples. En effet, le code proposé est loin d'être une référence en ce qui concerne l'interaction avec la base de données (certaines bonnes pratiques dans certains exemples disparaissent par exemple quelques pages plus loin), la séparation entre le M et le C du MVC, ainsi que des abus flagrants du copier coller donnant lieu à des traitements inutiles à certains endroits (et donc forcément un code qualifiable de buggé). On regrettera notamment l'absence de CD-ROM contenant les exemples et les outils (Struts 1.1, Tomcat 4.1) utilisés par l'auteur, ce qui aurait au moins permis d'éviter les bugs identifiés.

Enfin, l'ouvrage est la traduction de Mastering Jakarta Struts (on notera qu'Eyrolles a eu la bonne idée de lui donner un titre reflétant de façon plus humble le contenu). La traduction a semble-t-il introduit quelques erreurs dans le code source, chose très regrettable lorsqu'on tente de franciser le code original.

3. Recommandations...

3.1. ... aux débutants

Si vous êtes débutant et que vous cherchez un ouvrage francophone vous permettant d'appréhender Struts, en l'absence d'autres ouvrages de ce type, je ne peux que vous recommander Jakarta Struts par la pratique.
En ce qui concerne la mise en pratique des exemples du livre, si vous disposez du temps nécessaire, je vous recommande de les tester en utilisant les librairies fournies avec Struts 1.1, puis d'essayer d'adapter le code pour le tester avec une version plus récente en tenant compte des changements subis par le framework. Vous tirerez ainsi bénéfice de l'ouvrage pour faire vos premiers pas, en passant progressivement à l'implémentation actuelle.

Par contre, si vous n'êtes pas allergique à l'anglais, vous aurez davantage de choix au niveau d'ouvrages plus récents et plus complets.

3.2. ... à ceux qui connaissent déjà Struts

Si vous connaissez déjà Struts ou si vous cherchez une référence en français, passez votre chemin. Vous trouverez peut-être votre bonheur dans les ouvrages de langue anglaise ou apprécierez éventuellement Jakarta Struts - précis &concis (O'Reilly) en tant qu'aide mémoire.

4. Conclusion

Sans aller bien loin dans les méandres de Struts 1.1, cet ouvrage reste la référence française pour apprendre à utiliser le framework Struts. Facile à lire, il vous permettra de vous initier à des pratiques plus évoluées permettant la séparation de l'application en couches et servira de tremplin pour l'acquisition du savoir nécessaire à une utilisation plus avancée du framework.

Je remercie également Bestiol pour la relecture de cette critique.

5. Liens

Articles et tutoriels Borland C++ Builder
Accédez à une base de données Access avec les composants du BDE
Guide d'installation de la RxLib sous BCB 6
Présentation et utilisation du plugin borCVS pour Borland C++ Builder 6
Articles et tutoriels Java
Présentation de l'API Reflection
Gestion d'images en base de données avec l'API JDBC
Interview et reportages
Compte rendu des conférences JAX 2006, Eclipse Forum Europe 2006, EAKon 2006
Interview d'Eric Lefevre, consultant chez Valtech, au sujet de l'Open Space Technology
Compte rendu des Valtech Days 2007
Autres articles et tutoriels
Introduction à CVS
Présentation du langage NICE
Critiques de livres
Jakarta Struts Par la pratique (Eyrolles)
Initiation à JSP (Eyrolles)
Gestion de projets avec Subversion (O'Reilly)
Struts - Les bonnes pratiques pour des développements web réussis (Dunod)
Hibernate 3.0 : Gestion optimale de la persistance dans les applications Java/J2EE (Eyrolles)
Analyse et conception orientées objet - Tête la première (O'Reilly)
Gestion de projet eXtreme Programming (Eyrolles)
Gestion de projet - vers les méthodes agiles (Eyrolles)
Autres liens sur Developpez.com
La FAQ C++ Builder
Les Sources C++ Builder
Les FAQs JAVA
  

Copyright © 2004 Ricky81. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.