AJAX-TEKNIIKKA. Miten sitä käytetään Suomessa?

Samankaltaiset tiedostot
AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli.

Sisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002

Laajuus 5 op Luennot: 12 x 2t Harjoitukset: 7 viikkoharjoitusta harjoitusten tekemiseen saatavissa apua 2 ryhmää / harjoitus

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki

TIEDEJUTTUKURSSI FM VILLE SALMINEN

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Code Camp for Girls. Sanna Nygård. Lokakuussa

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki

XHTML - harjoitus. Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa. Tiedoston tallennus notepad (muistio) ohjelmassa:

Johdatusta selainohjelmointiin

6 XML-työkalut 1. 6 XML-työkalut

Järjestelmäarkkitehtuuri (TK081702) AJAX, Asynchronous JavaScript And XML. AJAX, Asynchronous JavaScript And XML

MITÄ JAVASCRIPT ON?...3

Digitaalisen median tekniikat. JSP ja XML

Kangasniemen yrityshakemisto KÄYTTÖOHJE YRITTÄJÄLLE. KANGASNIEMEN KUNTA yrityshakemisto.kangasniemi.fi

HTML5 -elementit jatkuu

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

3 Verkkosaavutettavuuden tekniset perusteet

VERKON ASETUKSET SEKÄ WINDOWSIN PÄIVITTÄMINEN

Entiteetit erotetaan muusta tekstistä & ja puolipiste. esim. copyright-merkki näkyy sivulla

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

Järjestelmäarkkitehtuuri (TK081702)

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

ARVO - verkkomateriaalien arviointiin

JWT 2016 luento 11. to klo Aulikki Hyrskykari. PinniB Aulikki Hyrskykari

WWW-Sivustojen suunnittelu

WWW-Sivustojen suunnittelu. Miten WWW toimii. Suunnittelun lähtökohdat

Moodle-oppimisympäristö

Verkkosivut perinteisesti. Tanja Välisalo

Oma kartta Google Maps -palveluun

