- Sekä henkilövalikon tekemistä että päivityslomakkeen tekemistä varten tehdään palvelupyyntö palvelimelle. Sivut rakennetaan kokonaan palvelimessa. Jokaisen päivityksen jälkeen on annettava uusi hakuehto.
Valikon teko, noin 50 kertaa: pyyntö n. 500B + tietokantakysely + tulos n.800B (mukana valikko + otsaketiedot) = n.1300 B Päivityssivun teko, noin 50 kertaa: pyyntö: n. 500B + tietokantakysely + tulos n. 700B päivityksen käsittely noin 50 kertaa pyyntö: n 500B + tietokantapäivitys + tulos n. 500B Tietoliikennettä 50*1300 + 50*1200 + 50*1000= 175000B Tietokantakyselyjä 50*valikkokysely+ 50*käyttäjän tiedot +50*päivitys- Sekä henkilövalikon tekemistä että päivityslomakkeen tekemistä varten tehdään Ajax mallin mukainen palvelupyyntö palvelimelle. Koko sivua ei uusita vaan pelkästään muuttunut osa (valikko tai lomake).
Valikko, 15 kertaa (oletetaan, että eri alkukirjaimia käytössä 15): Suunnilleen kuten kohdassa a, joitain otsake yms. tietoja jää pois = n.1200 B Päivityssivun teko, noin 50 kertaa: pyyntö: n. 500B + tietokantakysely + tulos n. 500B (haetaan vain data) = n. 1000B Päivityksen käsittely noin 50 kertaa pyyntö: n 500B + tietokantapäivitys tulos n. 500B = n. 1000B Tietoliikennettä: 15*1200B+50*1000B+50*1000B =118000B+ ohjelmakoodi n.2000B= 120000B Tietokantakyselyjä 15*valikkokysely+50*käyttäjän tiedot +50*päivitys Käytettävyyden kannalta valikon jatkuva uusinta on huono ratkaisu.- Hakuehdon perusteella haetaan palvelimelta valittujen henkilöiden kaikki tiedot eikä pelkästään valikkoon tarvittavia. Nämä myös näytetään. Halutessaan pääkäyttäjä pääsee päivittämään tietoja suoraan valitun henkilön riville. Päivitys kohdistuu vain yhteen riviin kerrallaan eikä muita tarvitse uusia.
Henkilöryhmän haku 15 kertaa: pyyntö 500B + tietokantakysely + tulos n. 900B = n.1400B Päivityssivun tekemisestä ei aiheudu tietoliikennettä. Päivityksen käsittely noin 50 kertaa pyyntö: n 500B + tietokantapäivitys tulos n. 500B = n. 1000B Tietoliikennettä: 15*1400B+50*1000B =21000+50000 =71000 + ohjelma n.6000B= 77000B Tietokantakyselyjä 15*käyttäjän tiedot +50*päivitys- Ei tarjota lainkaan hakumahdollisuutta vaan noudetaan kerralla kaikkien käyttäjien kaikki tiedot. Muuten toimitaan kuten vaihtoehdossa c.
Käyttäjätietojen haku 1 kertaa: pyyntö 500B + tietokantakysely +tulos 1500B Päivityssivun tekemisestä ei aiheudu tietoliikennettä. Päivityksen käsittely noin 50 kertaa pyyntö: n 500B + tietokantapäivitys tulos n. 500B = n. 1000B Tietoliikennettä: 1*2000B+50*1000B =2000+50000 =52000 + ohjelma n.6000B= 58000B Tietokantakyselyjä 1*käyttäjien tiedot + 50*päivitysOletetaan , että yhdestä henkilöstä on tietoja noin 100 tavua, joista nimi ja käyttäjätunnus ovat 80%. Oletetaan että palvelupyynnön otsaketietojen määrä on noin 500 tavua samoin kuin palautetun vastauksenkin.
Tietoliikenteen kannalta tehokkain ratkaisu on d samoin tietokantakuorman kannalta. 200 henkilön lista on melko pitkä joten käytettävyydeltä c voisi olla parempi.
Tähän on valmiita kirjastoratkaisuja. Tietuetta näpättäessä sen kentät muuttuvat editoitaviksi ja riville lisätään tallenna ja peru napit. Useita toteutusmahdollisuuksia: esimerkiksi lomake on valmiina ja tulee näkyväksi näpättäessä.
Vastaukset löytyvät sivulta http://www.cs.helsinki.fi/u/laine/dime/s07/ajax2.html.
Katso sivu http://www.cs.helsinki.fi/u/laine/dime/s07/cookitest.html
Harjoituksissa paikalla suoritettava tehtävä: php-sivun pystytys laitoksen palvelimelle. Sivun tulisi näyttää otsaketietoja, päiväyksen ja kellonajan sekä parametrina sille antamasi nimen. Ohje php-sivun toteutuksesta HY/TKTL:n palvelimille