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.