SlideShare une entreprise Scribd logo
1  sur  9
Télécharger pour lire hors ligne
Java Server
Faces
Beyond
Sommaire
●
Notion de Framework
●
JSF Présentation
●
JSF Avantages
●
JSF Inconvénients
●
Solutions
●
Perspectives
Notion de Framework
●
Les frameworks sont des structures
logicielles qui définissent des cadres
dans lesquels s’insèrent les objets et
concepts spécifiques à une application
●
En pratique, un framework est un
ensemble de classes et de mécanismes
associés à une architecture logicielle qui
fournissent un ou plusieurs services
techniques ou métiers aux applications
qui s'appuient dessus
●
Exemple : Framework MVC (Java)
Struts
Spring MVC
Tapestry
Grails
Vaadin
JSF
Java Server Faces
●
Java Server Faces (JSF) est le
framework standard de présentation
pour les applications web conçues avec
la plate-forme Java EE. Il est basé sur
un modèle orienté événement et sur
une architecture orientée composant.
Les composants JSF peuvent être
transcrits en HTML, XML, WML et autre
format en fonction de la cible grâce au
concept de Renderer. Dans une
application JSF, l’intégration de la
logique applicative consiste à assigner
l’écouteur approprié au composant qui
génère des événements
●
JSF Implémentation
Mojarra
Apache MyFaces
Avantages
●
Offre des composants standards, ainsi
que des librairies additionnelles mais
non-compatibles, pour accélérer le
développement de l'interface graphique
PrimeFaces
RichFaces
IceFaces
OmniFaces
Oracle ADF
●
Réutilisation des composants dans les
pages et possibilité de créer ses propres
composants graphiques
●
Modèle de programmation simple et qui
est basé sur les événements comme
pour la librairie graphique Swing.
●
Supporte nativement Ajax
Inconvénients
●
Problème de scalabilité car consommant
beaucoup de mémoire RAM
●
Séparation entre les développeurs
impossible du fait de sa non-modularité
●
Difficile d’intégrer un web designer dans
l’équipe et d'utiliser des librairies CSS
comme Bootstrap
●
Modèle Ajax compliqué et limité car ne
produisant pas du JSON
●
Difficulté pour créer des applications
web responsive, progressive et offline
●
Redémarrage du serveur après chaque
modification d'un Managed Bean. Ce qui
est une perte de temps énorme pour
une livraison rapide du projet
Solutions
●
Développement d'un RAD framework
moderne, modulaire au dessus de Struts
●
Séparation totale entre les développeurs
via le concept de modules indépendants
●
Intégration facile d'un web designer et
des librairies CSS comme Bootstrap via
le concept de template réutilisable
●
Modèle Ajax produisant du JSON et
utilisable avec des librairies comme
jQuery et Vue.js pour modifier le DOM
●
Facilité pour créer des applications web
responsive, progressive et offline
●
Intégration avec le langage Groovy pour
éviter le redémarrage du serveur lors de
la modification d'une Action
Perspectives
●
Réduction des coûts et gain de temps
pour une livraison rapide du projet
●
Développement rapide et modulaire
d'applications SaaS web et mobile
●
Création de templates front-end et
back-end réutilisables
●
Intégration avec l'écosystème de
librairies CSS et les modules JavaScript
●
Possibilité d’utiliser les web components,
le modèle standard de composant du
langage HTML
●
Système dynamique avec une
intégration des librairies Java, comme
celles de la fondation Apache (Apache
Commons FileUpload, Apache POI..)
Merci pour votre
attention

Contenu connexe

Tendances

Hello AngularJS - Back to the future
Hello AngularJS - Back to the futureHello AngularJS - Back to the future
Hello AngularJS - Back to the futureOuadie LAHDIOUI
 
Angular Framework présentation PPT LIGHT
Angular Framework présentation PPT LIGHTAngular Framework présentation PPT LIGHT
Angular Framework présentation PPT LIGHTtayebbousfiha1
 
M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4CERTyou Formation
 
Angluars js
Angluars jsAngluars js
Angluars jsRYMAA
 
AngularJS - Présentation (french)
AngularJS - Présentation (french)AngularJS - Présentation (french)
AngularJS - Présentation (french)Yacine Rezgui
 
