Internet / Opinie
Nieuwe standaard voor webapplicaties
Productiviteit bouwproject zeer gebaat bij JSF
Volgens Jeroen Benckhuijsen en Tijs Rademakers van Atos Origin levert de nieuwe JSF-standaard duidelijke voordelen op. Bij webapplicaties zal het werk van een Java-ontwikkelaar volgens hen bijvoorbeeld beter verdeeld worden over de verschillende lagen.
Het zwaartepunt bij het bouwen van bedrijfskritische webapplicaties in een J2EE-omgeving ligt wat betreft urenbesteding nog steeds bij het bouwen van de gebruikersinterface. Dit heeft een aantal oorzaken, te beginnen bij de toolondersteuning. Voor het bouwen van de gebruikersinterface voor een desktopapplicatie is het bijvoorbeeld al geruime tijd mogelijk om visueel complexe schermen te construeren. Voor webapplicaties ontbreekt deze ondersteuning, voornamelijk door het ontbreken van een standaardraamwerk binnen de J2EE-specificatie.Een andere oorzaak voor het grote aantal uren dat gemiddeld wordt besteed aan de user interface, is de wildgroei aan frameworks, die het gat van een standaard Model-View-Controller-implementatie ( MVC) binnen de J2EE-specificatie proberen in te vullen. Het meest bekende en gebruikte framework in de Java-gemeenschap is Struts. Er is echter nog een groot aantal andere frameworks dat zich in de loop van de tijd ontwikkeld heeft, zoals Tapestry, WebWork en Spring MVC. Het ontbreken van een standaard, zoals bij Microsoft ASP.NET, heeft een aantal nadelen, zoals het gebrek aan kennis van de frameworks, weinig standaardcomponenten van third parties en de afhankelijkheid van een niet gestandaardiseerd framework.
Een laatste oorzaak is de complexiteit en de klantspecifieke invulling van de gebruikersinterfaces. Door het ontbreken van complexe standaardcomponenten binnen de Java-omgeving worden bij veel projecten de componenten nieuw ontwikkeld.
Om de productiviteit voor het bouwen van gebruikersinterfaces in een Java-omgeving enorm te vergroten, heeft het Java Community Process al in 2004 een specificatie ontwikkeld, genaamd Java Server Faces ( JSF), onder JSR 127. Een verbeterde versie van deze specificatie wordt in JSR 252 klaargestoomd voor de nieuwe J2EE-specificatie: Java Enterprise Edition 5. Dit betekent dat JSF het enige standaard MVC-framework wordt in de Java-omgeving.
Specificatie
JSF heeft als belangrijkste doelstelling het ontwikkelwerk van webapplicaties te vereenvoudigen en dus te versnellen. De basis van de vereenvoudiging is gelegd in een duidelijke, stapsgewijze architectuur van JSF. In zes afgebakende stappen wordt vanuit een aanvraag van een browser een resultaat teruggegeven ( zie online-referentie 2).Voor het minimaliseren van het ontwikkelwerk is onderkend dat toolondersteuning zeer belangrijk is. Vandaar dat JSF is ontwikkeld onder prominente aanwezigheid van deze doelstelling.
Een ander onderdeel van deze vereenvoudiging is de introductie van componenten. Naast de standaard HTML-objecten die beschikbaar zijn, zoals invoervelden, selectievakken en knoppen, bieden JSF-implementaties van bijvoorbeeld IBM en MyFaces ( zie online-referentie 3) complexe componenten, zoals op Word gebaseerde tekstvakken, boomstructuren en tabbladen. Er is dan ook een groeiend aantal third parties dat JSF-componenten aanbiedt. Naast de beschikbare componenten is het natuurlijk mogelijk om zelf componenten te ontwikkelen. Door het gebruik van deze componenten kan de productiviteit van het bouwen van een gebruikersinterface dramatisch worden vergroot.
Vergelijking Struts en JSF
Struts is al enkele jaren de de facto standaard voor de ontwikkeling van webapplicaties. Daarom is natuurlijk een belangrijke vraag: "Is JSF een betere technologie voor het bouwen van webapplicaties dan Struts?" Een leuk detail daarbij is dat Craig McClanahan - bedenker van Struts - spec lead was voor JSF.Struts is veelvuldig gebruikt bij het ontwikkelen van webapplicaties en is daarom uitontwikkeld. JSF-implementaties zijn nu ongeveer een jaar te vinden bij verschillende leveranciers als IBM en Oracle, maar ook bestaan er open source projecten zoals MyFaces. Dit betekent dat Struts als framework op dit moment meer volwassen is, maar als begin volgende jaar JEE 5 wordt gelanceerd, zal dit snel veranderen in het voordeel van JSF.
Een belangrijk verschil tussen Struts en JSF is de doelstelling van het framework. Bij Struts ligt dit op het implementeren van het MVC-pattern, bij JSF is dit een componentgebaseerde architectuur gericht op toolondersteuning met een flexibele implementatie van het MVC-pattern. Dit geeft al aan dat JSF een veel bredere doelstelling heeft.
Een meer technisch georiënteerd verschil is de implementatie van het Struts- en JSF-framework. Bij het bouwen van een webapplicatie met Struts wordt de door de ontwikkelaar gebouwde code automatisch afhankelijk van het Struts-framework. De code raakt zogezegd vervuild met afhankelijkheden van Struts-classes. Bij JSF is deze afhankelijkheid zoveel mogelijk vermeden. Meer verschillen kunnen gevonden worden in de vele beschikbare artikelen hierover ( zie onder meer online-referentie 1).
Met het publiceren van de JSF-specificatie in 2004 is er in de Struts-wereld onder aansturing van Craig McClanahan veel discussie over de toekomst van Struts ontstaan. Dit heeft geleid tot een splitsing van Struts in twee frameworks: Struts Core, gebaseerd op de 'oude' Struts-technologie en Struts Shale, gebaseerd op de JSF-specificatie ( zie online-referentie 4). De keuze is dus niet JSF óf Struts maar een combinatie is ook heel goed mogelijk. Dit kan de migratie van Struts-applicaties eenvoudiger maken.
Conclusie
JSF komt tegemoet aan de belangrijkste oorzaken voor de hoge urenbesteding bij J2EE projecten aan de gebruikersinterface. Toolondersteuning is namelijk een belangrijk speerpunt van de JSF-specificatie en elke grote leverancier van Java-ontwikkelomgevingen biedt functionaliteit voor het visueel bouwen van een web user interface.Door de komst van JSF is er eindelijk een standaard binnen de nieuwe JEE 5-specificatie op het gebied van de presentatielaag in applicaties. Door de standaardisatie op JSF is de hoeveelheid informatie hierover enorm, kunnen third parties eindelijk componenten aanbieden en zijn bedrijven verzekerd van ondersteuning uit de markt. Na intern onderzoek bleek JSF duidelijke voordelen op te leveren bij het ontwikkelen van webgebaseerde applicaties. Als een van de grote spelers op de markt spreekt Atos Origin zich dan ook duidelijk uit als voorstander van het gebruik van JSF en positioneert het als een logische keuze voor veel nieuwbouwtrajecten.
Verder biedt JSF een componentgebaseerde architectuur, waardoor het bouwen van complexe schermen door middel van componenten kan worden ingevuld. Deze componenten zijn beschikbaar in de gekozen ontwikkelomgeving, komen van third parties of kunnen zelf worden ontwikkeld. Hergebruik van deze componenten staat hierbij voorop.
Met het gebruik van JSF zal de urenbesteding van een Java-ontwikkelaar beter verdeeld worden over de verschillende lagen van een bedrijfskritische webapplicatie. Met de JEE 5-specificatie in het zicht voor begin 2006 is het moment aangebroken om JSF in te zetten bij het bouwen van webapplicaties. Een andere keuze zal de productiviteit van het bouwtraject namelijk niet ten goede komen.
Vergelijking JSF - Struts: http://websphere.sys-con.com/read/46516.htm
http://myfaces.apache.org
http://struts.apache.org
Jeroen Benckhuijsen, Tijs Rademakers, Atos Origin Nederland
- 09:59 SaaS en software: een krachtige combinatie
- 16:01 Cebit breidt aantal seminars uit
- 10:59 Globaliseren, hoe doe je dat?
- 09:48 Nederlander maakt internettaal minder complex
- 15:17 Access point voor geleidelijke migratie naar 11n
- 15:05 Nokia N97 mobiele computer
- 14:11 Platforms EPN en ECP.NL 'verloofd'
- 09:26 SES Astra brengt internet naar de afgelegen boer
- 11:26 Apple raadt antimalware aan voor Mac
- 14:50 Europese breedbandmarkt verzadigt
7 manieren om hogere klantentevredenheid te realiseren
Via SIP, een techniek waarmee multimedia verbindingen opgezet worden, kunnen klanten via telefoon, video, chat, email en zelfs SMS contact zoeken, waar het Call Center of contactpersoon zich ook bevind. Aan de hand van Case Studies leest u welke aanzienlijke voordelen er behaald kunnen worden.... Download nu
Checklist en meerwaarde IPv6 migratie
Het beperkte aantal netwerkadressen bij gebruik van Internet Protocol version 4 (IPv4) zal voor veel ondernemingen een struikelblok gaan vormen in de nabije toekomst. Deze whitepaper gaat in op een aantal maatregelen waarmee de overgang naar het meer geavanceerde IPv6 zo vloeiend mogelijk kan...... Download nu
Meer Internet whitepapersIE 7 versus Firefox
Het aandeel Firefox in de browsermarkt is toegenomen ondanks de komst van Internet Explorer 7. Daarmee is het Microsoft met zijn nieuwste internetprogramma niet gelukt om de groei van concurrent Mozilla af te zwakken, stelt Forrester Research.
'Microsoft kon groei van Firefox niet dempen'Access point voor geleidelijke migratie naar 11n
03-12 15:17 Lancom Systems introduceert de L-315agn dual Wireless, een dual draadloze access point. Het apparaat omvat twee draadloze modules die zowel werken op de 2,4 als de 5 GHz...
Meer internet productenTwinpack doet financieën via internet
16-07 10:21 Een van de grotere verpakkingsgroothandels in Nederland, Twinpack, is gebruiker van Covide CRM-Groupware en daarover bijzonder tevreden. 'We kunnen nu een goed en op onze...
Meer internet praktijkSaaS en software: een krachtige combinatie
05-12 09:59 Software kopen of afnemen als een dienst, het blijft een lastige keuze. Op het Topic SaaS zijn onze experts het ook niet eens. Van kostenbesparing tot de deliverymethode keuze...
Meer internet achtergrondGlobaliseren, hoe doe je dat?
04-12 10:59 Hoewel globalisatie voor veel bedrijven tegenwoordig een proces van alledag is, blijft het een interessante vraag hoe je daar als bedrijf invulling aangeeft. Om mij heen zie ik...
Meer internet opinieBekijk de leveranciers op het gebied van Internet.

