270307 Dag 36 - Kristian skriver blogg!

Kurt og Kristian prøver å få en webservice til å kunne sende en samling av objecter til "klient", men har problemer med dette. Får feil når man skal hente ut objektet igjen, fra lista vi får tilsendt.

Morten og Kristian skriver på rapporten.

Mattis viser alle hvordan han mener man skal teste. BDD. Han får "force'a" gjennom at Kristian skal lage ett nytt oppsett av en test som tester om en kalkulator kan dele to tall. "Test passed!"

Mattis og Kurt lager en test som skal teste søkefunksjonens funksjonalitet. De får det ikke helt til...

280307 Dag 35 - Sprintreview, planlegging og utepils

I dag har vi avsluttet sprint 6. Sprinten har vært preget av tidspress og ny teknologi.

Vi har i løpet av sprinten satt opp et miljø med Compass, Compass GPS, Lucine og MySQL.
Dette fungerer nå greit med Compass som indexerer et gitt mål til egen database.
Det som mangler er integrering i Maven2, men dette vil bli tatt i neste Sprint.

Gruppen har også jobbet med å få ferdig første utkast til prosjektrapportet, et beist som nå veier inn på nesten 12,000 ord..

Vi har også sett på Behaviour (aka Neckbeard) Driven Development, og Mattis mener han begynner å få dreisen på dette nå. Det vil bli forsøkt å jobbe etter denne metoden i neste Sprint.


Til avslutning vil vi ønske alle en god påske og forsiktig omgang med utepilsen!

Snakkes nere i Vågen!


260307 Dag 34

Har jobbet videre med testsuiten til Behaviour Driven Development, får startet testene fra FIT og får ut referat på websiden så er ganske fornøyd. Bloggen i dag blir ganske kort siden jeg kom for sent, så that's it :-)

Jo, vi begynner å merke at det er lite tid igjen nå så må nok stramme inn litt på kravene vi har satt oss slik at det blir gjennomførbart. Stay tuned.

210307 Dag 33 - Lucene Compass Gps

Mattis jobber videre med BDD og integrasjon med FIT.
Morten har jobbet noe med Mattis og noe på rapporten.

Kristian og Kurt har endelig fått til en liten testapplikasjon som indeksere en database i oppstarten og deretter oppdatere indeksen hver gang det skjer endringer mot databasen. Applikasjonen legger til data i database og gi tilgang til å søke etter informasjon. Etter flere dagers arbeid fungerer det endelig.

Nå begynner vi å nærme oss det vi skal lage i prosjektet.

200307 Dag 32 - Work work

I dag har vi jobbet videre med sprint 6.

Konfigurasjon av Compass viser seg å ta lengre tid enn forventet(suprise suprise) på grunn av dårlig dokumentasjon. Kurt klarte å grave opp et eksempel på et forum i et støvete hjørne av verdsensveven, så det går fremover. Har nå klart å indeksere data til en egen database og foreta søk mot den.

Det har også blitt jobbet med skriving på oppgaven slik at vi skal ha noe fornuftig å vise frem den 1. April.

Mattis nærmer seg en plan for gjennomføring av Behaviour Driven Design, noe som kan bli spennende å prøve i praksis.

190307 Dag 31 - Lucene og Compass GPS

Kristian og Kurt ser på eksempler av Lucene med bruk at Compass. Vi får til å lage POJOs som man legger inn i session og søker de opp fra index'en som blir generert.

For å kunne ha en index ut på en database, ser det ut som vi burde bruke GSP(device) funksjonen i Compass.

"Compass Gps is built on top of Compass Core module, utilizing all it's features such as transactions (including the important batch_insert level for batch indexing), OSEM, and the simple API that comes with Compass Core." Device: "...It might also provide "real time" monitoring of changes in the device, and applying them to the index as well."
Reff: http://www.opensymphony.com/compass/versions/1.1/html/gps-introduction.html

Morten skriver på oppgaven. Innledningen begynner å ta form. Han vil at noen andre skal lese gjennom for å sjekke om det ser bra ut. Han har også skrevet mer på teori delen.