comprendre angularJS en 10 minutes
comprendre angularJS en 10 minutescomprendre angularJS en 10 minutes
comprendre angularJS en 10 minutesDavid Bo
 
Le futur de AngularJS (2.0)
Le futur de AngularJS (2.0)Le futur de AngularJS (2.0)
Le futur de AngularJS (2.0)Clément Dubois
 
MVVM de A à Z
MVVM de A à ZMVVM de A à Z
MVVM de A à ZMicrosoft
 
Microservices avec Spring Cloud
Microservices avec Spring CloudMicroservices avec Spring Cloud
Microservices avec Spring CloudFlorian Beaufumé
 
Front end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitéeFront end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitéeOuadie LAHDIOUI
 
Model view-view model (mvvm)
Model view-view model (mvvm)Model view-view model (mvvm)
Model view-view model (mvvm)Ghassen Smida
 
Dans quel contexte employer Zend ou Drupal
Dans quel contexte employer Zend ou DrupalDans quel contexte employer Zend ou Drupal
Dans quel contexte employer Zend ou Drupalneuros
 
Quoi de neuf dans ASP.NET MVC 4
Quoi de neuf dans ASP.NET MVC 4Quoi de neuf dans ASP.NET MVC 4
Quoi de neuf dans ASP.NET MVC 4Microsoft
 
Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido SOAT
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetFrédéric Vandenbriele
 
Wm875 g formation-cics-v5-developpement-avance-d-applications-pour-soa-et-web...
Wm875 g formation-cics-v5-developpement-avance-d-applications-pour-soa-et-web...Wm875 g formation-cics-v5-developpement-avance-d-applications-pour-soa-et-web...
Wm875 g formation-cics-v5-developpement-avance-d-applications-pour-soa-et-web...CERTyou Formation
 
Débuter avec Rails::API & AngularJS
Débuter avec Rails::API & AngularJSDébuter avec Rails::API & AngularJS
Débuter avec Rails::API & AngularJSFrédéric DUPERIER
 

Tendances (20)

Hello AngularJS - Back to the future
Hello AngularJS - Back to the futureHello AngularJS - Back to the future
Hello AngularJS - Back to the future
 
Modele mvc
Modele mvcModele mvc
Modele mvc
 
Angular Framework présentation PPT LIGHT
Angular Framework présentation PPT LIGHTAngular Framework présentation PPT LIGHT
Angular Framework présentation PPT LIGHT
 
M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4
 
Angluars js
Angluars jsAngluars js
Angluars js
 
AngularJS - Présentation (french)
AngularJS - Présentation (french)AngularJS - Présentation (french)
AngularJS - Présentation (french)
 
comprendre angularJS en 10 minutes
comprendre angularJS en 10 minutescomprendre angularJS en 10 minutes
comprendre angularJS en 10 minutes
 
Le futur de AngularJS (2.0)
Le futur de AngularJS (2.0)Le futur de AngularJS (2.0)
Le futur de AngularJS (2.0)
 
MVVM de A à Z
MVVM de A à ZMVVM de A à Z
MVVM de A à Z
 
Microservices avec Spring Cloud
Microservices avec Spring CloudMicroservices avec Spring Cloud
Microservices avec Spring Cloud
 
Front end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitéeFront end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitée
 
Model view-view model (mvvm)
Model view-view model (mvvm)Model view-view model (mvvm)
Model view-view model (mvvm)
 
Dans quel contexte employer Zend ou Drupal
Dans quel contexte employer Zend ou DrupalDans quel contexte employer Zend ou Drupal
Dans quel contexte employer Zend ou Drupal
 
Quoi de neuf dans ASP.NET MVC 4
Quoi de neuf dans ASP.NET MVC 4Quoi de neuf dans ASP.NET MVC 4
Quoi de neuf dans ASP.NET MVC 4
 
Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido
 
Framework JavaScript Web - Brief techno
Framework JavaScript Web - Brief technoFramework JavaScript Web - Brief techno
Framework JavaScript Web - Brief techno
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.Net
 
2 ModéLe Mvc
2 ModéLe Mvc2 ModéLe Mvc
2 ModéLe Mvc
 
