18
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

Java pour le Web

Embed Size (px)

Citation preview

Page 1: Java pour le Web

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

Page 2: Java pour le Web

Agenda

1. Architecture

2. JSF

3. Facelets

4. Richfaces

5. Spring-security

6. Exemple pratique

7. Demo

8. Conclusions

Page 3: Java pour le Web

Architecture

Page 4: Java pour le Web

JSF

• User interface (UI) components

• Renderers

• Managed beans

• Validators

• Converters

• Events and listeners

• Navigation

• Expression language

• Messages

Page 5: Java pour le Web

Facelets

• XHTML instead of JSP

• Templating

• Composition Components

• EL Functions

• JSTL Support

Page 6: Java pour le Web

Richfaces

• Ajax capability

• Skinability

• Ajax-ready components

• Advanced UI components

• Component Development Kit (CDK)

• Many javascript libraries (jquery, prototype, …)

Page 7: Java pour le Web

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

Page 8: Java pour le Web

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

Page 9: Java pour le Web

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

Page 10: Java pour le Web

Exemple pratique – Template Facelet

Page 11: Java pour le Web

Exemple pratique – Page

Page 12: Java pour le Web

Exemple pratique – faces-config.xml

Page 13: Java pour le Web

Exemple pratique – web.xml

Page 14: Java pour le Web

Démo

Page 15: Java pour le Web

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

Page 16: Java pour le Web

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é

Page 17: Java pour le Web

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é

Page 18: Java pour le Web

Merci pour votre attention