
JavaServer Faces (JSF) is dé manier om jouw website te bouwen. JSF is de standaard voor alle Java applicaties en interactieve websites. Met JSF zorg je ervoor dat je binnen no-time de mooiste website neerzet waar je vervolgens ook op de server-side prettig mee kan werken. Dit framework zorgt voor tevreden gebruikers én tevreden developers.
Wat is JSF
JavaServer Faces (JSF) is een standaard Java Framework voor
het maken van web applicaties. Het is een framework met daarin de client-side
technologieën zoals HTML, CSS en JavaScript. Hierdoor kun je als developer
user-interfaces bouwen, vanaf de server-side, zonder al te veel te doen met
deze client-side technologieën. Het zorgt er dus voor dat je makkelijker Java
Web user interfaces kan ontwikkelen. JSF heeft het Model-View-Controller
concept in de architectuur zitten waardoor de applicaties die je met JSF maakt
goed ontworpen zijn met eenvoudig onderhoud. En dan nu iets technischer: JSF is
de standaard technologie voor het ontwikkelen van component-based,
event-oriented web interfaces. Je bouwt dus reactieve applicaties gebaseerd op
aparte componenten/modules.
JSF Architecture
Een van de grote voordelen van JSF is dat het zowel een Java
Web user-interface standaard is als een framework volgens het Model-View-Controller
principe. JSF applicaties zijn beter te beheren, omdat de user-interface code
(View) goed gescheiden is van de applicatie data en logica (Model). Om de JSF
context, wat ervoor zorgt dat de data van de applicatie op de pagina terecht
komt en wat niet-geautoriseerde gebruikers weert van de pagina’s, voor te
bereiden, worden alle user interactions met de applicatie beheerd door de
front-end ‘Faces’ servlet (de Controller van het Model-View-Controller
principe). Door dit MVC principe creëer je dus een applicatie waarin alles wat
de bezoeker, van bijvoorbeeld je website, aanvraagt of doet, gescheiden is van
het model wat je hebt geschreven met daarin de data. Dit is natuurlijk enorm
handig en daarom wordt JSF ook zeer veel gebruikt.
De Faces Controller servlet dient als de link tussen de
gebruiker en de JSF applicatie. Deze werkt door de JSF Lifecycle. De JSF
Lifecycle definieert de volgorde van events tussen de user requests. Hierbij
kun je denken aan een initiële web request om een JSF applicatie te openen. De
Faces Controller servlet bij deze web request eerst de JSF context
voorbereiden, daarna stuurt de Faces Controller de gebruiker naar de juiste
pagina. Bij volgende requests updatet de Controller de Model data, wanneer er
nieuwe input is ingevoerd. Als developer heb je ten alle tijden toegang tot de
JSF Lifecycle wat dus ervoor zorgt dat je zeer veel controle hebt over welke
processen deze uitvoert.
JSF User Interface components
De echte kracht van JSF ligt in het user-interface
components model waar applicates gemaakt worden uit collecties van components
die zichzelf op verschillende manieren manifesteren voor verschillende type
klanten. Dit is ongeveer het zelfde als technologieën als ASP.Net. JSF zorgt
voor ongekende productiviteit (niet tegen je werkgever zeggen), doordat het
pre-built user-interface componenten aanbiedt waardoor je niet helemaal vanaf
het begin hoeft te beginnen. De collectie van deze componenten is enorm en het
voorziet je daarin dus van alle gemakken.
In JSF zitten UI(user-interface) componenten in de reference
implementation, waaronder twee libraries van componenten zoals een HTML library
en een een ‘Core’ library. De HTML library is er voor de standaard HTML input
elementen en de ‘Core’ library is er voor de standaard ontwikkelingsprocessen zoals
internationalization, dit is het aanpassen van de computer software naar een
andere taal, en het valideren/omzetten van input data. Hierdoor kun je
makkelijk je website omschrijven naar andere talen en zo maak je je website
geschikt voor allerlei browsers.
Voordelen van JSF
- JSF is de standard voor het bouwen van web applicaties voor user-interfaces in Java.
- Het framework van JSF bevat, zoals eerder beschreven, veel herbruikbare user-interface componenten. Je kunt kiezen uit een enorme library en dat maakt het programmeren duizend maal makkelijker.
- Je kunt gebruik maken van de application state for web requests, hiermee kun je dingen van je gebruikers bijhouden. Dus als je, bijvoorbeeld, een toets maakt op je website wil je natuurlijk aan het einde aan de maker van de toets kunnen aangeven of hij of zij deze toets gehaald heeft. Dat kan heel eenvoudig met JSF.
- Het belangrijkste van JSF is process form data, hierbij voert de gebruiker van je website wat data in. Je kunt vervolgens JSF gebruiken voor het valideren van deze data, en/of het transformeren van deze data naar tabellen. JSF heeft voor dit soort acties ingebouwde features die eenvoudig te gebruiken zijn.
- Net als bij python zijn er bepaalde extra pakketten die je kunt gebruiken. Deze zogeheten ‘Third-Party JSF UI Components’ zijn ontwikkeld door open-source developers en deze kun je gratis downloaden en gebruiken. De populairste open-source components zijn OpenFaces, RichFaces en PrimeFaces.
Kom JSF leren bij Master it Trainingen!
Inmiddels ben je er wel achter dat JSF dé manier is om jouw
website te bouwen, het enige probleem is; waar krijg je nou een echt goede
opleiding om hier de expert in te worden? Bij Master it Training natuurlijk! Wij leren jou tot in detail hoe je alles
optimaal vormgeeft en hoe jij binnen no-time de perfecte website neerzet. Denk
hiervoor bijvoorbeeld aan de Training
Java EE6: JavaServer Faces, hier leer je de ins en outs van het framework. Daarnaast
kun je voor je bedrijf de speciale training Java
Enterprise Edition 6/7 komen volgen, zodat je enterprise applicaties in
elkaar kunt zetten. Je kunt natuurlijk ook gelijk aan de gang met de
Third-Party JSF UI Components pakketten. Een van de belangrijkste hiervan is
Richfaces en daarom bieden wij hiervan dan ook de training
Java EE6 Ajax4JSF + RichFaces aan. Twijfel je welke training je het beste
kan volgen of wil je meer weten over een van de andere honderden trainingen die
we aanbieden? Bel dan gerust voor vrijblijvend advies naar 040 23 23 390 of
mail naar info@master-it.nl.
Gerelateerde trainingen
Blended Learning | MS20480 Online Training Programming in HTML5 with JavaScript and CSS3Blended Learning | MS20487 Online Training Developing Windows Azure and Web Services
Developing ASP.NET Core MVC Web Applications
Introduction to CSS
Introduction to HTML
Developing Windows Azure and Web Services
Introduction to Programming
Programming in HTML5 with JavaScript and CSS3
Programming in C#
HTML5 Application Development Fundamentals