280207 Dag25: Avsluttning på Sprint 4

Mattis og Morten har jobbet på TestNG. De har måtte forkaste MockObjects, da det ikke fungerer så bra sammen med TestNG. SeamTest har bedre støtte for MockObjects, så vi må muligens sjekke ut denne test teknologi også. De har generert interfaces for Kristian sine beans/klasser og implementert testklasser.

Kristian har jobbet videre på Library eksemplet, og har en funksjonell test på dette. Kurt har jobbet noe parallelt med Kristian for å finne ut av EJB parameter for relasjoner og hvordan disse virker. Vi har nå fått implementert Databaserelasjoner som er automatisk generert gjennom annotations i entity bean klassene.

Vi mangler fortsatt full testdekning og webservices, men føler alikevell at Sprinten har vært produktiv, da vi har fått hevet forståelsen for Seam/EJB Annotations og oppbyggingen/kommunikasjonen i EJB3/Seam/JSF applikasjonen.




GK, where are you? Why don't you answer Morten??

270207 DAG 24

Dag 24 gikk heftig for seg.
Tiden gikk for det meste med på å lese teori og sette seg inn i Seam. Kristian fikk den nedstrippede utgaven av programmet til å funke med skikkelig lagdeling. Kjempe bra! Han starter nå arbeidet med den fulle applikasjonen.

Kurt har jobbet med Kristian, mens Morten & Mattis har plaget de andre med dårlige vitser og lesing på Seam i et tappert forsøk på å lage en test etter Behaviour Driven Design prinsippet. Vi så på mocking av objekter og hvordan dette skulle fungere sammen med TestNG og SeamTest klassen.

Alt i alt en så som så produktiv dag, men det går fremover!
Keep on truckin'

260207 DAG 23

Kurt og Kristian jobber sammen med å lage et enkelt EJB 3.0 prosjekt. Går lekende lett når backing bean er på plass. ->Videre til EJB 3.0 med Seam... litt knotete. Annotations @In, @Out, @Stateless og interface Local blir droppet i fordel for get og set metoder... Var ikke helt sikker på om dette var den rett måten... Får litt input fra de andre gutta, men det er mye frem og tilbake. Vi går tilbake til @Stateless og interface...

Vi finner mange gode eksempler på akkurat det vi jobber med men de er ikke helt som vi har tenkt. Det kaller rett til Entity bønnen i eksemplene. Vi vil kalle en session bean som igjen kaller på entity bønnen.

MavenSeam prosjektet på SVN er nå klart. Trenger bare å ta en mvn install så er alt på plass.

Mattis spiker på Mock objekter.
Morten er hjemme etter nattevakt.

230207 1632 DAG 22

Dagen i dag har vært lite produktiv, med tanke på programmering. Det har blitt lest på EJB 3.0 og Morten har skrevet ferdig sprint review i Porter. Mattis har sett på Annotations og hækki-sækka med disse.

Alle bortsett fra Kurt har hatt noen inne på soverommet i natt. Disse har da slått av vekkeklokken, slik at de det gjelder, har forsovet seg. Kristian våknet av seg selv og tenkte: "Jeg er jo ikke trøtt... det må være noe galt!". Han forstod raskt at han hadde forsovet seg og løp til bussen.

EmbedableContainer(MicroContainer i JBoss)->digging deep.... Kurt spiker!

God lunsj i dag... litt variasjon fra kalkun og chilie... rekesalat er fredagskost... + at Mattis kom med cola og dårlig samvittighet!

Xait-skjorter er delt ut... "Kanskje de skal innføre dress code?"
Det blir godt med helg!

220207 1950 DAG 21: START SPRINT 4

Dagen i dag har gått med til oppstart på Sprint 4. Denne sprinten skal være en videreføring av Spring 3.
Vi skal i denne sprinten lage en helt strippet ned JBoss AS, Hibernate, EJB 3.0, Seam og JSF applikasjon med WebService. Vi har nå litt erfaring med teknologien, men trenger fortsatt mer forståelse for hva de forskjellige annotations betyr, og hva som er påkrevd for å får EJB til å snakke med databasen og JSF til å kontakte EBene via Seam.

Vi har i dag laget UserStories med tasker for denne Sprinten, testet litt mer på TestNG, begynt på å lese oss mer opp på Test Driven Development (TDD) og Behaviour Driven Development (BDD), samt startet en minimalistisk applikasjon med en tabell, en EB, en DAO, en SessionBean, en registrerings JSF og en "utskrifts" JSF. Dette for at alle skal komme inn i det med TDD/BDD og forståelsen av alle annotations.

Mål med sprinten:

  • Bibliotek applikasjon med 100% testdekning
  • WebService
  • Tydelig lagdeling
  • EJB 3.0 koblinger
  • Forskning på søk



