IBM nieuwsbrief e-office WebSphere, JSF en Domino XPages
      
welkom     nieuws 2012     nieuws 2011     nieuws 2010     Lotus Notes Domino     e-office

WebSphere, JSF en Domino XPages
e-office ibm ontwikkelt digitale werkplekken en (portal)oplossingen gebaseerd op Lotus Notes Domino en, sinds 1999, IBM WebSphere. Voor met name de gebruikersinterface van diverse IBM WebSphere webapplicaties maken wij gebruik van het JavaServer Faces (JSF) raamwerk.

Domino Designer 8.5 zal een nieuw designelement bevatten: de XPage. Met XPages kunnen ontwikkelaars op eenvoudige wijze goed te onderhouden Web 2.0 applicaties maken. XPages zijn gebaseerd op JSF; dit nieuwe design element sluit dus goed aan bij de kennis die binnen e-office aanwezig is. In dit artikel gaan wij dieper in op wat JSF is.

Het doel van de JavaServer Faces (JSF) technologie is het bieden van een raamwerk waarmee eenvoudig en snel een op Java gebaseerde webapplicatie gemaakt kan worden, die ook voldoet aan de Java EE-specificaties. Het raamwerk omvat oplossingen voor een groot aantal taken die in de ontwikkeling van een webapplicatie worden uitgevoerd, zoals user interface design, navigatie, session en object management, validatie en feedback met betrekking tot fouten en internationalisatie.

JSF is gebaseerd op het Model-View-Controller (MVC) design pattern. Hiermee worden in het ontwerp van applicaties de userinterface (View), het domein (Model) en de logica (Controller) van elkaar gescheiden.
De componenten in JSF kunnen we als volgt in deze drie categorieën indelen:

  • Model: Managed beans vormen het model van een JSF applicatie. Deze Java beans communiceren normaal gesproken met reusable business logica componenten of externe systemen, zoals een database.
  • View: Java Server Pages (JSP's) vormen de view component van een JSF applicatie. Deze JSP's combineren model data met bestaande en/of custom-made UI-componenten.
  • Controller: De JSF controller bestaat voornamelijk uit de FacesServlet, welke de navigatie en object management sturen. Daarnaast zijn event listeners onderdeel van de controller.

Schematisch:


De belangrijkste JSF componenten zijn:
  • JSF pages: JSP's
  • FacesServlet: de servlet waarmee de flow geregeld wordt
  • Configuratie file (faces-config.xml) waarmee de navigatie tussen JSP's, validators en managed beans geregeld wordt
  • Tag libraries: hierin zijn de JSF componenten opgenomen
  • Validators: java classes waarmee de inhoud van JSF componenten wordt gevalideerd
  • Managed beans: Java beans die de data van de JSF componenten bevatten
  • Events: java code die op de server wordt uitgevoerd om events af te handelen (bijv. het indrukken van een button)



XPages in Domino Designer 8.5 is gebaseerd op JSF, en heeft daaraan ook een aantal voordelen te danken, zoals:
  • scheiding van user interface en data
  • volledig uitbreidbaar met behulp van custom controls of JSF extensies
  • directe toegang tot Java libraries op de server