Il existe deux stratégies de développement basiques pour JSF : page-centric et functional. Page-centric consiste à attribuer un backing bean à chaque page. C’est facile, simple, et… confus. Page-centric est la stratégie par défaut de WDSc : le wizard JSF crée un backing bean pour chaque page.
Stratégies de développement
/>
Mais songez aux ramifications : une application comportant une dizaine de fichiers de données pourrait avoir des centaines de pages. Dans ce scénario, un backing bean par page serait plutôt encombrant. En réfléchissant aux relaiTPro tions qui existent entre ces dizaines de fichiers de données, on peut supposer qu’ils partagent beaucoup de logique de gestion.
Avec un modèle page-centric, vous auriez du code en double. Mais avec un modèle functional, c’est vous qui définissez les backing beans délimités par les comportements de l’application. A titre d’exemple, une application de facturation classique pourrait avoir une dizaine de pages mais un seul backing bean. Que vous optiez pour page-centric ou functional, il vous faudra utiliser les deux stratégies supplémentaires suivan – tes : SOA (service-oriented architecture) et DAO.
Vous avez entendu beaucoup de choses à propos de SOA, mais, tout bien considéré, ce qui reste en définitive est ce que SOA considère essentiellement du développement modulaire. En développant votre application JSF, vous ne voulez pas placer dans des backing beans une logique de gestion qui ne soit pas étroitement couplée à l’interface utilisateur.
Ce code pourrait être utilisable pour une autre page ou pour d’autres applications, voire transformé en un service Web et utilisé par des partenaires professionnels. Un autre argument de poids plaide en faveur d’une architecture orientée service et de services de gestion modulaires, pour simplifier considérablement le test des unités et des systèmes.
Le modèle DAO est simplement une API qui définit, crée, lit, met à jour et supprime des opérations pour des entités de gestion. Il faudra mettre en oeuvre le DAO avec une logique JDBC pour extraire et manipuler des enregistrements dans vos fichiers de données. Vous pouvez écrire la logique JDBC vous-mêmes, mais je vous recommande d’utiliser l’outil standard de facto ORM (Object Relational Mapping) appelé Hibernate (voir « Faites hiberner votre JDBC », décembre 2007, www.itpro.fr ).
Une dernière recommandation à propos des stratégies de développement JSF : utilisez l’outil Spring open-source pour intégrer votre DAO à JSF. J’utilise Spring pour fournir trois fonctions importantes à mes applications JSF :
- contrôle de transactions déclaratif
- configuration des connexions bases de données
- association des DAO avec les beans gérés
Au moyen d’une simple configuration XML, vous pouvez ordonner déclarativement à Spring de gérer les éléments cidessus, en vous dispensant ainsi d’un code plutôt complexe. Moins de code, moins de bogues.
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Baromètre channel IT : fin du cuivre, essor de UCaaS et premiers pas vers l’IA
- Fraude par identité synthétique : comment l’IA peut redonner confiance aux entreprises et à leurs clients
- VirtualBrowser protège la navigation web à la source
- Innovation et performance : le rôle clé du consulting dans la transformation numérique
Articles les + lus
Moderniser le développement logiciel : de la fragmentation à l’intégration
Analyse Patch Tuesday Mars 2026
Une nouvelle ère de la modernisation du mainframe
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
À la une de la chaîne Tech
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
- DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
