Links

  • 1. Sogeti
  • 2. JBoss
  • 3. IBM
  • 4. Oracle
  • 5. SpringSource
  • 6. NL-JUG
  • 7. Java

Archives

Syndication  RSS 2.0

RSS 1.0
RSS 2.0

Bookmark this site

Add 'JCN Blog' site to delicious  Add 'JCN Blog' site to technorati  Add 'JCN Blog' site to digg  Add 'JCN Blog' site to dzone

Posted by jcn at 2:15 on Thursday 1 July    Add 'Blueprints for interactive web applications' site to delicious  Add 'Blueprints for interactive web applications' site to technorati  Add 'Blueprints for interactive web applications' site to digg  Add 'Blueprints for interactive web applications' site to dzone

Deze sessie was geranked als ‘Advanced’, maar had beter ‘Introductory’ kunnen zijn. Functies die we in web technologie gebruiken zijn veelal het afhankelen van de user request, het opslaan van een bepaalde state, het navigeren tussen verschillende pagina’s en dynamisch genereren van content. Kijkend naar de mogelijkheden die er zijn voor de webtier dan kun je ze ruwweg verdelen in Foundation technologies (servlet, portlet, JSTL, JSP) en Framework technologies (Struts, JavaServer Faces). In de rest van de sessie worden deze technologieen verder behandeld.

Servlet 2.4 specificatie is een uitbreiden van de servlet specificatie met filters, event listeners en state management. Daarnaast kun je servlets nu ook bij het deployen configureren. De sterke kanten van servlets zijn de control functionaliteit en mogelijkheden voor binaire content generatie.

Portlet 1.0 specificatie beschrijft portlets (duhhh…), afzonderliijke onderdelen van een user interface. Portlets werken niet zelfstandig, maar krijgen een plaats op een portal page, van wie zij ook de context krijgen. Portlets zijn niet gebonden aan een specifieke URL, wat zeker voor bepaalde typen navigatie wel handig kan zijn (geen geknutsel met URL’s). Daarnaast zijn ze ontzettend handig voor het plaatsen van content op verschillende devices, waarvoor verschillende renderers gebruikt kunnen worden. De kracht van portlets ligt in de scheiding tussen processing en rendering.

JSP 2.0 specificatie beschrijft JSP’s, die met name bedoelt zijn het teruggeven van een response naar de browser. De grootste uitbreiding van JSP 2.0 is de toevoeging van de Expression Language (zie sessie op dag 3). De kracht van JSP’s ligt in het genereren van statische data, de krachtige expression language en de eenvoud waarmee custom tags uitgebreid kunnen worden. Nadeel van JSP 2.0 is het ontbreken van support voor algemene, doch krachtige functies.

JSTL 1.1 specificatie is bedoelt om algemene functies en functionaliteit toe te voegen aan de JSP taal. Denk hierbij aan functies op het gebied van XML, I18N (internationalisatie) en SQL. Het voordeel van JSTL is de sterk gestandaardiseerde library met algemene functies, het nadeel is dat het geen support geeft voor coarser grained functies (pagina, sessie).

Struts en JavaServer Faces zijn beiden implementaties van het MVC-pattern. Struts is erg goed in volledige en eenvoudige full life cycle support, het wordt veel gebruikt en ondersteunt door vele IDE’s. Het nadeel van Struts is dat de user interface niet uitbreidbaar is, geen user interface state management heeft, en niet over een event model beschikt (maar een action model). JavaServer Faces 1.0 beschikt over een mechanisme om eenvoudig model objecten te configureren, heeft een rich UI architecture en de view rendering kan worden losgekoppeld. De kracht van JavaServer Faces zijn de uitbreidbare componenten, flexibele resource configuratie, de integratie met Struts en de component libraries. JavaServer Faces heeft echter nog wel wat last van het feit dat het slecht integreert met JSP’s en JSTL, dat de expressie taal anders is dan de JSP 2.0 EL en dat het erg resource intenties is.

De paar ‘blue prints’ die ze daar na geven kunnen eigen meer tips worden genoemd, en zijn het herhalen eigenlijk niet waard. Hou je verstand erbij en kijk eens naar de Adventure Builder blueprint, dan heb je eigenlijk alles wat je hier over zou moeten weten.


© 2019 Java Competence Network. All Rights Reserved.