Overvåkning av Telenors Mobile internettportal Hovedprosjekt våren 2008 Avdeling for informatikk og e-læring Høgskolen i Sør-Trøndelag Christoffer Wiik Embret Østring Mads Werner
Problemstilling Prosjektet (avgrensning og konsept) Hvorfor denne oppgaven Prosessen Resultater Bildeutsnitt fra enheter Problemer undervei
Problemstilling Telenors driftsteam har informasjon om serveren, men vil ha trafikkinformasjon far brukerens ståsted Informasjonen må være fersk og komme fra forskjellige deler av landet/nettet hele tiden Brukergrensesnitt med utvalgsstyring for data Systemet må være utvidbart i forhold til testenes form
Behov Oppkobling og nedlasting fra mobile enheter skal tallfestes for analyse Dataene samles og gjøres tilgjengelig på en sentral serverenhet Det må finnes portable administrasjons-muligheter som styrer hvilke tester som skal kjøres på mobilene Det må finnes en oppdatering/overvåkningsenhet som viser målte data i nåtid og tilbyr visning av en viss historikk. Det må være mulig å både kjøre manuelle tester mot en adresse på server og ha en automatisk kjøring som rapporterer inn jevnlig
Prosjekt (avgrensning) Oppgavens hovedmål er å få på plass en plattform hvor mobile enheter kjører tester og rapporterer resultatene inn til en server. Resultatene skal synliggjøres med grafikk som gjør at dataenes verdi og avvik i forhold til normal kommer klart frem. Plattformen skal være utvidbar og dette er viktigere enn at den omfavner mange muligheter ved prosjektslutt.
Brukerne skal kunne: Angi ett sett av tester, og oppgi hvilke mobile enheter som skal kjøre dem og til hvilke tider Få oversikt over hvilke telefoner som er aktive og rapporterer, samt hvilke testsett som kjøres på hvilke telefoner Få et nåtidsbilde av måleresultater basert på de mobile klientenes rapporter Bruke mobilen til å teste nettverkstilgangen på enkeltadresser
Hvorfor denne oppgaven Denne oppgaven ble valgt fordi den inviterte til å bruke mange teknologier og dermed bety viktig læring for gruppas medlemmer Gruppa ønsket å komme i kontakt med et profesjonelt arbeidsmiljø Oppgaven favnet et komplett system fra eksterne enheter til server og hadde fin bredde med tanke på teknologi og læring Håndholdte enheter er i vinden og innsyn i den teknologien kan være en god ballast
Prosessen 1. Kartlegge muligheter og begrensninger spesielt fokus på mobile enheter begrensinger 2. Utarbeide problemdomenemodell og kravspesifikasjon 3. Utvikle design og prototype 4. Teste mye for å begrense feil i testingsprosedyrer som j2me overhead 5. Utvikle grafiske fremstillinger som gir et lett leselig bilde 6. Utbedre de to siste punktene igjen og igjen
1. Kartlegging Samtaler med oppgavestiller om prioriteringer i oppgaven og delmål for prosessen Innhenting av informasjon om mobile enheter og de individuelle forskjellene som vil ha betydning prosjektet. Stikkord: IMEI Cell-ID Lagring Minnebruk Fastslå presisjon på de data som kan samles med mobile enheter
2. Domenemodell og kravspesifikasjon Ukomplisert domene med få objekter, valgt implementere arvbare enheter for å forenkle utvidelse i etterkant Stikkord for valg Fleksibilitet i forhold til utvidelse Kravspesifikasjon basert på resultatene i prosjektets kartleggingsfase
3. Design og prototype Nøkkelord for teknologivalg Prosjektstyring skal gjøres gjennom ett enhetlig verktøy (Maven) Inversion of control eller dependency injection. Objekter skal injekteres ved behov (Spring) Transaksjoner skal objektifiseres og sikres (Hibernate) Brukergrensesnittet skal være tilgjengelig over nett (JSF) Datarepresentasjon skal forsøke å tilstrebe et realtimebilde (Flash/flexbuilder)
Integrasjonstesting skal benyttes Bruk av best-practise for de involverte teknologiene Fokuse på videre bruksutvidelse i miljøet det leveres.
Struktur Front controller (JSF-servlet) UI-components Backing Beans Validators/converters Resource bundle Views/pages(jsp) Webservice for client phones Service interface (Spring framework) ServiceBeans Business object Bean management Declarative Transaction Management Hibernate integration Data Access Objects (Spring & Hibernate) O/R mapping Resource management Transactionmanagement Web-container Server RDBMS
Resultater Implementasjon Funksjonalitet for testing av spesifikke URL er med streamconnection er på plass, rammeverk for å legge til HTTP-connectionbaserte tester og eventuelle andre finnes ved subklassing av test og testraportklasser. Lagring av testdata via webservice og visning i Flex er implementert Web-basert betjening er på plass Dokumentasjon Modeller og javadoc utarbeides Visjonsdkoument, kravdokument, UseCaseoversikt og designdokument utarbeides Dokumentasjon beregnet på videre utvikling utarbeides
Løsning Flere håndholdte enheter rapporterer via webservice Server genererer datastrøm for realtimevisning i flash om status på portalen Styring av testenhetene foregår i webgrensesnitt Testregime legges ut til enhetene som synkroniserer jevnlig
Problemer Forsinket oppstart Flere problemer med unødvendig tidsbruk på grunn av arbeidsstasjoner med classpathproblemer med mer. Webserviceimplementasjonen ble et anker da det oppstod problemer med ulike implementasjoner opp mot JSR172 Jobbet en hel del med det begrensede minnet på håndholdte enheter for å optimalisere