Mattis lager enda mer tester. Han leser mer på BDD. Han skal finne ut om hvor mye vi egentlig må "teste" for at testingen skal bli nyttig og ikke unyttig, med tanke på at det er alt for mye arbeid å lage testene.

140307 Dag 30 - Oppstart av Sprint 6

I dag er vi igjen fulltallige.

Vi starter på Sprint 6:

  • Søkefunksjon i Compas Lucene

  • 100% testdekning

  • via Nettside/applikasjon og WebService

Dette er vel første sprint som går direkte på det oppgaven vår er definert som. Det er vil på tide, siden vi 1. april skal ha inne første utkast av rapporten vår.

Dagen går med til å sette opp stories, tasks og estimering av timer på taskene. Vi ser snart at dette blir en stor sprint, og vi antaligvis ikke kommer til å rekke WebService biten.

Mattis har sagt seg villig til å ta rollen som sjefspisker på Behaviour Driven Design. Han setter seg grundig inn i dette og styrer oss inn i dette i våre oppgaver.

Kristian og Kurt tar oppgaven med Compas Lucene, oppsett, DB tilknytning og testing. Indeksering av filene på en maskin fungere greit, og søk i indeksen. Så da er det BARE å få dette knyttet til DB.

Morten fungere som Scrummaster, tar seg av sprint rapport og at passer på at rapporten gå bra.

Her er siste nytt på PC fronten for de som er vant med skrivemaskiner:


130307 Dag 29 - Neckbeard Driven Development

I dag har vi lest mer på hvordan vi skal få til Behaviour Driven Development.

Siden gruppen aldri har jobbet med JUnit, JMock eller noen av rammeverkene før, valgte vi å bruke lang tid på å sette oss inn i stoffet.

Det finnes noen verktøy (JDave, JBehaviour) for å lage tester, og testene er satt opp på helt egne måter.

Det vi skal prøve å tvinge oss til å gjøre er å skrive testene før koden, men det er ikke like lett.

Diskusjonen går ut på hvordan vi skal starte programmeringen: Fra toppen mot bunnen eller fra bunnen og opp?

Vi fant ut en lur måte å finne ut hvor vi skal starte med å spørre "What is the next-most important thing my program doesn't do?" og så starte med hva svaret er.

BDD er veldig bygget rundt Userstories, så det passer inn med måten vi strukturerer arbeidsmetodene våre.

Et annet problem som dukket opp er hvordan vi skal utvikle et reusable domain layer. Er JBoss Seam så knyttet opp til presentasjonslaget at det egentlig ikke har noe med domenelaget?

Et forslag er å la JBoss Seam prate med en WebService, slik at selve applikasjonslogikken blir decoupled fra presentasjonslaget helt, men det presenterer nye problemer med hvor mye det er vits å ha JBoss Seam fra starten? Time will show.

120307 Dag 28 Sykdom og vår egen internett stjerne

I dag har det blitt jobbet med å fullføre noe av arbeidet vi påbegynte i sprint 5. Kristian har sett videre på WebServices og Morten har skrevet Sprint rapporter i Porter.
Mattis sover etter nattevakt, mens Kurt har blitt syk. Vi håper han blir frisk snart, god bedring!

Dag 28 var også starten på sprint 6, men på grunn av høyt frafall har vi valgt å avvente dette til i morgen.

Dagens WebService update: Tja, et bilde sier vel mer enn tusen ord...

Med andre ord så har vi ikke fått til så mye, dagen har gått med på å kjøre seg fast i halvferdige jalla tutorials og nedgradere JDK til 1.5 uten hell.. Jippiii!


In other news:

I helgen har Kristian jobbet med JBoss på egenhånd, i den forbindelse postet på JBoss.org bruker forumet. Etter googling og hacking så svarte han på sin egen post, noe JBoss folka var så fornøyde med at de like godt slengte svaret inn i sin offisielle wiki, bra jobba!

Tråden:
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=103572&start=0&postdays=postDays&postorder=postOrder&highlight=highlight
Wiki, under resource injection for managed beans:
http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossWithJSFCDDL

