Nous développons des solutions IT pour satisfaire les besoins immédiats
de nos clients, mais nous leur permettons surtout de grandir dans le sillage de leur vision.
Nous nommons cette approche « morphean bridge ».
JSF – Facelets – RichFaces – Spring-security
Webmardi : Java pour le Web
Agenda
1. Architecture
2. JSF
3. Facelets
4. Richfaces
5. Spring-security
6. Exemple pratique
7. Demo
8. Conclusions
Architecture
JSF
• User interface (UI) components
• Renderers
• Managed beans
• Validators
• Converters
• Events and listeners
• Navigation
• Expression language
• Messages
Facelets
• XHTML instead of JSP
• Templating
• Composition Components
• EL Functions
• JSTL Support
Richfaces
• Ajax capability
• Skinability
• Ajax-ready components
• Advanced UI components
• Component Development Kit (CDK)
• Many javascript libraries (jquery, prototype, …)
Spring-security : Introduction
• Besoin de sécuriser une application
• Gestion flexible de l’authentification
• Gestion des droits
• Framework pour sécuriser une application
• Documenté, complet et robuste
• Respecte les meilleures pratiques d’authentification
• Sécurise toutes les couches de l’application
Spring-security : Fonctionnalités
• Configuration simple et avancée
• Architecture modulaire
• Possibilités d’authentification
• Authentification ldap / AD
• Support d’OpenID
• Authentification sur base de données
• Enterprise-wide single sign on using CAS 3
• Système d’autorisation
Spring-security : Exemple concret avec l’application de démo
Login xhtml page
UserDomainAuthenticationFilter
AuthenticationManager
AuthenticationProviderSwitcherLdapAuthenticationProvider
ActiveDirectory Softcom
Active Directory Softcom
UsernamePasswordAuthenticationFilter
AuthenticationService
UserDetailsContextMapper
LdapAuthoritiesPopulator
Database
LocalAuthenticationProvider
Mock
Exemple pratique – Template Facelet
Exemple pratique – Page
Exemple pratique – faces-config.xml
Exemple pratique – web.xml
Démo
Conclusion : avantages
• Modèle d’application avec composition de composants
• Composants riches
• Gestion de sécurité très flexible
• Ajax
• Simplicité de développement web en java
Conclusion : Inconvénients
• Lourdeur du code source
• Gestion des exceptions
• Complexité du cycle de vie de JSF
• Mélange de plusieurs librairies javascript
• CDK trop compliqué
Conclusion : Futur
• JSF 2 (2010)
• Ajax
• Facelets
• Bean validation
• Richfaces 4 (2011)
• Optimisation de tous les composants
• Optimisation des performances
• Javascript basé sur jquery uniquement
• Nouveau CDK simplifié
Merci pour votre attention