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 Architecture JSF Facelets Richfaces Spring-security Exemple pratique Demo 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 AuthenticationProviderSwitcher LdapAuthenticationProvider 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

Java pour le Web

  • 1.
    Nous développons dessolutions 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
  • 2.
    Agenda Architecture JSFFacelets Richfaces Spring-security Exemple pratique Demo Conclusions
  • 3.
  • 4.
    JSF User interface(UI) components Renderers Managed beans Validators Converters Events and listeners Navigation Expression language Messages
  • 5.
    Facelets XHTML insteadof JSP Templating Composition Components EL Functions JSTL Support
  • 6.
    Richfaces Ajax capabilitySkinability Ajax-ready components Advanced UI components Component Development Kit (CDK) Many javascript libraries (jquery, prototype, …)
  • 7.
    Spring-security : IntroductionBesoin 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
  • 8.
    Spring-security : FonctionnalitésConfiguration 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
  • 9.
    Spring-security : Exempleconcret avec l’application de démo Login xhtml page UserDomainAuthenticationFilter AuthenticationManager AuthenticationProviderSwitcher LdapAuthenticationProvider ActiveDirectory Softcom Active Directory Softcom UsernamePasswordAuthenticationFilter AuthenticationService UserDetailsContextMapper LdapAuthoritiesPopulator Database LocalAuthenticationProvider Mock
  • 10.
    Exemple pratique –Template Facelet
  • 11.
  • 12.
    Exemple pratique –faces-config.xml
  • 13.
  • 14.
  • 15.
    Conclusion : avantagesModèle d’application avec composition de composants Composants riches Gestion de sécurité très flexible Ajax Simplicité de développement web en java
  • 16.
    Conclusion : InconvénientsLourdeur du code source Gestion des exceptions Complexité du cycle de vie de JSF Mélange de plusieurs librairies javascript CDK trop compliqué
  • 17.
    Conclusion : FuturJSF 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é
  • 18.

Notes de l'éditeur

  • #4 Liste générique de long
  • #5 Liste générique de long
  • #6 Liste générique de long
  • #7 Liste générique de long
  • #8 Pourquoi utiliser Spring security ? On a toujours le même problème de sécuriser une application Fourni un composant de sécurité tout en un, plus besoin de développer toute la partie sécurité soi même Les applications home made -> problème de maintient, manque de flexibilité Framework pour sécuriser: Documenté -> largement maintenu par Spring source Complet -> grand choix d‘authentification (voir après) Robuste -> Très utilisé par les applications „Spring based“ Meilleures pratiques d‘authentification: Utilise les dernières technologies Séparer au mieux la partie business de la partie de gestion des droits Configuration dans des fichiers externes (XML) Sécurisation de toutes les couches: Pages web par filtrage des URL (admin peut accéder à plus de pages par exemple) Sécurisation services (couche business) Balises JSP / facelets pour rendre invisible certains composants de la vue
  • #9 Configuration par namespace (simple) Configuration avancée (configuration des Spring Bean -> grand choix de configuration) Architecture modulaire, interfaces et classes abstraites, grand nombre de comportement simple implémentés, on peut facilement étendre les fonctionnalités Openid: facebook, Microsoft, IBM, authentification décentralisée et unique Authentification sur base de données : Entièrement configurable, c’est Spring sec. Qui s’adapte à la DB et non l’inverse Authentification simple, nom utilisateur dans le fichier XML CAS 3: Interface pour authentification sur serveur. Une authentification sur tous les serveurs utilisant CAS (Central Authentication Service) Système d‘autorisation -> Gestion des droits limité le contenu par rapport à des droits
  • #10 UserDomainAuthenticationFilter : Prise en compte du champ domaine supplémentaire AuthenticationProviderSwitcher : Switcher de ldap provider suivant le domaine de l’utilisateur LdapAuthenticationProvider : Un ldap provider par AD UserDetailsContextMapper : Chargement des rôles depuis la DB AuthenticationService : Bloquer et obtenir état de l’utilisateur. Y compris l’ajouter si non existant
  • #11 Liste générique de long
  • #12 Liste générique de long
  • #13 Liste générique de long
  • #14 Liste générique de long
  • #15 Liste générique de long
  • #16 Liste générique de long
  • #17 Liste générique de long
  • #18 Liste générique de long