GA = Gavin Approved?? Sendt epost til G King og spurt og venter i spenning...

210207 1950 JSF, Maven, Seam, EJB. The usual routine

I dag har vi jobbet en god del med JSF bibliotek eksempelet.

Kristian og Kurt har gjort en veldig god innsats med bibliotekeksempelet, de har laget en versjon som kan registrere bøker og liste de ut. Det høres enkelt ut, men å registrere en bok på tvers av en webside laget i JSF, tolket av Seam, koblet mot EJB 3.0 som bruker Hibernate mot en SQL server, er ingen enkel affære.

Morten har jobbet med Selenium og satt seg inn i hvordan det virker. Han fikk testet Cargo plugin i Maven og klarte å automatisk deployere EAR filen på en JBoss applikasjonsserver.

Jeg har jobbet med en litt tidligere versjon av NetBeans prosjektet Kurt og Kristian har laget for å få det over i Maven, men er ikke helt i mål enda.

I dag har vi også hatt besøk av Pål, veilederen vår fra NITH. Han sjekket at vi ikke er låst nede i en mørk kjeller uten kaffe. Vi fikk presentert teknologisstacken for Pål og vist et eksempel på hvordan det jobber i sammen.

Ellers er vi ferdige med sprint 3 og har hatt et sprint review møte. Der har vi gått gjennom siste sprint. Vi har identifisert problemer som vi hadde sist sprint, spesiellt er Kristian lei av å måtte stå oppreist om morningen, så vi skal begynne med sitdown-meetings i stedet for standup.

Eric og Owe var med og fikk sett på det vi har produsert og identifisert målet for neste sprint.

200207 1401 Dag 19 JSF & EJB happy happy fun house

*Oppdatering*

Kristian fikk til applikasjonen og alt virker nå som det skal.
Her er et bilde av Kris og Kurt som feirer med en liten dans:



I dag er siste dagen av Sprint 3 og dagen preges av å få gjort unna mest mulig av taskene som må på plass for å oppfylle målsetningen vår som var å få opp en bokside hvor man kunne registrere og liste ut bøker ifra forskjellige biblioteker. Dette skulle også testes. Teknologiene som skulle brukes var JSF, EJB3, Seam, TestNG. Bøkene skulle registreres i en MySQL database for så å kunne listes ut senere. Hele sulamitten skulle bygges med Maven2.

Kristian og Kurt jobber videre med å få JSF & EJB på stell. Dette viser seg å være lettere sagt enn gjort, og selv om Gavin King sier "Det er så lett at morra mi skulle fått det til!" så møter vi stadig nye hindringer.
Men det skal være sagt, selv om alt ikke virker som det skal så er mye gjort. Selve JSF siden er oppe og kjører, og man kan lagre data i databasen. Problemet ligger i det å lese ut alle dataene fra de forskjellige tabellene og populere dropdown listene, men men det order seg for snille gutter!

Morten og Mattis har fått på plass en TestNG prototype mot en prototype av Bok-applikasjonen, så den delen anser vi som fullført.

I morgen avslutter vi sprinten, kjører sprint review og sprint planning meeting, får besøk av Pål for å vise hvordan vi har det og starter på neste sprint.

190207 - Dag 18 -> bokreggis!

Vi startet dagen med en scrum. Mattis har gått nattevakt og er derfor hjemme i dag. Vi estimerer og får burndown chart'en ned til 49 timer... ser bra ut...

Kristian jobber med å få EJB 3.0 og seam til å igjen bruke JSF som kan registrere bøker og forfattere i databasen.... tok litt lengere tid enn forventet ja.... "king e kung!"

Kurt spiker på lucien og compass.

Morten skrev i Porter, og klarte selvfølgelig å ødelegge conversion funksjonen(pdf). Typisk Morten!

Vi tre hadde et lite møte med Ove hvor han kjapt viste oss noen Seam/EJB kodesnutter som helt sikkert kommer godt med.... men husker ikke noe av dem nå...

Nå har alle fått seg egen green-chilie!

140207 1638 Dag 17 - Burndown (to hell) chart

Dagen i dag her vært nok en dag i frustrasjonens tegn. Hele gruppen har i dag jobbet, mer eller mindre, på Gavin King eksemplet. Det har vært noe fremskritt i forståelsen vår av pakkeoppbyggingen og deploy strukturen, men vi har fortsatt ikke en Maven bygget deploy pakke som fungerer.

Daily standup viser at burndown chart'en bare flater ut. Dette kalles merkelig nok synkende velocity i Scrum. Merkelig siden det føles det som hastigheten bare blir høyere og høyere og retningen er rett (ned) til helvete.

Vi startet dagen med en "ren" Maven archetype prosjekt, og la til dependencies etter som vi støttet på behovene. Deretter tok vi en sammenligning av deploy(ear) filene for å finne hva som er forskjellig fra et Enterprise prosjekt uten Maven.