,QWHUQHWVHODLPHQNl\WWlPLQHQ±,QWHUQHW([SORUHU

Yksityiskohtaiset ohjeet. TwinSpacen käyttäminen

W3C-teknologiat ja yhteensopivuus

Notepad++ on ilmaisohjelma ja sen voi ladata osoitteesta:

CSS - tyylit Seppo Räsänen

T Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

AJAX-TEKNIIKKA. LAHDEN AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma Ohjelmistotekniikka Opinnäytetyö Erno Viitanen

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta.

Järjestelmän kriittisimmille toiminnallisuuksille (listattu alla), toteutetaan 1

Visma Fivaldi. Ohjeet Java web startin ja HTML5-työkalun aktivointiin

M. Merikanto 2012 XML. Merkkauskieli, osa 2

XML / DTD / FOP -opas Internal

KÄYTTÖOHJE. Servia. S solutions

Hakukoneoptimoinnin ABC

OHJE Jos Kelaimeen kirjautuminen ei onnistu Windows-koneilla

10 Nykyaikainen WWW-arkkitehtuuri

Tikon Web-sovellukset

2. PEHMEÄ XHTML XRAJAHTML

XML, XHTML ja CSS. T Hypermediadokumentin laatiminen. Mikko Pohja

Ohjeistus yhdistysten internetpäivittäjille

Harjoitustyö 3: Verkkosivujen toiminnallisuus (JavaScript)

Mainonnanhallinta Käyttöopastus. Tekniikka. Olli Erjanti Mediareaktori

Visma Nova. Visma Nova ASP käyttö ja ohjeet

Digitaalisen median tekniikat Luento 1: Intro

WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY

Epooqin perusominaisuudet

Ohje sähköiseen osallistumiseen

Aloita oman blogisi luominen (järjestelmä lupaa sen tapahtuvan sekunneissa ;-))

Unifaun OnlinePrinter

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari

Kiipulan ammattiopisto. Liiketalous ja tietojenkäsittely. Erja Saarinen

Ohjeita informaation saavutettavuuteen

SeaMonkey pikaopas - 1

Alkuun HTML5 peliohjelmoinnissa

ETAPPI ry JOOMLA 2.5 Mediapaja. Artikkeleiden hallinta ja julkaisu

Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1

ohjeita kirjautumiseen ja käyttöön

Digitaalisen median tekniikat xhtml - jatkuu

Verkkopalveluiden saavutettavuus

XML johdanto, uusimmat standardit ja kehitys

Ohje sähköiseen osallistumiseen

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

Mainonnanhallinta Käyttöopastus. Aineiston lisäys. Olli Erjanti Mediareaktori

Kuinka aloitat kumppanuusmainonnan sivustollasi

Digitaalisen median tekniikat xhtml - jatkuu

NTG CMS. Julkaisujärjestelm. rjestelmä

ejuttu ohjeet kuinka sitä käytetään.

KIURU Tietotekniikan sovellusprojekti

1 www-sivujen teko opetuksessa

ARVO - verkkomateriaalien arviointiin

VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu

Selkosanakirja sdfghjklöäzxcvbnmqwertyuiopåasdfghjklöäzxcvbnmq. Tietokoneet. wertyuiopåasdfghjklöäzxcvbnmqwertyuiopåasdfghjk 1.4.

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

WORDPRESS KOTISIVUT JA BLOGI

Verkkojulkaiseminen Minna Väisänen. HTML5-tehtävä

Verkkosisällön saavutettavuusohjeet 2.0: hyviä ohjeita monimuotoisen sisällön suunnitteluun ja arviointiin

Harjoitus 3 Antti Hartikainen

Ulkoasun muokkaus CSS-tiedostossa

TermBase NET versio (Beta)

Digitaalisen median tekniikat. Luento 4: JavaScript

Kotisivuohjeet. Eteläpohjalaiset Kylät ry. Sivupohjien rakenne

Lumme-verkkokirjaston tiedonhaun opas Pieksämäen kaupunginkirjasto

Sähköposti ja uutisryhmät

Tee html-sivu, jossa on yllä olevat kaksi taulukkoa.

GroupWise Calendar Publishing Host User

Transkriptio:

AJAX-TEKNIIKKA Miten sitä käytetään Suomessa? LAHDEN AMMATTIKORKEAKOULU Tietojenkäsittelyn koulutusohjelma Sovelluskehityksen suuntautumisvaihtoehto Opinnäytetyö Kevät 2008 Pekka Bruun

Lahden ammattikorkeakoulu Tietojenkäsittelyn koulutusohjelma BRUUN PEKKA: Ajax-tekniikka Miten sitä käytetään Suomessa? Sovelluskehityksen opinnäytetyö, 27 sivua, 1 liitesivua Kevät 2008 TIIVISTELMÄ Tässä opinnäytetyössä käsitellään paljon puhuttua ajax-tekniikkaa ja tutkitaan sen levinneisyyttä Suomessa. Lisäksi tarkoituksena on tutkia millä tavoin sitä on Suomessa käytetty. Aluksi selvitetään mitä ajax-tekniikka on ja mitä kaikkea siihen sisältyy. ajaxtekniikkaan kuuluu monia vanhoja web-tekniikoita, joiden toimintaperiaatteet pyritään selvittämään. Tarkoitus ei ole toimia oppikirjana, vaan nopeasti esitellä tekniikat. Seuraavaksi tutustutaan ajaxin toimintaan. Luvussa esitellään miten ajaxtekniikassa käytetään vanhoja web-tekniikoita uudella tavalla hyväksi. Opinnäytetyön empiirisessä osassa pyritään selvittämään kuinka paljon ajaxia suomalaisissa web-palveluissa keskimäärin käytetään ja millä tavoin sitä käytetään. Tutkimuksen ideana ei ollut selvittää kaikkia ajaxia käyttäviä sivustoja, vaan tutkia miten hyvin ajax yleisesti on otettu vastaan. Avainsanat: Ajax, Web2.0, JavaScript, XML, DOM, Internet-sovellukset

Lahti University of Applied Sciences Faculty of Business Studies BRUUN PEKKA: Ajax technique How is it used in Finland Barchelor's Thesis in Application Development, 27 pages, 1 appendix Spring 2008 ABSTRACT This thesis deals with the Ajax technique which has raised a lot of discussion recently. Its distribution in Finland is studied as well. In addition the aim is to carry out research into the ways in which it has been used in Finland. To start with there is some explanation on what the Ajax technique is and what is included in it. The Ajax technique contains a lot of former web-techniques the operational principles of which will be explained in the paper. The purpose is not to create a textbook on the techniques but to give a brief overall description of them. Next one is acquainted with the functioning of the Ajax technique. The thesis will show how earlier web-techniques have been reused in an unseen way. In the empirical part of the thesis the aim is to give an account of how much the Ajax technique is used in Finnish web-services on the average and also how it is used. The idea of the thesis has not been to report all the web-pages using the Ajax technique but to study how the Ajax technique has been received. Keywords: Ajax, Web2.0, JavaScript, XML, DOM, Internet applications

SISÄLLYS 1 JOHDANTO...1 2 AJAX-TEKNIIKAN ESITTELY...3 2.1 Ajax ja Web-tekniikat...4 2.1.1 Yleistä...4 2.1.2 XHTML...4 2.1.3 XML...6 2.1.4 JavaScript...9 2.1.5 CSS...10 2.1.6 DOM...12 2.1.7 XMLHttpRequest -objekti...13 2.2 Ajax:n toiminta...16 2.2.1 Yleistä...16 2.2.2 Toimintaperiaate...16 2.2.3 Google Suggest...18 3 AJAX-TEKNIIKOIDEN KÄYTTÖ SUOMESSA...20 3.1 Yleisyys Suomessa...20 3.2 Ajax-tekniikan käyttötavat suomalaisissa palveluissa...21 3.3 Pohdintaa...24 4 YHTEENVETO...25 LÄHTEET...26 LIITTEET...28

1 1 JOHDANTO Internet on kehittynyt vuosien saatossa hyvin paljon. Se, mikä riitti kymmenen vuotta sitten vaativimmallekin web-käyttäjälle, voi näyttää nykyään jopa naurettavalta. Ihmiset vaativat yhä enemmän interaktiivisuutta internet-palveluilta. Tällaista suuntausta on alettu kutsumaan Web2.0:ksi webin toiseksi vaiheeksi. Staattiset verkkosivut ovat jäämässä historiaan, kun uusia tekniikoita on kilvan kehitetty. Näistä tekniikoista on etenkin ajax ollut kuuma puheen aihe jo joitakin vuosia. Tämän noin vuonna 2005 alkaneen ajax-hypen alulle panijana voitaneen pitää Googlea, joka on aktiivisesti kehittänyt lukuisia työpöytäohjelmilta vaikuttavia sovelluksia, jotka kuitenkin toimivat www-selaimessa. Maailmalla on julkaistu toinen toistaan hienompia ajax-tekniikkaa käyttäviä palveluja, mutta miten on Suomen laita? Tämän opinnäytetyön aiheena on Ajax-tekniikka ja miten sitä on käytetty hyödyksi suosituimmissa suomalaisissa internetpalveluissa. Tutkimuskysymys on 'Kuinka paljon ja mihin tarkoitukseen Ajax-tekniikoita käytetään suomalaisissa internetpalveluissa'. Työssä esitellään myös Ajaxin toiminta ja pääpiirteet tekniikoista, joista Ajax koostuu. Aluksi selvitetään mitä ajax-tekniikka on ja mitä kaikkea siihen sisältyy. Ajaxtekniikkaan kuuluu monia vanhoja web-tekniikoita, joiden toimintaperiaatteet pyritään selittämään siten, että ajax-tekniikan toiminnan ymmärtäminen olisi mahdollista. Työ myös kertoo ajax-tekniikasta kiinnostuneelle opiskelijalle mitä kieliä ja tekniikoita olisi hyvä opiskella. Ajaxin toimintaa käsittelevässä luvussa esitellään miten ajax-tekniikassa käytetään vanhoja web-tekniikoita uudella tavalla hyväksi. Alussa esitellyistä eri tekniikoista ei kaikkia tässä osassa käytetä, mutta ajaxin toimintaperiaate selviää kuvien ja ajax-sovelluksen esittelyn avulla.

2 Opinnäytetyön empiirisessä osassa pyritään selvittämään kuinka paljon ajaxia suomalaisissa web-palveluissa keskimäärin käytetään ja millä tavoin sitä käytetään. Tutkimuksen ideana ei ollut selvittää kaikkia ajaxia käyttäviä sivustoja, vaan tutkia miten hyvin ajax yleisesti on otettu vastaan.

3 2 AJAX-TEKNIIKAN ESITTELY Internet-kehityksestä puhuttaessa on viimeaikojen käytetyimpiä termejä ollut web:n toisena vaiheena pidettävä Web 2.0. Web 2.0 on vaikea määritellä yksiselitteisesti. Se ei ole mikään yksittäinen tekniikka, vaan konsepti, joka kokoaa yhteen joukon uusia toimintatapoja ja -malleja. Käytännössä sillä siis voidaan kuvataan Internetin nykyaikaisia ja uudenlaisia web-sovelluksia, kuten wikit, blogit, verkostoitumissivustot ja yhteisöllisesti tuotetut sivustot. (Hintikka 2007, 8-10) Ajax-tekniikoista löytyy monenlaista hyötyä Web 2.0-sovellusten rakentamiseen, joten ajaxia voidaan pitää Web 2.0:n avainkomponenttina. Termi ajax muodostuu englannin kielen sanoista Asynchronous JavaScript and XML. Joku voisi jo näistä sanoista päätellä, että ajax ei ole uusi ohjelmointikieli. Se on ennemminkin joukko vanhoja tekniikoita parempien, nopeampien ja interaktiivisempien websovellusten tekemiseksi. Ajax:n myötä näitä tekniikoita vain käytetään yhdessä uudella tavalla. (w3schools. Ajax Tutorial. 2008.) Ajax mahdollistaa reaaliaikaisen interaktiivisuuden web-sivustoilla. Ajaxin avulla web-selain voi hakea käyttäjän tietämättä tietoa palvelimelta ja päivittää osia websivusta hakematta koko sivua uudelleen. Ensimmäisiä ajax-sovelluksia oli Googlen suggest, joka ehdottaa käyttäjälle hakusanoja jo annettujen kirjaimien perusteella(haataja 2005). Ajax-tekniikkaa voitaisiin käyttää hyödyksi esimerkiksi erilaisten lomakkeiden yhteydessä. Normaalisti käyttäjän täytyy painaa lähetä-nappia, ennen kuin hänelle voidaan ilmoittaa virheellisesti täytetystä lomakkeesta. Ajaxin avulla virheistä voitaisiin ilmoittaa sitä mukaa kun virheitä tulee. Näin käyttäjä voisi heti korjata virheen. Ajax on myös kätevä kaikenlaisissa mielipidekyselyissä, äänestyksissä ja vastaavissa. Ei ole järkevää rasittaa käyttäjää sivun uudelleen lataamisella, jos mielipiteen ilmaisuun riittäisi yksi klikkaus muun toiminnan ohessa.

4 2.1 Ajax ja Web-tekniikat 2.1.1 Yleistä Ajax perustuu olemassa oleviin web-standardeihin ja tekniikoihin, kuten JavaScript, XML, DOM, XHTML, PHP, ASP, CSS ja XMLHttpRequest-objekti. Tarkoituksena on käyttää näitä tekniikoita niin, että ne tukisivat toistensa toimintaa. Ajax-sovelluksissa voidaan käyttää lukuisia eri tekniikoita, joista osa on toisensa korvaavia, kuten esimerkiksi php ja asp. Ajaxin toiminnan kannalta pakollisia tekniikoita ovat DOM, XML, JavaScript, HTTP ja XMLHttpRequest-objekti. Lisäksi tarvitaan käytännössä jokin palvelinpään ohjelmointikieli, kuten php tai asp. Palvelinpään ohjelmointikieli ei kaikkein yksinkertaisimmissa sovelluksissa ole tarpeen. 2.1.2 XHTML XHTML-merkkauskieli eli Extensible Hypertext Markup Language on XMLpohjainen versio HTML-kielestä ja HTML-kielen seuraaja. Molemmat koostuvat elementeistä sekä näiden mahdollisista ominaisuuksista eli atribuuteista. HTMLkielen ja XHTML-kielen tärkeimmät eroavaisuudet ovat: XHTML elementtien pitää olla oikealla tavalla sisäkkäin: niitä ei saa avata ja sulkea väärässä järjestyksessä. XHTML elementit täytyy aina sulkea. XHTML elementit tulee kirjoittaa pienillä kirjaimilla. XHTML dokumenteissa täytyy olla yksi juurielementti

5 XHTML on säännöiltään paljon HTML-kieltä tarkempaa ja tiukempaa, joten se parantaa huomattavasti www-sivujen yhteensopivuutta eri selaimille. Se ei enää salli huonosti kirjoitettuja asiakirjoja.(w3schools. Xhtml tutorial. 2008.) XHTML:n etuna voidaan pitää sitä, että se on jo valmiiksi tuttu HTML:ää osaavalle. Tämä johtuu siitä, että XHTML on HTML kirjoitettuna XML-kielellä. HTML:ää osaavan tarvitsee oikeastaan enemmänkin unohtaa asioita siirtyessään käyttämään XHTML:ää XHTML-kieltä ei ole tarkoitettu ulkoasun kuvaamiseen. Ulkoasun määrittely on kyllä mahdollista, mutta tiukasti ajateltuna XHTML tarjoaa vain kaksi elementtiä ulkoasun määrittämistä varten. Nämäkään elementit elementit eivät itsessään muuta dokumentin ulkoasua, vaan ne on tarkoitettu CSS-muotoilua varten. Elementit on listattu taulukossa 2.(Xhtml-opas) Tarkemmin ulkoasun määrittelystä CSS:n avulla kohdassa 2.1.4. Tagit Elementti Kuvaus <div></div> division pitkä lohkomuotoinen ryhmittelyelementti <span></span> Spanned content lyhyt rivinsisäinen ryhmittelyelementti Taulukko 1: XHTML:n Ulkoasun määrittelyyn tarkoitetut elementit Kuvio 1: Minimaalinen XHTML-dokumentti

6 XHTML-dokumentti aloitetaan aina DOCTYPE-, eli dokumenttityyppimäärityksellä. Tämä on dokumentin DTD eli Dokument Type Definition, josta kerrotaan lisää kohdassa 2.1.2 XML:n yhteydessä. Tämän lisäksi dokumentissa tulee olla vähintään html, head, title ja body-elementit. DOCTYPE ei oikeastaan ole XHTML-dokumentin osa, joten sillä ei ole lopetustagia. DOCTYPE ainoastaan kertoo selaimelle millainen dokumentti on kyseessä. XHTML-dokumenteille on tarjolla useita erilaisia DOCTYPE-määrityksiä. Kuvion 1 dokumentti näyttäisi selaimessa tyhjältä sivulta. Sivun sisältö tulisi kirjoittaa body-elementin sisään.(w3schools. Xhtml tutorial. 2008) 2.1.3 XML XML eli Extensible Markup Language on rakenteellisen tiedon välittämiseen ja varastoimiseen tarkoitettu metakieli. XML:n avulla tehtyjä kieliä voidaan kutsua XML-kieliksi ja esimerkiksi XHTML on XML-kieli. XML on siis kieli, jolla voidaan tehdä räätälöityjä merkkauskieliä(holzner 2001, 27). Merkkauskielistä puhuttaessa sanan 'merkkaus' katsotaan tarkoittavan merkkien lisäämistä informaatioon. XML-kielessä nämä merkit ovat XMLelementtitunnisteita.(North & Hermans 2000, 22-23.) XML-dokumentti on hyvä aloittaa kirjoittamalla kirjoittamalla ensimmäiselle riville XML-määritelmä. Määritelmässä kerrotaan myös haetaanko mitään DTD:tä, kuten XHTML:ssä DOCTYPE-määritys. XML-määritelmää voidaan pitää prosessointiohjeena dokumenttia käsittelevälle ohjelmalle.(north & Hermans 2000, 29.) Erityisesti XML-dokumentin muoto tekee dokumentista XML-dokumentin. Tässä on kysymys eräästä XML:n teknisestä piirteestä: dokumentti on oikein muodostettu (well-formed), jos se voidaan jäsentää XML:n spesifikaation mukaisesti. Tällöin se on jo muodoltaan kelvollista XML:ää. Pelkkä oikeamuotoisuus ei kuitenkaan riitä rajattomasti, sillä tiedon järkevyyden

7 tarkistamiseen tarvitaan myös kielioppia. DTD eli Document Type Declaration määrittää jonkin XML-kielen kieliopin säännöt. Se on tekstitiedosto, johon säännöt on kirjoitettu tietyllä tavalla. DTD:n voi kirjoittaa myös xml-dokumentin alkuun. DTD on hyödyllinen, koska sen avulla voidaan varmistua dokumentin oikeasta muodosta ohjelmallisesti. Kun dokumentti on sekä XML-syntaksin että DTD:nsä mukainen, sen sanotaan olevan validi XML-dokumentti.(Nykänen, 2001. 122.) Kuvio 2: Kuvakaappaus XHTML:n DTD:stä (World Wide Web Consortium. XHTML 1.0-DTDs) Kuviossa 2 näkyy osa XHTML-kielen DTD:stä. Siinä määrätään, että juurielementtinä täytyy olla html, ja että html-elementin sisällä on ensin oltava head-elementti ja sitten body-elementti. Lisäksi head-elementin sisällä tulee olla

8 title-elementti. Myös kaikki muut elementit ja näiden atribuutit määritellään tarkasti. Selain osaa DTD:n avulla tarkistaa, että dokumentti on oikein muodostettu.(world Wide Web Consortium. XHTML 1.0-DTDs.) XML-dokumentissa saa ja pitää olla vain yksi juurielementti. Muiden elementtien pitää olla kokonaan juurielementin sisällä. Normaalisti elementti koostuu kolmesta osasta: alkutunnisteesta, sisällöstä ja lopputunnisteesta. Elementin sisältönä voi tekstin lisäksi olla myös muita elementtejä. Elementtien alkutunnisteet voivat sisältää pakollisia tai vapaaehtoisia atribuutteja. Atribuutit antavat lisätietoa elementistä. Esimerkiksi elementin 'auto' atribuutti voisi olla 'väri'. Elementti voi kuitenkin olla myös tyhjä. Yksi esimerkki tyhjästä elementistä on XHTML-kielen rivinvaihto <br />. (North & Hermans 2000, 29-31.) XMLdokumentit nimetään yleensä päätteellä.xml, joskaan sillä ei pitäisi olla merkitystä. XML-dokumenttien rakennetta voi kuvata puumaiseksi. Kuviossa 3 on esitetty XML-dokumentti puumaisena kaaviona. Se kuvaa jonkinlaisen osoitekirjan tietorakennetta. Juurielementti, eli vanhempi (parent) on addresses, jolla on lapsielementti (child) nimeltään person. Person-elementillä onkin jo monta lapsielementtiä, joita voidaan kutsua toistensa sisarelementeiksi (siblings). (North & Hermans 2000, 32.) Kuvio 3: XML-puu

9 2.1.4 JavaScript JavaScript on skriptikieli ja sitä käytetään erilaisten sovellusten toimintojen laajentamiseen. Skriptikieli on yleisesti ottaen ohjelmointikieli, jota käytetään muokkaamaan, käsittelemään, ja automatisoimaan toimivan järjestelmän tarjoamia palveluita(nykänen 2001, 7.) Nimestään huolimatta JavaScriptillä ei ole paljoa tekemistä SUN microsystemsin java-kielen kanssa. JavaScriptin on kehittänyt Netscape Communications Corporation ja se on ollut selaimien ominaisuutena noin vuodesta 1995 lähtien. JavaScript kehitettiin tekemään internet-sivuista interaktiivisempia ja lisäämään käyttäjän vuorovaikutus mahdollisuuksia.(moncur 2000, 5-6.) JavaScript-kieltä voi kirjoittaa millä tahansa tekstieditorilla. Se soveltuu erityisesti lyhyiden ja yksinkertaisten ohjelmien tekoon. JavaScript liitetään HTML- tai XHTML-sivulle script-elementin avulla. Elementille annetaan atribuutti: language='javascript'. Näin selain tietää, että kyseisessä elementissä on JavaScript-kieltä. Script-elementin laitetaan yleensä head-elementin sisälle, mutta niitä voidaan myös sijoittaa body-elementin sisälle. Mikäli JavaScript-koodi on laaja, kannattaa se sijoittaa erilliseen tiedostoon, jolloin script-elementille lisätään src-atribuutti, jolla määritetään polku scriptitiedostoon.(moncur 2000, 6-7.) Perinteinen Hello World! -esimerkki JavaScriptillä kirjoitetaan seuraavasti: <SCRIPT language="javascript"> document.writeln('hello world'); </SCRIPT> JavaScript tukee kaikkien ohjelmointikielien tavoin muun muassa silmukoita, ehtolauseita, muuttujia ja erilaisia funktioita. JavaScript tukee myös objekteja eli

10 olioita, joten se on olio-ohjelmointikieli. Oliot ovat tietoa tallettavia yksiköitä ja voivat sisältää properties-arvoja ja metodeita. Metodit ovat olion sisällä toimivia funktioita, jotka voivat esimerkiksi tehdä laskutoimituksia olion propertiesarvoilla. Ohjelmointi perustuu kielen valmiiden sisäänrakennettujen olioiden käyttöön. Olioita voi myös kirjoittaa itse, mutta yleisempää on tavallisten funktioiden kirjoittaminen. (Moncur 2000, 48; Nykänen 2001, 19.) Ajax käytössä JavaScriptin tärkein etu on se, että sillä voi muuntaa selainta ja web-sivua. JavaScript käyttää niin sanottuja selainobjekteja web-sivun muuntamiseen. JavaScript osaa liikkua dokumentissa DOM:n avulla. Tätä voisi kutsua XHTML-dokumenttipuun olioesitykseksi, sillä XHTML-dokumentti näkyy JavaScriptille document-objektina. Document-objektilla on metodi write, jolla voi kirjoittaa sivulle uutta sisältöä komentamalla dokument.write( Uutta Sisältöä ). Document.write metodi on JavaScriptin yksinkertaisin ja yleisimmin käytetty metodi. Sitä käytetään aina kun halutaan kirjoittaa tietoa sivulle. JavaScriptillä voidaan käyttää myös useita selaimen ominaisuuksia.(moncur 2000, 120-127.) 2.1.5 CSS CSS eli Cascading Style Sheets on Web-dokumenteille tarkoitettu tyylien määritysjärjestelmä. Sillä voidaan määrittää miten ja minkälaisina selaimen tulisi näyttää (X)HTML elementit.(w3schools. CSS Tutorial. 2008.) HTML-kieli kehitettiin alunperin dokumentin sisällön kuvaamiseen. Ulkoasusta huolehtiminen piti jäädä täysin selsimelle. Kaksi suurinta selainvalmistajaa kuitenkin lisäsivät HTML-kieleen koko ajan uusia HTML-tageja. Tämän jälkeen oli aina vaikeampaa tehdä www-sivuja, joissa sisältö olisi selkeästi ulkoasusta erossa. World Wide Web Consortium ratkaisi ongelman tuomalla tyylit HMTL:n rinnalle. Nyt web-suunnittelijat voivat tehdä sisällön ja ulkoasun kahteen erilliseen tiedostoon.(w3schools. CSS Tutorial. 2008.) Tyyliohjeista löytyy ominaisuuksia korvaamaan HTML-kielen ulkoasun

11 määrittämiseen tarkoitettuja tageja. Esimerkiksi HTML:n font-tagi ja coloratribuutti voidaan lähes kokonaan unohtaa. Tyyli ohjeet tallennetaan yleensä erilliseen.css tiedostoon. Erillisessä tiedostossa olevat tyyliohjeet mahdollistavat koko sivuston ulkoasun muuttamisen ainoastaan yhtä tiedostoa muokkaamalla. Ennen CSS:ää piti muutos pahimmassa tapauksessa tehdä jokaiseen elementtiin kaikilla sivuilla erikseen. CSS on siten huomattavasti helpottanut websuunnittelijoiden työtä.(w3schools. CSS Tutorial. 2008.) Kuvio 4: Sama HTML-sivu kahdella eri CSS-tyylillä(w3schools 2008.) Kuviossa 4 CSS:n avulla on vaihdettu tekstin fonttia ja väriä. Lisäksi taulukon värejä on muuteltu. CSS:llä pystyy tekemään paljon muutakin. Elementit voidaan sijoittaa pikselintarkasti haluttuun paikkaan sivua. Kaikki tapahtuu hyvin yksinkertaisen syntaksin voimalla: valitsin { ominaisuus: arvo; }. Esimerkiksi body-elementin taustaväriksi saa mustan, kun kirjoitetaan syntaksin mukaan CSS-tiedostoon: body {background-color: black}. Yhdelle valitsemelle voidaan antaa useita ominaisuuksia ja arvoja. On myös mahdollista niputtaa monta valitsinta samojen määritysten tekemiseksi usealle elementille kerrallaan. (w3schools. CSS Tutorial. 2008.)

12 2.1.6 DOM DOM eli Document Object Model on tekniikka, joka mahdollistaa-(x)html dokumenttien sisällön muokkauksen. JavaScriptin kanssa sillä voidaan toteuttaa vuorovaikutteisia www-sivuja. W3C DOM Level 1 -suositus julkaistiin jo vuonna 1998, mutta suosiota se sai vasta vuosituhannen vaihteessa it-buumin myötä. DOM-spesifikaatio on jaettu osiin, joista Core, HTML ja Style ovat keskeisimmät web-käytössä. Core-spesifikaatio määrittelee objektimallin, jota voi käyttää kaikkien XML-dokumenttien kanssa. HTML-spesifikaatio lisää Corespesifikaatioon lisätoimintoja, jotka ovat mahdollisia kun käsittelyssä oleva dokumentti on (X)HTML:ää. Style-spesifikaatio määrittelee, miten tyylikielet kuten CSS, liittyvät DOMiin.(ohjelmointiputka.) DOM määrittelee dokumentin rakenteen solmupuuna, mutta ei puutu itse dokumentin sisältöön. Solmu on dokumenttipuun pienin yksikkö. Jokainen erillinen (X)HTML-dokumentin elementti on solmu ja elementin sisällä oleva elementti, teksti, atribuutti tms. taas alisolmu tai lapsisolmu. Päätesolmut taas ovat solmuja, joilla ei enää ole lapsielementtejä. Kaikilla solmuilla on äitisolmu, paitsi dokumenttipuun juurisolmulla. Tämä juurielementti on XHTML-dokumentissa aina html, mutta muissa XML-dokumenteissa se on vapaasti nimettävissä. Jokainen solmu on erillinen olio, jolla on ominaisuuksia ja menetelmiä solmukohdan käsittelyä varten. Solmupuu on selkeä tapa käsitellä dokumenttia, koska sen avulla aina tiedetään mikä elementti sisältää mitäkin.(holzner 2001, 307.) Kuviossa 5 on Lahden Ammattikorkeakoulun sivujen dokumenttipuu tarkkailussa Firebug-ohjelman avulla.

13 KUVIO 5: FireBug-ohjelmalla voi tutkia web-sivun dokumenttipuun rakennetta. 2.1.7 XMLHttpRequest -objekti XMLHttpRequest -objekti on oikeastaan vain JavaScript-funktio. Se on kuitenkin koko ajaxin selkäranka, joten se ansaitsee laajemman käsittelyn. Tällä oliolla ei ole vielä virallista W3C:n standardia vaan se on vielä luonnosvaiheessa. Tämän takia eri selaimista löytyy joitakin poikkeavuuksia objektin käsittelyn suhteen. Objekti on alunperin Microsoftin esittelemä. Microsoft sisällytti XMLHttpRequest-objektin osaksi ActiveX:ää mutta muut selainvalmistajat toteuttavat sen selaimen sisäisenä JavaScript-oliona. Tämän takia ajax-sovelluksia tehdessä täytyy Internet Explorer-selaimelle tehdä oma logiikkansa. Microsoftin

14 uudessa Internet Explorer 7-selaimessa on kuitenkin siirrytty käyttämään samaa oliota kuin muissa selaimissa. Kuviossa 6 nähdään JavaScript-koodi, jolla XMLHttpRequest-objekti luodaa toimivaksi kaikilla sitä tukevilla selaimilla. Samaa koodia voi käyttää jokaisessa kyseistä objektia tarvitsevassa sovelluksessa. Koodi on melko yksinkertainen. Ensin luodaan muuttuja xmlhttp, jonka jälkeen siihen ytitetään osoittaa XMLHttpRequest-objekti. Yrityksillä testataan mikä selain käyttäjällä on käytössä. Ensimmäisenä yritetään Firefox, opera ja safari selaimilla toimivaa tapaa. Jos tämä ei onnistu yritetään Microsoftin selaimella toimivaa tapaa. Jos mikään ei onnistu, niin viimeisenä annetaan käyttäjälle ilmoitus ajax-tuen puutteesta. (wikipedia. XMLHttpRequest. 2008.) Kuvio 6: Kuvakaappaus XMLHttpRequest-objektin luovasta JavaScript-koodista

15 XMLHttpRequest-objektilla voidaan hakea tietoa palvelimelta asynkronisesti. Tämä mahdollistaa web-sivun sisällön päivittämisen ilman, että koko sivua tarvitsee hakea uudestaan, sillä XMLHttpRequest-objekti toimii kokoajan taustalla.(wikipedia. XMLHttpRequest. 2008.) Taulukossa 2 on luetteloitu ja selitetty XMLHttpRequest-objektin metodeita: open(method, url, async, user, password) setrequestheader(header, value) send(data) getallresponseheaders() getresponseheader(header) abort() Avaa yhteyden palvelimeen Asettaa HTTP-pyynnön otsikkotietoja Lähettää pyynnön palvelimelle. Lisäksi lähettää mahdollisen datan. Palauttaa kaikki HTTP-pyynnöstä palautetut http-otsakkeet eli headerit Palauttaa halutun http-otsakkeen arvon Keskeyttää edellisen pyynnön TAULUKKO 2. XMLHttpRequest -objektin metodeita(wikipedia. XMLHttpRequest. 2008). Taulukossa 3 on tutustutaan objektin ominaisuuksiin:

16 onreadystatechange readystate responsetext responsexml status statustext Tapahtumankäsittelijä Objektin tila. 5 eri tilaa: 0=alustamaton 1=avattu 2=ladattu 3=lataamassa 4=valmis Palautettu data tekstinä Palautettu data XML-muodossa. Palvelimen tilakoodi Palvelimen tilakoodin mukana tullut teksti. TAULUKKO 3. XMLHttpRequest-objektin metodeita(wikipedia. XMLHttpRequest. 2008). 2.2 Ajax:n toiminta 2.2.1 Yleistä Kuten on jo selvinnyt, ajax koostuu useasta eri tekniikasta. Näitä tekniikoita vain käytetään uudella tavalla yhdessä. Tässä työssä on nyt esitelty ajaxin toimintaan tarvittavat tekniikat. Nyt selvitetään, miten niitä käytetään ajaxissa yhdessä. Tämän jälkeen esitellään yksi Googlen ajaxiin perustuva palvelu. 2.2.2 Toimintaperiaate Ajaxia käyttävät internetsovellukset poikkeavat tavallisista siten, että Ajax-kone hakee web-palvelimelta tietoa selaimen taustalla käyttäjästä riippumatta.

17 Tavallisissa internetsovelluksissa on totuttu siihen, että käyttäjän pitää aina pyytää web-palvelimelta uutta sivua. Ajaxilla pystytään antamaan aikaisemmin käyttäjälle kuuluneita tehtäviä tietokoneelle. Näin webin käyttö nopeutuu ja siitä tulee interaktiivisempaa. Kuviossa 7 nähdään Garrettin esitys tavanomaistensovellusten ja ajax-sovellusten välisistä eroista. (Garrett. 2005.) KUVIO 7: Perinteinen (vasen) ja Ajax-pohjainen (oikea) www-sovellusmalli Garrettin mukaan. Garrett:n kuvan avulla on selkeä selittää ajaxin toiminta. Kuviosta 7 nähdään, että (X)HTML-sivustoon on upotttu JavaScript-koodia, joka voi lähettää kutsun Ajaxenginelle. Ajax-enginen avulla selain voi tarvittaessa hakea tietoa palvelimelta XMLHttpRequest-olion lähettämän HTTP-palvelinpyynnön avulla. Tämä

18 tiedonhaku tapahtuu asynkronisesti ja piilossa käyttäjältä. Tietoa odotellessa sivusto toimii normaalisti ja käyttäjä voi jatkaa sivun selaamista. Kuvassa tieto palautuu palvelimelta XML-muodossa, jonka Ajax-engine muuttaa sopivampaan muotoon. Palvelimelta voitaisiin palauttaa myös pelkkää tekstiä. Tiedon päivittäminen sivulle tapahtuu JavaScriptin avulla. JavaScript lukee tiedon ja päivittää DOMin avulla vain sen osan sivusta, jota muutos koskee. Sivuston muut osat pysyvät koko ajan muuttumattomana. 2.2.3 Google Suggest Google Suggest oli ensimmäisiä ajax-sovelluksia(garrett 2005). Vaikka Google Suggest on kovin pieni ajax-sovellus, se on hyvin selkeä ja ajaxin toiminta käy palvelusta erinomaisesti ilmi. Google Suggest toimii samalla periaatteella kuin esimerkiksi selainten osoitekentät. Kun käyttäjä on kirjoittamassa hakusanaa, palvelu yrittää ensimmäisten kirjainten perusteella arvata, mitä käyttäjä on kirjoittamassa, ja tarjoaa listaa mahdollisista hakusanoista. Muutoin Google Suggest toimii aivan samoin kuin tavallinenkin Googlen hakukone. KUVIO 8: Google Suggest ehdottaa hakusanoja

19 Google Suggest toimii siten, että aina kun käyttäjä tekee muutoksen hakukenttään, lähetetään sen sisältö XMLHttpRequest-objektin send()-metodin avulla Googlen palvelimelle. Googlen palvelin ilmeisesti valitsee suosituimpia hakusanoja, jotka alkavat samoilla kirjaimilla kuin käyttäjän aloittama hakusana. Nämä hakusanat ja tieto kunkin hakusanan antamasta hakutulosten määrästä lähetetään käyttäjän ruudulle.

20 3 AJAX-TEKNIIKOIDEN KÄYTTÖ SUOMESSA Tutkimuksen tavoitteena oli selvittää, miten paljon ja mihin tarkoituksiin ajaxtekniikoita on otettu käyttöön Suomessa. Tutkimuksen aineisto kerättiin internetsivujen lähdekoodia tulkitsemalla ja sivujen toimintaa havainnoimalla. Tutkimukseen osallistuvat sivustot valittiin suosituimmuuden mukaan siten, että eniten kävijöitä saaneet sivustot ovat mukana. Sivustojen suosiota mittaa suomessa TNS Gallup. TNS Gallup julkaisee viikottaiset luvut sivuillaan osoitteessa http://www.gallupweb.com/tnsmetrix/site.aspx. Listaksi valittiin viikon 3/2008 lista. Ajax-toiminnallisuutta etsittiin lähdekoodista paikallistamalla XMLHttpRequestobjekti. Mikäli sellainen löytyi, tiedettiin jo varmasti sivuston pystyvän käyttämään ajaxia. Tämän jälkeen tehtäväksi jäi paikallistaa kohteet, johon ajaxilla tietoja päivitetään. Kun kohde löytyi, sitä analysoitiin lähdekoodista sekä kokeiltiin käytännössä. Havainnot kirjattiin ylös. Tutkimuksessa käytettiin Mozilla Firefox-selainta, johon oli asennettu FireBug-lisäosa. FireBug auttaa lähdekoodin tutkimisessa huomattavasti. Sivuja tutkittiin lähinnä vain etusivujen perusteella. Jos etusivun lähdekoodi antoi viitteitä ajaxin käytöstä, jatkettiin muille sivuille etsimään lisätietoa. Sivuja käytiin läpi 28 kappaletta maaliskuun loppupuolella yhteensä noin 20 tunnin ajan. 3.1 Yleisyys Suomessa XMLHttpRequest -objekti löytyi ainoastaan kymmenestä sivustosta. Yksin tämän perusteella käytön voisi katsoa olevan melko laajaa. Kaikista näistä kymmenestä sivustosta ei kuitenkaan löytynyt kohdetta, jossa ajaxia on käytetty. Ajaxia löytyi varmuudella seitsemältä sivustolta, joten prosenttiosuus 28 suosituimman sivuston

21 joukosta jää 25 prosenttiin. Kahdella sivustolla oli jokin laajempi JavaScript-kirjasto käytössä, jossa oli ajaxominaisuuksia varten fuktiot valmiina. Näitä ei kuitenkaan oltu käytetty. Kirjastot oltiin mitä ilmeisemmin otettu käyttöön muita ominaisuuksia varten. Yhdeltä sivustolta löytyi selkeästi ajax_.js tiedosto, jossa oli XMLHttpRequestobjekti ja muutama funktio tietojenhakua varten. Ajax-tekniikkaa saattaa jossain päin sivustoa olla käytössä tai sitä saattaa olla tulossa. Nyt toimintoja ei kuitenkaan löydetty. Se, että ajaxia oltiin käytetty 25%:ssa tutkituista sivuista, voi antaa väärän kuvan ajaxin suosiosta. Suomesta voi löytyä paljonkin pienempiä palveluita, joissa ajaxia on käytetty. Tässä tutkimuksessa keskityttiin suosituimpiin palveluihin. 3.2 Ajax-tekniikan käyttötavat suomalaisissa palveluissa Tässä luvussa kerrotaan kaikkien löytyneiden ajax-toiminnallisuuksien kuvaus. Ilta-sanomien sivu oli suosituin ajaxia jonkin verran käyttävä palvelu. Iltasanomien tv-opas saattaa käyttää ajaxia näyttämään tarkempia tietoja ohjelmista. Klikatessa ohjelman nimeä JavaScriptillä luodaan kehys, johon tiedot ladataan. Iltasanomien Video sivuilla voidaan selata videoita ajaxin avulla toteutetun luettelon avulla. Luettelossa on eri kategoriat ja useita sivuja, joilla videolinkit ovat. Luettelossa on videoista myös kuvat. Selaaminen ei häiritse muun sivun toimintaa, joten samalla voi katsoa haluamaansa videota. Mtv3:n sivuilta löytyi pieni ajaxilla toteutettu toiminnallisuus. Sivustolta löytyy erillinen ajax.js JavaScript tiedosto, josta löytyy funktiot XMLHttpRequestobjektin tekoon. Lisäksi tiedostossa on kolme funktiota, joita käytetään etusivulla. Funktiot hakevat pyydetyn HTML:ää sisältävän tiedoston, joka päivitetään sivulle ilman koko sivun hakua. Kuviosta 9 nähdään, että haetut tiedot ovat muun muassa

22 uutisotsikoita urheilu-uutisotsikoita ja tv-ohjelmia. Pääasiassa linkkejä, joista pääsee itse uutiseen. KUVIO 9: Mtv3:n sivuilla oleva ajax-sovellus Helsingin Sanomien sivuilta löytyi pieni työkalu etusivulla, jolla voi selata suosituimpia uutisotsikoiden ja blogien linkkejä. Irc-galleria.fi -sivustolla oli paljon erilaisia ajaxia hyödyntäviä työkaluja. Viemällä hiiren käyttäjänimen päälle ladataan pieni tietoikkuna, jossa on kyseisen käyttäjän kuva ja vähän tietoja käyttäjästä. Yhteisöistä annetaan samalla tavalla tekstiä sisältävää tietoa. Käyttäjä voi ajax-sovelman avulla kutsua muita yhteisöihin ja ilmiantaa jonkin käyttäjän tai kuvan. Käyttäjä voi myös muuttaa joitakin asetuksia ajaxia käyttäen. Telkku.comista löytyi mtv3:n tavoin ajax.js tiedosto. Toiminnallisuutta löytyi ainoastaan, jos pyysi palvelusta sähköpostiinsa unohtuneet tunnukset. Tällöin näytettiin eräänlainen latauspalkki ja käskettiin odottaa. Lomake lähetettiin ajaxilla ja sivu kertoi kun kaikki oli valmista. Käyttäjä sai näin varmistuksen, että sähköpostiinsa oltiin jotain todella lähetetty. Nettiauto.com käyttää ajaxia tarvikeosahaussa. Heillä on käytössään funktio, jolla päivitetään tarvikeosahaussa olevia vaihtoehtoja sitä mukaa, kun käyttäjä valitsee

23 jotain. Myös yhden Tapiolan mainoksen klikkausmäärät lähetetään ajaxilla palvelimelle. Eniron sivuilta löytyi tutkimuksen ainut lähes täysin ajaxiin perustuva palvelu: kartat.eniro.fi. Eniron karttapalvelussa karttaa voi suoraan liikuttaa hiirellä ja zoomata hiiren rullalla. Samalla kun käyttäjä näin tekee, haetaan tarvittavaa tietoa ajaxin avulla taustalla. Muualla eniron sivustolla ei ajaxia löytynyt. KUVIO 10: Eniron karttapalvelu

24 3.3 Pohdintaa Ajax-tekniikka on selkeästi vasta tulossa Suomeen. Tutkimuksessa löytyi ainoastaan kaksi sivustoa, joiden voi sanoa käyttävän ajaxia kunnolla hyödykseen. Muiden sivujen ratkaisut näyttivät enemmänkin kokeiluilta, sillä ajaxilla on potentiaalia paljon parempaan. Ajaxin tuloa myötäilee myös se, että mol.fi palvelun työpaikkahausta löytyy tällä hetkellä 19 ilmoitusta hakusanalla ajax. Ajaxin käyttöön saattaa vaikuttaa myös kilpailevat tekniikat, kuten Adoben Flash. Flash on ollut markkinoilla pidempään ja vaatii erillisen pluginin selaimeen. Flash tekniikalla on suhteellisen suuri jalansija internetissä. Sivuja tutkiessa löytyi Flashilla tehtyjä sovelluksia melkein jokaiselta sivulta. Jos aihetta haluaa tutkia pidemmälle, voisi yksi suuntaus olla selvittää miten herkästi ja millä perusteilla yritykset päättävät mitä web2.0:aan liittyvää tekniikkaa palveluissaan käyttävät.

25 4 YHTEENVETO Tämän opinnäyte työn tarkoituksena oli selvittää mitä on ajax-tekniikka ja miten sitä on käytetty hyödyksi suosituimmissa suomalaisissa internetpalveluissa. Työssä tutustuttiin moniin ajax-tekniikkaan liittyviin vanhempiin tekniikoihin ja kerrottiin miten niitä käytetään uudella tavalla. Ajax-sovelluksen ulkoasu tehdään XHTML:llä sekä tyylit määrittävällä CSS:llä. Näiden avulla saadaan aikaiseksi katsojan näkemä tavallinen WWW-sivu. Sivuista tehdään interaktiivesemmat JavaScriptillä DOM-solmupuuta hyväksikäyttäen. JavaScriptin avulla tehdään myös ajaxin selkäranka eli XMLHttpRequest-objekti, joka lähettää dataa ja tekee web-palvelimelle HTTP-pyyntöjä selaimen taustalla. Opinnäytetyön empiirisessä osassa tutkittiin ajaxin käyttöä Suomessa. Tutkimuksessa huomataan, että ainakin suosituimmissa suomalaisissa palveluissa ajaxia käytetään verrattain vähän sen tarjoamaan potentiaalin suhteutettuna. Työssä pohdittiin, että ajax olisi vasta tulossa Suomeen.

26 LÄHTEET Garrett, J. 2005. Ajax: A New Approach to Web Applications [online]. [viitattu 10.04.2008] Saatavissa: http://adaptivepath.com/ideas/essays/archives/000385.php Haataja, S. 2005. Google ällistyttää [online]. MikroPC.net [viitattu 12.01.2008] Saatavissa http://mikropc.net/kolumni/index.jsp?id=j223. Hintikka, K.A. 2007. Web 2.0 johdatus internetin uusiin liiketoimintamahdollisuuksiin. TIEKE Tietoyhteiskunna kehittämiskeskus ry:n julkaisusarja TIEKE 28. Helsinki. Holzner, S. 2001. Inside XML. Helsinki: Edita Oyj Moncur, M. 2000. JavaScript Trainer. Helsinki: Edita Oyj North, S. & Hermans, P. 2000. XML Trainer Pro. Helsinki: Edita Oyj Nykänen, O. 2001. XML. Jyväskylä: Docendo Finland Oy Ohjelmointiputka. Document Object Model veppikoodaajan näkökulmasta [online]. [viitattu 08.04.2008] Saatavissa http://www.ohjelmointiputka.net/opas.php?tunnus=dom Peltomäki, J. 2001. JavaScript. Jyväskylä: Docendo Finland Oy World Wide Web Consortium. XHTML 1.0-DTDs [online].[viitattu 14.01.2008] Saatavissa http://www.w3.org/tr/xhtml1/dtds.html w3schools. AJAX Tutorial [online].[viitattu 12.01.2008] Saatavissa

27 http://w3schools.com/xhtml/default.asp. w3schools. CSS Tutorial [online].[viitattu 13.02.2008] Saatavissa http://www.w3schools.com/css/default.asp w3schools. XHTML Tutorial [online].[viitattu 12.01.2008] Saatavissa http://w3schools.com/xhtml/default.asp. wikipedia. XMLHttpRequest [online].[viitattu 20.03.2008] Saatavissa http://en.wikipedia.org/wiki/xmlhttprequest XHTML-opas [online]. [viitattu 14.01.2008] Saatavissa http://www.2kmediat.com/xhtml/.

28 LIITTEET LIITE1: TNS Gallupin Suomen web-sivustojen viikkoluvut vko. 3/2008

29