De grootste kennisbank van het HBO

Inspiratie op jouw vakgebied

Vrij toegankelijk

Terug naar zoekresultatenDeel deze publicatie

Vergelijking Apache Beehive, Spring MVC en Struts 2.

Rechten: https://hbokennisbank.nl/pages/open-access

Vergelijking Apache Beehive, Spring MVC en Struts 2.

Rechten: https://hbokennisbank.nl/pages/open-access

Samenvatting

De doelstelling van dit onderzoek is: Inzicht krijgen in de werking van de drie frameworks (Beehive, Spring MVC en Struts 2), om zo aan klanten een onderbouwde aanbeveling te kunnen geven over het te gebruiken framework.
De eerste stap in deze afstudeerstage was het opstellen van een lijst met beschikbare Java EE webframeworks. Uit deze lijst zijn in overleg met de opdrachtgever negen frameworks gekozen. Dit zijn: Beehive, Cocoon, JSF, Maverick, MyFaces, Spring MVC, Struts 2, Tapestry en Wicket. Deze keuze is hoofdzakelijk gebaseerd op bekendheid en of er recente ontwikkel activiteiten aan het framework te ontdekken waren. Uit deze negen frameworks zijn op basis van opgestelde selectiecriteria drie frameworks gekozen om verder te onderzoeken.
Om alle informatie die benodigd is voor de selectie te verzamelen, is er voor deze negen frameworks een vooronderzoek uitgevoerd. In dit vooronderzoek is per framework gekeken naar de ontwikkeling, beschikbare informatie, vraag naar de frameworks op de arbeidsmarkt. Ook is er gekeken naar het aantal medewerkers binnen Capgemini Nederland dat de frameworks op als competentie op hun CV hebben staan. Dit vooronderzoek leverde alle informatie die benodigd was om de selectiecriteria toe te passen. Als aanbeveling kwam uit het vooronderzoek om de frameworks JSF, Spring MVC en Struts 2 te onderzoeken. Omdat de opdrachtgever veel opdrachten doet met producten van het bedrijf BEA, waar Beehive in wordt gebruikt, is besloten om toch ook Beehive te onderzoeken. Hierdoor is er één framework afgevallen, dit is JSF. De uiteindelijk geselecteerde frameworks zijn: Beehive, Spring MVC en Struts 2.
Het onderzoek bestaat uit drie delen: Architectuur van de frameworks, prototypes en de vergelijking. Per framework is allereerst de architectuur in kaart gebracht. Vervolgens is er een prototype ontworpen dat met alledrie de frameworks gebouwd is. Het prototype is een eenvoudige bibliotheek applicatie. In deze applicatie kunnen boeken en klanten worden beheerd en boeken uitgeleend en ingenomen. Elk prototype communiceerd met dezelfde back-end, namelijk EJB 3 Session en entity beans. De schermen van de prototypes zijn zo simpel mogelijk gehouden, alleen wanneer een framework handige extra’s biedt (zoals een kalender om een datum in te voeren) zijn deze in het scherm opgenomen. Hierdoor zijn de schermen vrijwel niet van elkaar te onderscheiden.
In de vergelijking zijn de frameworks vergeleken op configuratie, code, functionaliteit, flexibiliteit, performance en testbaarheid. Voor deze onderdelen is het prototype gebruikt als referentie. Op het gebied van configuratie komt Struts 2 als beste uit de bus. Struts 2 heeft de minste configuratie door het gebruik van veel standaard waarden. Na Struts 2 volgt Beehive, deze heeft meer configuratie doordat er vaak dezelfde configuratie gedaan moet worden. Als laatste volgt Spring MVC. Deze heeft doordat er voor formulieren extra configuratie nodig is en omdat de configuratie wat complexer is een lagere beoordeling.
Bij de vergelijking op code niveau komt Struts 2 ook als beste uit de bus. Struts 2 gebruikt eenvoudige, niet complexe code, de code voor een actie is ook erg kort. Als tweede volgt Spring MVC, deze heeft een iets langere code en is ook iets complexer. Beehive heeft veruit de langste code door het gebruik van annotaties voor de configuratie. Door de hoeveelheid annotaties wordt de code erg complex. Als we de annotaties buiten beschouwing laten is Beehive gelijk met Spring MVC. Struts 2 biedt de meeste functionaliteit. Er zitten vele extra’s in en zowel validatie als security is goed geregeld. Beehive heeft minder extra’s dan Struts 2 maar biedt ook enkele extra’s. Validatie is goed geregeld en security zelfs zeer goed. Spring MVC biedt geen extra’s. Validatie is goed geregeld maar security biedt Spring MVC standaard niet. Er is een security framework “Acegi” voor Spring, dit is niet gebruikt of uitgebreid onderzocht, maar hiermee zou de security wel goed geregeld zijn. Als meest flexibel komt Struts 2 uit de bus. Dit framework is vrij eenvoudig in configuratie files aan te passen zonder de code aan te hoeven passen. Na Struts 2 volgt Spring MVC. Dit framework heeft een vastere koppeling tussen de controller en de jsp pagina. Hierdoor is dit framework iets moeilijker aan te passen. Als laatste volgt Beehive, dit framework is niet aan te passen zonder wijzigingen in de code. Afgezien daarvan is het framework flexibeler dan Spring in de koppeling met de view.

Toon meer
OrganisatieHogeschool Utrecht
OpleidingInformatica
AfdelingICT
PartnersCapgemini Nederland.
Jaar2007
TypeBachelor
TaalNederlands

Op de HBO Kennisbank vind je publicaties van 26 hogescholen

De grootste kennisbank van het HBO

Inspiratie op jouw vakgebied

Vrij toegankelijk