Letvægtsarkitekturer til adrætte udviklingsmetoder

Denne artikel stammer fra det trykte Computerworlds arkiv. Artiklen blev publiceret den CTO d. 2. september 2005.


Spring, Hibernate og Tapestry passer godt sammen med agile udviklingsmetoder.

Hvis man anvender agile metoder, kræver det, at arkitekturen også er letvægt. Tunge arkitekturer duer ikke sammen med de adrætte udviklingsmetoder.
Thomas Huusom Christensen, teknisk direktør hos konsulentvirksomheden Nordija, er ikke i tvivl. Fremfor at hive J2EE med tilhørende Enterprise JavaBeans (EJB) op af værktøjskassen, når et nyt udviklingsprojekt starter, foretrækker han letvægtsarkitekturer som Spring, Hibernate og Tapestry. Han har arbejdet med CORBA og EJB, så han kender til de tunge arkitekturer.
- J2EE er eksempelvis meget tung at konfigurere. Der er en masse XML-filer, der skal defineres og konfigureres. Selve kodningen kan også være omfattende. Skal man eksempelvis have tilstanden for en entity-bean (en entity-bean kan eksempel indeholde kundeoplysninger, red.) ud til en webklient, skal man gå igennem en masse design-patterns for at få data frem til klienten, siger Thomas Huusom Christensen.
Med letvægtsarkitekturerne bliver udviklingsprocessen nemmere.
- Det giver en mere simpel arkitektur og markant mindre kode, siger han om fordelen ved at anvende de lette arkitekturer.

Da man aldrig udfører det samme projekt to gange i træk, mener han, at det er svært at sammenligne udviklingstiden mellem projekter, der anvender forskellige arkitekturer. Alligevel er han overbevist om, at letvægtsarkitekturerne vinder på tid og kvalitet.
- Udviklingstiden er da speedet op, og jeg er overbevist om, at kvaliteten er bedre, da koden er nemmere at overskue. Samtidig er det nemmere at definere og udføre en masse testcases til verifikation af koden, siger Thomas Huusom Christensen.
Nordija lægger da også stor vægt på at foretage såkaldt test-driven development (TDD). Her skriver man sine testcases før koden, så man løbende kan teste koden, der skrives. Ifølge Thomas Huusom Christensen bliver det også nemmere at teste sin kode, når man anvender letvægtsarkitekturerne.
- Når det er muligt at verificere forretningskomponenterne uden for J2EE-udviklingsmiljøet, bliver det nemmere at teste, og dermed nedbringes udviklingstiden, siger han.

Ud over at yde konsulentbistand til udviklingsprojekter er Nordija ved at udvikle et projektstyringsværktøj til projekter, der anvender agile metoder. Projektstyringsværktøjet, Plan B, udvikles ved at anvende letvægtsarkitekturerne Spring, Hibernate og Tapestry.
Det 19 mand store Nordija har senest været med til at rådgive DSB i omlægningen af deres Netbutik fra en J2EE-applikation med EJB til en arkitektur, der anvender Tapestry som præsentationslag og Hibernate som databaselag.

Boks:
agile
udviklingsmetoder
Der er i dag flere udviklingsmetoder som eksempelvis Extreme Programming og Scrum, der alle understøtter det agile manifest. Agile udviklingsmetoder fokuserer blandt andet på fungerende software fremfor omfattende dokumentation. Læs mere på
http://www.agilemanifesto.org/

Boks:
hibernate
Mapningen mellem Java-objekter og relationelle data i databaser kan rent udviklingsmæssigt være tidskrævende. Hibernate tilbyder en automatisk mapning mellem objektstruktur og relationel struktur, så udviklerne ikke skal bruge tid på det. Læs mere på http://www.hibernate.org

Boks:
spring
Spring blev open source-projekt
i februar 2003. Giver en konsistent data-adgang, uanset om man
anvender JDBC eller Objekt-til-
Relationel mapning som eksem-
pelvis Hibernate. Læs mere på
http://www.springframework.org/