Innledende Analyse Del 1.2 Arianna Kyriacou 1. juni 2004 Innhold 1 Spesifikk beskrivelse 2 1.1 Hovedmål............................... 2 1.2 Mål (mer konkret).......................... 2 1.3 Krav.................................. 4 1
1 Spesifikk beskrivelse Min del av oppgaven: 1.1 Hovedmål Jeg skal utvikle/designe et distribuert system der transport av data/ressurser går over et trådløst nettverk; et java-basert klient-server-program orientert mot mobiltelefoner/pda som klienter, der systemet/serveren tilbyr og utfører tjenester som handler om ressursdeling. I tillegg har klienten også en applikasjonsdel (en MIDlet i dette tilfellet) som kan installeres på enheten for å ta seg av funksjonalitet som bl.a. har med lokal lagring av ressurser å gjøre. Det siste nye innen teknologi skal brukes under utviklingen. Figur 1: Nettverksmodell: mobiltelefon/pda-klienter, nettverk og server med database. Klienter: Mobiltelefoner/PDA er (trådløst nett) Transport: HTTP-protokoll. Server: Kjører på stasjonær PC. 1.2 Mål (mer konkret) Jeg skal se på mobiltelefon/pda-klienten. Den har to deler: en http-klient som kommuniserer via nettleser, og en lokal-klient (applikasjonsdel). Serveren kjører på stasjonær PC. Den må kunne håndtere forespørsler fra klienter med begrenset båndbredde, minnekapasitet og prosessorkraft, typisk batteridrevne enheter (devices). Applikasjonsdelen til klienten, MIDlet en, som skal kjøre på en slik enhet, må også ta hensyn til de samme begrensningene. MIDlet en implementeres vha MIDP (Mobile Information Device Profile), som er en del av J2ME (en 2
java-platform i micro-utgave). MIDP har tilgjengelig en samling API er (pakker) beregnet på nettopp utvikling av applikasjoner som skal kjøre på små enheter. Jeg må sette meg grundig inn i J2ME-teknologi, spesielt i de delene jeg regner med å bruke, som MIDP og RMS, samt verktøy jeg skal bruke som har disse teknologiene tilgjengelig, som J2ME Wireless Toolkit. Jeg skal bruke de aller siste utgavene av interessant teknologi. Når det gjelder MIDP blir det MIDP 2.0 - versjonen. For serveren skal siste versjon av Tomcat brukes; Tomcat 5.0.16. Den er en servlet/jsp-kontainer, og implementerer Servlet 2.4 og JSP 2.0 (JavaServer Pages 2.0) - spesifikasjonene. En stor del av oppgaven vil gå ut på å sette meg inn i ny teknologi, samt verktøy som implementerer denne teknologien. Som nettleser vil jeg bruke Opera som standard, hvorfor blir omtalt senere i dokumentet. Ellers blir de mer konkrete målene for selve systemet omtrent de samme som i den generelle beskrivelsen: Mer konkrete mål: Ressurser som kan deles kan være for eksempel email-adresser, bilder, musikk, filmer, tekstfiler eller internettadresser (URL er). Brukere skal ha tilgang til sine egne ressurser uavhengig av hvilken konkret enhet (smart-telefon/pda) de bruker. Ressursene skal kunne sorteres for å gjøre søkingen lettere for bruker. Det skal være mulig å hente ressurser fra andre brukere. Systemet skal kunne overvåke en nettsesjon og ta vare på alle hyperlinker det klikkes på Det skal være mulig å opprette en lukket gruppe av brukere som kan dele ressurser mellom seg. Bruker skal ha mulighet til å lagre/hente frem ressursene sine lokalt på enheten. 3
1.3 Krav Figur 2: Klientmodell: Mobiltelefon/PDA-klient (grønn del) og server med database. Klient: Mobiltelefon eller PDA Transport: HTTP-protokoll. Server: Kjører på stasjonær PC. Funksjonaliteten er stort sett den samme som omtalt i den generelle beskrivelsen: HTTP-KLIENTEN (Via nettleser): Krever ingen installering, kun nettforbindelse. Bruker skal kunne: Logge seg på med brukernavn og passord Lagre/slette internettadresser i databasen Lagre internettadresser lokalt Søke blant sine egne internettadresser Hente internettadresser en annen bruker har lagret Kjøre sesjonsovervåker DEN LOKALE KLIENTEN (MIDLet en): Krever installering. Bruker skal kunne: Hente adressebok lagret lokalt av systemet Lagre/slette internettadresser lokalt (vha RMS-teknologi) 4
Søke blant sine internettadresser Opprette forbindelse til server (via http-klienten/nettleser?) Synkronisere adresseboken mot databasen Kjøre sesjonsovervåker? Hente internettadresser en annen bruker har lagret i serverens database SERVEREN: Må kunne lagre ressursene i en eller annen form for database (SQL/XML) der den lett kan hente ut informasjon brukeren spør etter via klienten. Hvis flere brukere lagrer samme ressurs, lagres den bare en gang i databasen. Den må kunne utføre alle tjenester klienten har tilgjengelig for bruker. NETTVERKET: Serveren må kunne kommunisere med klienten via et nettverk. Jeg vil bruke HTTP som nettverks-transport mellom klient og server. HTTP er en request/response protokoll der klienten sender en HTTP-request til serveren, og denne svarer med å sende tilbake en HTTP-response til klienten. HTTP-protokollen har bl.a. som fordel at den passerer gjennom brannmurer. AVGRENSNING: Ressurser som skal deles er kun URL er (internettadresser). Jeg ser bort fra funksjonalitet som har med lukkede grupper å gjøre. Jeg ser foreløpig også bort fra funksjonalitet som har med nettsesjonen å gjøre. Jeg antar foreløpig at jeg har en server som er i stand til å utføre de tjenester klienten ellers ber den om. Når det gjelder klienten konsentrerer jeg meg først om applikasjonen/midlet en (den lokale-klienten-delen). 5