Wm875 g formation-cics-v5-developpement-avance-d-applications-pour-soa-et-web...
Wm875 g formation-cics-v5-developpement-avance-d-applications-pour-soa-et-web...Wm875 g formation-cics-v5-developpement-avance-d-applications-pour-soa-et-web...
Wm875 g formation-cics-v5-developpement-avance-d-applications-pour-soa-et-web...
 
Débuter avec Rails::API & AngularJS
Débuter avec Rails::API & AngularJSDébuter avec Rails::API & AngularJS
Débuter avec Rails::API & AngularJS
 

Similaire à Java Server Faces - Beyond

Workshop Spring - Session 1 - L'offre Spring et les bases
Workshop Spring  - Session 1 - L'offre Spring et les basesWorkshop Spring  - Session 1 - L'offre Spring et les bases
Workshop Spring - Session 1 - L'offre Spring et les basesAntoine Rey
 
Oracle j developer+adf11g description
Oracle j developer+adf11g descriptionOracle j developer+adf11g description
Oracle j developer+adf11g descriptionThéodore KOFFI
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Nazih Heni
 
Cours n°1.1-Introduction.pdf angularrrrr
Cours n°1.1-Introduction.pdf angularrrrrCours n°1.1-Introduction.pdf angularrrrr
Cours n°1.1-Introduction.pdf angularrrrrinesrdissi60
 
Google Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonGoogle Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonStéphane Liétard
 
Oracle Developer adf
Oracle Developer adfOracle Developer adf
Oracle Developer adfBacely YoroBi
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFBoubker ABERWAG
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreStéphane Traumat
 
Wpl53 g formation-developper-des-applications-pour-ibm-websphere-portal-8-0-a...
Wpl53 g formation-developper-des-applications-pour-ibm-websphere-portal-8-0-a...Wpl53 g formation-developper-des-applications-pour-ibm-websphere-portal-8-0-a...
Wpl53 g formation-developper-des-applications-pour-ibm-websphere-portal-8-0-a...CERTyou Formation
 
Angular développer des applications .pdf
Angular développer des applications .pdfAngular développer des applications .pdf
Angular développer des applications .pdfimenhamada17
 
Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...
Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...
Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...Microsoft Technet France
 
Saas Libre
Saas LibreSaas Libre
Saas Libregrolland
 
Quelles évolutions fonderont l’avenir des serveurs d’application ?
Quelles évolutions fonderont l’avenir des serveurs d’application ?Quelles évolutions fonderont l’avenir des serveurs d’application ?
Quelles évolutions fonderont l’avenir des serveurs d’application ?Marc Bojoly
 

Similaire à Java Server Faces - Beyond (20)

Prezentare ASP.Net.pptx
Prezentare ASP.Net.pptxPrezentare ASP.Net.pptx
Prezentare ASP.Net.pptx
 
Workshop Spring - Session 1 - L'offre Spring et les bases
Workshop Spring  - Session 1 - L'offre Spring et les basesWorkshop Spring  - Session 1 - L'offre Spring et les bases
Workshop Spring - Session 1 - L'offre Spring et les bases
 
Oracle j developer+adf11g description
Oracle j developer+adf11g descriptionOracle j developer+adf11g description
Oracle j developer+adf11g description
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 
Java Server Faces 2
Java Server Faces 2Java Server Faces 2
Java Server Faces 2
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"
 
Cours n°1.1-Introduction.pdf angularrrrr
Cours n°1.1-Introduction.pdf angularrrrrCours n°1.1-Introduction.pdf angularrrrr
Cours n°1.1-Introduction.pdf angularrrrr
 
Spring
SpringSpring
Spring
 
CV REBAI Hamida
CV REBAI HamidaCV REBAI Hamida
CV REBAI Hamida
 
Google Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonGoogle Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative Common
 
Oracle Developer adf
Oracle Developer adfOracle Developer adf
Oracle Developer adf
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libre
 
Angular.pdf
Angular.pdfAngular.pdf
Angular.pdf
 