Hver gang vi tror vi har løst et problem så kommer neste. Vi har slettet omtrent alt som ikke gir noe virkning, og kommet ned fra 14M ear-fil til på det minste 11K.

Morten har i tillegg jobbet med TestNG og fått på plass en liten HelloWorld med TestNG testing.
Kris har jobbet videre med å forberede Entitybeans, slik at når vi får på plass Gavin King'en er dette klart til å legges inn.

Chilli update: USPS rapporterer at de forsøkt å levere varen kl 1548 på tirsdag. Typisk nok var ikke Morten der og tok imot stoffet vårt, så da får vi fortsette å snylte på Charlie...

130207 1758 Dag 16 - Hail to da King baby

Gavin King har som kjent laget et verktøy for å få EJB 3.0 og JSF til å prate sammen uten en masse krimskrams rundt, JBoss Seam.

Dagens update er litt vinklet fra min side siden jeg har sittet isolert med headset og spiket meg ihjel på JBoss Seam for å få det til å fungere med HelloWorld applikasjonen vår.

Scenario #1:
- NetBeans og Maven 2.
- HelloWorld POM prosjekt.
- JSF / Seam / EJB 3.0.

Scenario #2:
- NetBeans IDE og vanlig EAR prosjekt.
- Register eksempel fra Gavin King.
- JSF / Seam EJB 3.0.

Scenario #1 kaster the elusive nullpointer Jasper exception, helt til vi bruker TomaHawk taglibs og skifter ut en del JSF komponenter med TomaHawk sine komponenter. Men lo and behold, da fungerer ikke JSF <-> EJB lenger, ingenting blir nuket gjennom til databasen.

Hvis jeg setter tilbake til Gavin King sitt Register eksempel (ikke TomaHawk taglibs), er det JasperException igjen. Er noe med at Contexten ikke blir initialisert skikkelig, men vi trodde vi hadde fikset det med å ha en index.html side som forwarder deg til Seam siden, men akk nei.

Scenario #2 fungerer, enkelt og greit. Men det er jo uten Maven 2, FIT testene, rapportene og alt det vi brukte de første 10 dagene på å lage.

Så det siste som ble gjort i dag fra min side var å begynne helt fra bunn av med et Lunarlogic archtype til Maven 2 og bare Make It Work (tm), uten Fit tester og en haug med dependencies som ikke direkte har noe med Seam å gjøre. Planen er å strippe det ned til the bare minimum og så legge til alt det andre etterpå.

Utenom det har Kristian også jobbet en del med JSF og Seam. Han har laget en webside med en del JSF komponenter og fått dette til å virke, men dog ikke i Maven. Kanskje vi har en presentasjonslagspire..?

Kurt og meg har parprogrammert en del og hatt en del brainstorming og spiking for å få til JBoss Seam i Maven.

Morten har jobbet lenge og hardt med TestNG, som også er i en eller annen Beta Alpha RC0.5-SNAPSHOT versjon, og jobber for å få en forståelse for dette.

In other news, burndowncharten vår går med stødig kurs rett i dass, men det var egentlig ventet siden det er første forsøket vårt å estimere arbeidstid i et Scrum prosjekt.

120207 1243 Dag 15 - Doing Stuff

Idag har vi blitt ferdige med Story Card 1 som går ut på å skrive på prosjektoppgaven. Vi prioriterte denne storyen høyt siden det er viktig å skrive gradvis under prosjektet og ikke ha et maraton på slutten for å bli ferdige.

Ellers så har dagen idag gått treigt. Formen har generelt sett vært preget av en hard helg! Kristian har sett på TestNG(jeg prøvde tappert, men feilet spektakulært). Mattis har gjort, hmmm, noe. Kurt har jobbet med å få Gavin Kings eksempel til å fungere.

Etter å ha skrevet om Agile Methods og Scrum i dag fant jeg tilbake til denne morsomme stripen som spiller på prinsippet om Pigs and Chickens i Scrum. Pigs er de som har forpliktet seg til et prosjekt, mens Chicken's er andre personer som bare er løst involvert.


Chile update: Stoffet har kommet til Norge, og bør være fremme i løpet av en dag eller to! Det blir nesten som julaften og nyttår på en gang.

070207 1628 Dag 14 - Start Sprint 3

Startet dagen med et møte med Eric. Vi går gjennom Scrum-prosess, planlegger oppsett for Sprint 3. Her får vi konkritisert målsettingen som ble halveis definert i går.

