Mobil databehandling, P2P, mm Pensum: Olsen, kap. 13-17
Mobil databehandling Gjort mulig ved: Lettere datautstyr Kraftigere datautstyr Trådløse samband Bedre båndbredde på slike samband Mer avanserte mobiler
Kontinuerlig kommunikasjon
Teknologi Mange nettløsninger: Flere typer av enheter: Mobiltelefoni (GSM, WAP, GPRS, 3G, 4G) Radiosamband (Bluetooth, WLAN…) Flere typer av enheter: mobiltelefon, PDA, PC, nettbrett (LCD, elektronisk papir)…
Mobil databehandling Du har kontoret ditt der du er Fantastisk nyttig for enkelte, kanskje mer marginalt for andre Men, selvfølgelig avhengig av tjenestetilbudet (streaming av musikk er en slik applikasjon) Vi kan snakke mens vi er mobile, ikke like lett å håndtere PC’en mens vi går Enkle brukergrensesnitt blir viktig: Talestyrte systemer (du kan be om avgangstider for fly) Automatiske systemer (henter fram avg. tid for det flyet du er booket på) Push-teknologi (SAS sender deg informasjon om flyet)
Begrensninger De mest hendige enhetene er lette, men har små tastatur og små skjermer Bredbåndstilknytning kan være et problem (å nå nettet akkurat der du er, å få tilstrekkelig båndbredde) Batterikapasitet Kostnader Risikoen for å miste og få ødelagt utstyr
Enkle løsninger -eksempler SMS til banken med ”Saldo” gir saldobeløp SMS til banken med ”overfør kr 100 til konto 91372012345” Her ligger mange muligheter!
Push teknologi Ide: Istedenfor å be om informasjon får du dette tilsendt automatisk Relevans blir viktig, ellers blir push bare spam. Spesielt nyttig der det er krevende å søke opp informasjonen (som fra mobil), eller der du ikke vet at du trenger informasjonen (forsinket fly)
Eksempler SMS fra banken: ”Innskudd kr. 1200 mottatt til konto 9537 20 12345” SMS fra banken. ”Lønnsinnbetaling for september mottatt” SMS fra SAS: ”SK1234 til Bergen blir 1 time forsinket fra Molde. Ny avgang 1550” SMS fra bilverkstedet. ” UR56789 er nå ferdig” SMS fra biblioteket: ”Boka/bøkene du har bestilt kan nå hentes på biblioteket” SMS fra Universitetet: Du fikk karakter B i IBE100.
Datakvalitet Skal vi etablere slike push-tjenester krever det at grunndata er der – i med høy kvalitet! Eksempler: Er det noen forskjell på at flyet skal gå 12:15 i henhold til ruteplanen eller at du får en melding kl. 11.00 om at flyet går 12:15? Er det noen forskjell på at timeplanen gjelder for hele semesteret eller at det utgis en ukentlig plan? Når bybanen (i Bergen) sier at neste tog går om 2 minutter, når forventer du at det kommer?
Push teknologi (eksempel) 0700 a.m. Thursday 4. October Weather Temp: 25 HUMIDITY: 87% WIND: WSW at 9mph SUNRISE: 06:08 am Forecast: Partly sunny, COLDER, … Headline news: New airline merger Blue chips rally on Wall Street Hurricane warning Trains delayed. email (filtered): FROM SUBJECT RECEIVED Joe Meeting 10/04 08:43 09.00 Department meeting 10.00 Lecture 12.00 Lunch with project team 14.30 Airport Buses on schedule. Traffic, no delays. Freezer temp. low Alarms working.
Fordeler Vi unngår å finne ut hvordan vi skal be om informasjon Vi unngår mange tastetrykk Vi unngår telefonsamtaler Får informasjon når vi trenger den
Dynamiske Web-sider HTML gir statiske sider All kommunikasjon må gå via server Men det er også mulig å lage dynamiske Web-sider: Scripts Applets
Opplegg Brukeren fyller ut ”forms” på Web-siden Når hun trykker ”submit” knappen får vi en GET-kommando til en Web-side (f.eks. www.sas.no/billett.asp) Web serveren, et program som håndterer Web trafikken (i HTTP), vil hente fram og starte utføringen av den aktuelle Web siden Scriptet i Web-siden utføres: Data plukkes ut fra ”forms”(f.eks. dato og strekning), Scriptet kan gjøre oppslag i databaser (f.eks. finne flights) Generere en (HTML) Web-side (f.eks. med oversikt over flights) som returneres brukeren Slik kan Browseren benyttes som et brukergrensesnitt mot datasystemer. Det gir STORE fordeler.
Dynamiske Web sider (server scripts) Eksempel – framhenting av informasjon om ansatte
Kode for skjemaet <FORM> ACTION=”http://www.firm.com/employee.asp” METHOD=post id=userdata name=userdata> <p>To get contact information, give last name of employee: </p> <INPUT type=text name=lastname size=40 maxlength=60> <INPUT name=info type=submit value=”Get info”> </FORM>
Script Her har vi brukt ASP. PHP hadde vært en annen mulighet. <%@ Language=VBScript %> <% set DBObj= Server.CreateObject("ADODB.Connection") DBObj.Open "Employee" %> <HTML> <HEAD> <TITLE>Directory</TITLE> </HEAD> <BODY> <H2>Contact information for <%=Request.Form("name")%> </H2> set stdset=dbObj.Execute("SELECT * FROM employeeTable WHERE name = '" & Request.Form("name") & "'") if stdset.eof then Response.Write("<p>No persons fulfilled search request</p>") else Response.Write("<p>Phone:" & stdset("phone") & "</p>") Response.Write("<p>Email:" & stdset("email") & </p><br>") end if stdset.close dbObj.close </BODY> </HTML> Script Her har vi brukt ASP. PHP hadde vært en annen mulighet. Scriptet kjøres på serveren Henter fram data om personen med det oppgitte navnet Legger svaret inn i en HTML side
Prosedyren er altså Skjemaet med navn vises av browser Vi fyller ut navn og trykker knappen Data fra skjemaet sendes til serveren Serveren starter applikasjonen (asp) Applikasjonen plukker ut navnet Slår opp i databasen og finner kontaktinformasjon og genererer en HTML side med resultatet
Viktig Med dette kan vi bruke Web som et standardisert grensesnitt til andre applikasjoner Vi kan tilby bank, billett, og andre tjenester uten å måtte installere egne programmer hos brukerne Serveren kan holde orden på hva brukeren har gjort, så nå frir vi oss fra den tilstandsfrie standard Web-løsningen Basis for B2C applikasjoner
Script i browser Kan gjøre det mulig å utføre enkle valg og kontroller i browseren Små programmer som browseren kan utføre uavhengig av server Øker funksjonaliteten i Web grensesnitt
Php Scriptspråk Utviklet for å lage dynamiske Web sider Integrert i HTML koden Men brukes også i dag for egne anvendelser
Hei på deg <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>PHP Test</title> </head> <body> <?php echo ’Hei på deg’ ?> </body> </html>
Bestillingsskjema Php <FORM NAME="bestilling" ACTION="/direktesalg/index.php" METHOD="POST" ONSUBMIT="return isMailReady(this);"> function fixElement(element, message) { alert(message); element.focus(); } function isMailReady(form) { var passed = false; if (form.navn.value == "") { fixElement(form.navn, "Oppgi navn."); else if (form.post.value == "") { fixElement(form.post, "Oppgi postnummer og poststed."); else if (form.epost.value.indexOf("@") == -1 || form.email.value.indexOf(".") == -1) { fixElement(form.epost, "Oppgi en gyldig epostadresse (med @ og .)"); else { passed = true; return passed;
Peer to Peer computing Utnytter at datamaskiner står i nett Programmer som administrerer nettverket Med eller uten en sentral maskin Robuste systemer, uavhengig av enkeltkomponenter i systemet Eksempler: Fildeling (musikk, video, …) Store beregninger (mange PC er erstatter en supercomputer)
Fildeling Programvare som lar maskiner kommunisere Ingen hovedmaskin, alle er like (”peers”) Fordeler: Robust nett Ingen å ta ved piratkopiering En ny bruker/node kommer også med sine ressurser til nettet