Wpl53 g formation-developper-des-applications-pour-ibm-websphere-portal-8-0-a...
Wpl53 g formation-developper-des-applications-pour-ibm-websphere-portal-8-0-a...Wpl53 g formation-developper-des-applications-pour-ibm-websphere-portal-8-0-a...
Wpl53 g formation-developper-des-applications-pour-ibm-websphere-portal-8-0-a...
 
Angular développer des applications .pdf
Angular développer des applications .pdfAngular développer des applications .pdf
Angular développer des applications .pdf
 
Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...
Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...
Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...
 
Jquery Mobile vs Twitter Bootstrap
Jquery Mobile vs Twitter BootstrapJquery Mobile vs Twitter Bootstrap
Jquery Mobile vs Twitter Bootstrap
 
Saas Libre
Saas LibreSaas Libre
Saas Libre
 
Quelles évolutions fonderont l’avenir des serveurs d’application ?
Quelles évolutions fonderont l’avenir des serveurs d’application ?Quelles évolutions fonderont l’avenir des serveurs d’application ?
Quelles évolutions fonderont l’avenir des serveurs d’application ?
 

Java Server Faces - Beyond

  • 2. Sommaire ● Notion de Framework ● JSF Présentation ● JSF Avantages ● JSF Inconvénients ● Solutions ● Perspectives
  • 3. Notion de Framework ● Les frameworks sont des structures logicielles qui définissent des cadres dans lesquels s’insèrent les objets et concepts spécifiques à une application ● En pratique, un framework est un ensemble de classes et de mécanismes associés à une architecture logicielle qui fournissent un ou plusieurs services techniques ou métiers aux applications qui s'appuient dessus ● Exemple : Framework MVC (Java) Struts Spring MVC Tapestry Grails Vaadin JSF
  • 4. Java Server Faces ● Java Server Faces (JSF) est le framework standard de présentation pour les applications web conçues avec la plate-forme Java EE. Il est basé sur un modèle orienté événement et sur une architecture orientée composant. Les composants JSF peuvent être transcrits en HTML, XML, WML et autre format en fonction de la cible grâce au concept de Renderer. Dans une application JSF, l’intégration de la logique applicative consiste à assigner l’écouteur approprié au composant qui génère des événements ● JSF Implémentation Mojarra Apache MyFaces
  • 5. Avantages ● Offre des composants standards, ainsi que des librairies additionnelles mais non-compatibles, pour accélérer le développement de l'interface graphique PrimeFaces RichFaces IceFaces OmniFaces Oracle ADF ● Réutilisation des composants dans les pages et possibilité de créer ses propres composants graphiques ● Modèle de programmation simple et qui est basé sur les événements comme pour la librairie graphique Swing. ● Supporte nativement Ajax
  • 6. Inconvénients ● Problème de scalabilité car consommant beaucoup de mémoire RAM ● Séparation entre les développeurs impossible du fait de sa non-modularité ● Difficile d’intégrer un web designer dans l’équipe et d'utiliser des librairies CSS comme Bootstrap ● Modèle Ajax compliqué et limité car ne produisant pas du JSON ● Difficulté pour créer des applications web responsive, progressive et offline ● Redémarrage du serveur après chaque modification d'un Managed Bean. Ce qui est une perte de temps énorme pour une livraison rapide du projet
  • 7. Solutions ● Développement d'un RAD framework moderne, modulaire au dessus de Struts ● Séparation totale entre les développeurs via le concept de modules indépendants ● Intégration facile d'un web designer et des librairies CSS comme Bootstrap via le concept de template réutilisable ● Modèle Ajax produisant du JSON et utilisable avec des librairies comme jQuery et Vue.js pour modifier le DOM ● Facilité pour créer des applications web responsive, progressive et offline ● Intégration avec le langage Groovy pour éviter le redémarrage du serveur lors de la modification d'une Action
  • 8. Perspectives ● Réduction des coûts et gain de temps pour une livraison rapide du projet ● Développement rapide et modulaire d'applications SaaS web et mobile ● Création de templates front-end et back-end réutilisables ● Intégration avec l'écosystème de librairies CSS et les modules JavaScript ● Possibilité d’utiliser les web components, le modèle standard de composant du langage HTML ● Système dynamique avec une intégration des librairies Java, comme celles de la fondation Apache (Apache Commons FileUpload, Apache POI..)