Vi skal nå lage en WebService og en JSF-side som gjør kall mot en MySql-DB. Det skal kunne være mulig i begge tilfellene å legge inn bøker i et bibliotek, samt vise innhold.
Videre satte vi opp en ny Sprint-plan, litt mer complex enn tidligere. Vi føler vi nå har bedre kontroll på hva vi har å gjøre. Stories som gir konkrete tasks er "snæks"! Når alle task'ene var på plass estimerte vi timene de enkelte taskene "vil" ta og ut i fra dette satte opp en BurnDownChart.Den mest prioriterte story'en er rapporten. Derfor brukte vi nesten resten av dagen på å skrive dokumentasjon i Porter. Fungerer best i IE, men Kurt push'et grensen og nektet å svike FireFox.

Et lite møte med Ove og Eric ga oss ett overblikk av hva vi har i vente. Her ble det opplyst om hva som er "the big plan"... det vi nå har trent i 14 dager på, var ikke synlig i diagrammene... men vi har fortsatt mot, og ble enda litt mer motivert!

060207 1620 Dag 13 - Sprint 2 ferdig

Startet dagen med vår daily standup meeting (scrum).



Mattis fikk oppdatert Xait sin Maven 2 repository, og oppdatert POM'en vår, slik at vi nå kan laste ned Helloworld prosjektet vårt fra SVN og få hele repositorien lastet ned under build.

Morten har satt seg inn i Appfuse og best praksis for testing. Morten skal også ta på seg rollen som en slags gruppe Scrum master.

Kristian jobber videre med JSF og EJB3.0. Her er det mye å lære for oss alle, og vi setter opp dette som en egen "userstory" som alle skal gjennom.

Kurt ser noe på SVN. Her foretars det full rydding i directory strukturen, og alt som ikke er i bruk blir slettet.


Da fikk vi endelig ferdigstilt sprint 2, og kan kjører en demo for Owe og Eric.
Vi tar full lasting fra SVN, bygger, deployer, viser helloworld og testsite. Tar også en visning av Appfuse demoen vi har lastet ned.

Da er det klart for Sprint 3. Her vil målet bli Data in/out fra database med JSF/EJB3.0 grensesnitt. I tillegg skal vi lese oss opp på søkemotor teknologi.


Hi ho Silver....

050207 1450 Dag 12 - Install and destroy

Dagen i dag startet som normalt, møte rundt kaffetrakteren, diskusjon hvordan den beste kaffen blir kompilert. Det er fortsatt et mysterium hva som er årsaken til tre - fire heftige dunk etter circa ett min med kontinuerlig during.

Etter morgenrutinen var unnagjort startet vi arbeidet på å få opp HelloWorld applikasjonen vår. Eric ville at vi skulle kjøre en demo for å vise hvor langt vi er kommet i løypa.

Planen var å kunne vise den fram på en PC som ikke før hadde hatt applikasjonen, slik at vi kunne vise en demo helt i fra scratch. Det er et par små steg som må gjøres for å få det til:

#1 - Hente kildekoden fra en PC på nettverket (SVN).
#2 - Legge til alle avhengigheter slik at den lokale maskinen kan kompilere koden.
#3 - Kjøre 'mvn install' for å faktisk bygge selve applikasjonen.
#4 - Legge den endelige applikasjonen ut på en server (deploye den).
#5- PROFIT!

I dag derimot har makkverket bestemt seg for å ta en usving i 300 km/t og totalvrake alle drømmene våre.

Av en eller annen grunn hadde det ninjaet seg inn en merkelig feil hos Kurt der istedet for å åpne websiden, fikk han opp en boks som tilsynelatende uskyldig lurte på om han hadde lyst å lagre websiden til harddisk.

Feilen viste seg å være ebola i influensaklær og var så og si helt umulig å tracke ned. Vi fjernet alle mappinger til filer, herjet rundt, prøvde å renske opp, rulle tilbake prosjektet til tidligere versjoner der vi VISSTE alt hadde funket; to no avail.

Etter fire timer med feilsøking på Kurt sin maskin, slettet vi alt som hadde med prosjektet på Mattis sin maskin og startet på ny. I skrivende stund (kl. 15:00) kan jeg meddele at vi endelig har fått skrangelet opp på samme nivå som på onsdag sist uke, minus en god del sanity hos alle parter involvert.

Det er enda ikke helt oppe og sviver fordi JSF <-> EJB delen ikke fungerer helt som den skal, men vi har ihvertfall en webside som sier HelloWorld!

Så i morgen må vi sette alle kluter inn og få til noe som ikke ser ut som the bastard child til Gavin King.

Kristian har gjort noe lurt i dag og satt seg inn i EJB 3.0 spesifikasjonene i stedet for å slenge hodet i veggen på JBoss applikasjonserveren aka Spawn of Satan. Han har lovt å få til JSF og EJB 3.0 i løpet av morgendagen, hvis ikke skal han sniffe to striper med chillipulver i lunsjen.

Jeg tror jeg begynner å forstå hvorfor programmerere har dispansasjon til å være en smule eksentriske :-)