070307 Dag 27 Embedable og WebService

Sprint 4 eller var det 5, er over.

I denne omgang har vi Seam i EJB 3.0 i Maven2 med JSF i JSP brukergrensesnitt. Dette funker. Webservice som skal tilby samme tjeneste som jsf-sidene, er ikke på plass. EntiyManageren vil ikke la seg opprettes, den har bestemt seg for å være NULL-> som igjen gir en NullPoint Exception. Googl'a litt på det. Til nå sier de at man skal ta en jndi lookup.. trodde man slapp dette med EJB 3.0?

Mattis har fått sydd sammen embedable container sammen med Seam. Dette vil si at man kan...<>. Vi har enda ikke programmert på den rette Behaviour-driven-test-desing-måten, hvor man lager tester først og så lager kode. Grunnen til dette er at måten og tankegangen er ny. Men dette kommer vel til å tre i kraft neste sprint siden Mattis og Morten har satt seg inn i og laget masse "test-cases".

Morten har dokumentert i Porter ang. Seam annotations og EJB patterns.

Burn-down-charten har steget ettersom vi har slått sammen sprint 4 og 5. Men siden Kurt har vært på HV-øvelse kan vi si at hvis han hadde vært der så ville det sett noe bedre ut.

Mattis og Morten skal skaffe seg et domene... noe som var en "hot topic" i dag. Mange gode forslag men det ene etter det andre var opptatt. De ender vel opp med noe som "nerdsatwork.com" eller "iwannabecool.com".....prikk prikk prikk

060307 Dag 26 Gavin King Approved

Dagen i dag har gått med på å henge seg fast på nye og spennende måter.



Morten har vært syk og Kurt er fortsatt på øvelse, så det har bare vært meg og Kristian på "jobb" i dag. Kristian har stanget seg fast i web services mesteparten av dagen. Jeg har ikke fått med meg så mye av hva som har skjedd utenom ett og annet klynk i fra kroken.

Jeg har jobbet videre med testing. Alt så vel og bra ut, helt til jeg skulle teste Injection og Outjection (Bijection) i en Session-bean. Siden dette er seam-spesifikk funksjonalitet, krever den at testene kjøres i et fullverdig miljø. Det vil si at jeg måtte ha opp og kjøre en embeddable EJB 3.0 container for å kjøre testene mine, noe som viste seg å være alt i fra enkelt.

Status på endt dag er circa åtte timer stanging med å få en Embeddable EJB 3.0 container til å fungere med Maven 2 og Seam, uten hell.

I morgen er en ny dag, så får sette alle kluter til og få det til da. Ellers håper vi jo at Morten blir frisk!

050307 Dag 26 Ny dag med nye fargestifter til

I dag startet vi på sprint 5. Vel å kalle det for en ny sprint blir å ta litt godt i, siden vi ikke ble ferdige med det vi ønsket i forrige sprint så har vi valgt å fortsette med de utestående oppgavene 3 dager ekstra. Forhåpentligvis vil det hjelpe på.

Jeg har sett litt nærmere på forskjellene mellom Hibernate Search og Compass for å se hviket rammeverk som passer best til oppgaven. Det kan se ut som om Compass er det beste for våre behov da det bruker en egen index database istedet for en filstruktur. En annen fordel er også støtte for transaksjoner slik man unngår inkonsistens og korrupsjon av indexen.

Mattis har laget spesifikasjoner(tester i behaviour driven design) som jeg har implementert i applikasjonen og som passerer test lifecycelen i Maven. Mattis har også drevet java-opplæring for meg, nyttige saker.

Kristian har ferdigstilt Bibliotek applikasjonen, refaktorert litt på koden og begynt å se på Webservices.

Kurt er MIA på HV-øvelse. Tipper det går i Torsk-i-tomatsaus rasjoner og annet snacks!

Gavin King har fremdeles ikke svart på mailen vår, så vi venter enda i spenning på hva GA kan bety for noe. Vi holder fremdeles en knapp på Gavin Approved!