ebook img

Google AJAX search API PDF

27 Pages·2009·0.47 MB·Estonian
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Google AJAX search API

Tallinna Ülikool Informaatika instituut Google AJAX search API Seminaritöö Autor: Rome Tikas Juhendaja: Jaagup Kippar Kaitsmisele lubatud: Tallinn 2009 SISUKORD SISUKORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 SISSEJUHATUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. TEOREETILINE TAUST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1 Google missioon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1 Google (SOAP) Search API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2 Mida tähendab AJAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3 Google AJAX search API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4 AJAX search API võtme kasulikkus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.5 AJAX search API arhitektuur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.6 Täiustatud kasutajaliidese otsingud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.7 Google AJAX search API Wizards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.8 Google AJAX Search API´t internetis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2. PRAKTILINE TEOSTUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1"Hello, World" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1.1 Otsingu kood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1.2 Harjutusi õpilasele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.1.3 Kokkuvõte „Hello, World“ otsingule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2 Kaardi viisard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.1 Probleemid kaardi viisardiga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.2 Otsingu tulemus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.3 Kokkuvõte kaardi viisardile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3 Veebileht kasutades Google AJAX search API't . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.1 Tallinna Ülikool meedias lehekülje kood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.3.2 Harjutusi õpilasele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 KOKKUVÕTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 KASUTATUD KIRJANDUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 LISAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Lisa 1. Lähtekood "Hello, World“ jaoks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2 Lisa 2. Kaardi viisardiga saadud lähtekood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Lisa 3. Veebileht „Tallinna Ülikool meedias“ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3 SISSEJUHATUS Iga veebilehekülg on suuremal või vähemal määral sõltuv külastajate arvust. Mida suurem on külastajate arv, seda rohkem on antud leheküljel võimalus teenida oma eesmärke. Samas on oluline, et lehekülgedel olev info ei muutu külastaja jaoks tüütuks, vastasel korral sunnib see inimest kasutama muid võimalusi leidmaks infot. Samas on oluline, et lehekülgedel asetsev info ei muutuks külastaja jaoks tüütuks, mis omakorda sunniks neid kasutama muid võimalusi info leidmiseks. Et oma külastajaid hoida, on paljud veebilehtede omanikud hakanud kasutama Google AJAX search API tooteid. Kellele on Google AJAX search API tooted kasulikud? Arvan, et on kasu kolmepoolne. Võidab Google, kui tema otsinguid kasutatakse. Võidab veebilehe omanik, kui kliendid külastavad nende lehte. Võidab ka klient, kes saab ilma veebilehelt lahkumata vajaliku info kätte. Samas kui Google AJAX search API on halvasti seadistatud, võib see kahjustada lehekülje mainet ning pärssida populaarsust. Käesoleva seminaritöö eesmärgiks on tutvustada õppivale veebiprogrammeerijale, mis on Google AJAX search API a kuidas seda efektiivselt rakendada. Seminaritöö koosneb kolmest osast, mis jaguneb omakorda alateemadeks. Esimeses peatükis on ülevaade Google AJAX search API kohta. Teises peatükis antakse ülevaade erinevatest praktilistest teostustest. Seminaritöö kolmas peatükk võtab tulemused kokku ning esitab mõningad ettepanekud veebilehtede programmeerijatele. 4 1. TEOREETILINE TAUST Nii nagu igal inimesel on teatud ainuomane tunnusjoonte komplekt, läbi mille on võimalik teda määratleda ja kirjeldada, on ka igal veebilehel oma ainulaadne identiteet. See väljendub kõiges, mida veebileheküljel kuvatakse, mida omatakse ja mida väärtustatakse. 1.1 Google missioon Google peab enda missiooniks koguda ja korrasta kogu maailma informatsioon ning teha see kättesaadavaks ja kasulikuks. (Google'i kodulehekülg, http://www.google.com, oktoober, 2009). Kaasaegsetele veebilehtedele on iseloomulikud nii rahvusvahelistumine kui mitmekeelsus. Veebilehed peavad tegelema erinevate huvigruppide ja kultuuridega. Ühiskonna infotehnoloogilise arenguga suureneb ka huvigruppide teadlikkus ja oskus enam nõudeid esitada: soovitakse kõrgemaid standardeid. Tekib ka nõudlus multifunktsionaalsete veebilahenduste järele. 1.1 Google (SOAP) Search API SOAP (Simple Object Access Protocol) on minimaalne komplekt kokkuleppeid programmide käivitamiseks XML’i (Extensible Markup Language) abil üle HTTP (HyperText Transfer Protocol). SOAP-protokolli kasutades saab ühe operatsiooni süsteemi (näiteks Windows 2000) all töötav programm suhelda mitte ainult teistes arvutites sama opsüsteemi all töötavate programmidega, vaid ka teiste opsüsteemide (näiteks Linux) all töötavate programmidega (Vallaste 2009). Google (SOAP) Search API (Application Programming Interface), mida on Google AJAX search API eellane, loodi arendajatele ja uurijatele, et nad saaksid kasutada Google otsingut oma programmides. Arendajad said kasutada kogu Google andmebaasi, et leida õige vastus 5 5 miljonite veebilehtede seest, mis olid struktureeritud. Nad said kasutada Google vahemälu ja kontrollida õigekirja. Ent toodet kasutada, oli vaja hankida toote jaoks võti, mis on enamikele Google toodetele vajalik. 1.2 Mida tähendab AJAX AJAX (Asynchronous JavaScript And XML), sellega tähistatakse interaktiivsete veebirakenduste loomise meetodit, kus toimub jooksev kulissidetagune andmevahetus brauseri ja veebiserveri vahel, nii et kasutaja iga liigutuse peale pole vaja kogu veebilehte uuesti alla laadida. Märgistuskeelena kasutatakse XHTML’i (Extensible Hypertext Markup Language) ja veebilehe väljanägemist kirjeldatakse kaskaadlaadistike (CSS- Cascading Style Sheets) abil. Interaktiivsuse tagamiseks kasutatakse kliendipoolset skripti (peamiselt ECMAScript’i realisatsioone JavaScript või JScript) ja dokumendiobjektide mudelit. Asünkroonseks andmevahetuseks serveriga kasutatakse objekti XMLHttpRequest, vahel ka objekti Iframe (Vallaste 2009).v 1.3 Google AJAX search API Detsembris 2006 lõpetas Google võtmete jagamise, siiski võtme olemasolul saab seda kasutada mööndustega, teades, et rohkem uuendusi neile juurde ei tehta (Stocky 2009 ). Selle asemel sai täieliku toetuse enne testimisel olnud Google AJAX search API rakendused. Kasutusele tulnud tooted olid mõeldud ainult veebilehitseja põhiseks JavaScript kasutamiseks, et kuvada otsingu tulemusi. Mõnda aega elutses veel SOAP, kuna paljud ei saanud ega tahtnud kasutada JavaScript põhilist otsingut. Nemad jäid truuks SOAP Search API-le. Kogu asi hakkas muutuma aprillis 2008, kui Google lisas otsingule RESTful täienduse, et toetada flashi ja mitte teisi JavaScripti keskkondi. Hetkel on need täiendused arendusjärgus ja pea iga päev tuleb uuendusi. Leitakse turvaauke ja samas ka uusi lahendusi otsingu kiiremaks muutmiseks. Aina enam veebilehtede programmeerijaid kasutavad Google AJAX search API tooted, kuna nad tahavad konkurentsis püsida. 6 1.4 AJAX search API võtme kasulikkus Google AJAX search API laseb kasutada enda otsingut oma veebilehel, samas olles üks vähestest toodetest Google'i poolt, mis ei vaja tegevuseks võtit. Võtme kasutamine on vabatahtlik. Võtme kasutamisel otsingus annab vea ilmnemisel Google meeskonna toetuse, kes püüavad veebilehe omaniku probleemi lahendada. Võtit saab registreerida, selleks on sul vaja minna veebilehele http://code.google.com/apis/ajaxsearch/signup.html. Soovitan läbi lugeda Google AJAX search API kasutamistingimused ja nendega nõustuda. Seejärel tuleb sisestada oma veebilehekülje nimi, vaja on sisestada ainult domeenimini ja Google laseb seda kasutada kõikidel sinu alamlehekülgedel. Ise kasutasin näites http://www.tlu.ee. Saadud võti on kõigile sama lehekülje kasutajale sama. Juhul kui oled enne võtme registreerinud, siis on see tegevus väga lihtne ja võtab aega mõned sekundid. 1.5 AJAX search API arhitektuur Google AJAX search API arhitektuur on ehitatud andmete edastamisel läbi javascript koodi. Iga veebileht, mis on ühendatud internetiga võib andmeid küsida Google andmebaasist. JavaScripti kood võib olla lihtne nagu Search.exectute(), kuid ka keerulisem. Vastused päringule saab XML formaadis või JSON formaadis. Kättesaadud andmete sõelumine võib toimuda käsitsi või automaatselt, kasutades selleks kasutajaliideseid, mis asuvad madalamates AJAX search API kihtides. Esposito (2009) sõnul on AJAX'is erinevate kihtide kasutamine uuenduslik, mida näitab ka just Google tegutsemine antud valdkonnas. AJAX search API arhitektuur pakub mitmed erinevaid funktsioone erinevatel kihtidel, millest teen ka kiire ülevaate. Kogemustega programmeerijatele on mõeldud töötlemata kiht. Antud kihis tegutsemine nõuab häid oskusi JSON'is (JavaScript Object Notation ) ja DOM'is (Document Object 7 Model) . Kuna vastavad teadmised saadakse üldiselt alles aastatega, siis siinkohal ei hakka antud kihti rohkem selgitama. Keskmine kasutajaliidese kiht on mõeldud kasutajatele, kes soovivad AJAX search API põhilisi teenuseid kasutada. Programmeerija saab kasutada mõningaid lihtsaid funktsioone, nagu antud töös ka hiljem käsitlen. Täiustatud kasutajaliidese kiht annab kasutajale kerge vaevaga enamus infot, mis tahetakse. Sellel tasemel on olemas kasutajaliidesed, mis on spetsialiseerunud konkreetsetele lahendustele, nagu LocalSearch, VideoSearch jne. 1.6 Täiustatud kasutajaliidese otsingud Google on praeguseks hetkeks välja töötanud mitu erinevat kasutajaliidest täiustatud kihile. Peamisteks kasutajaliidesteks on: * LocalSearch Funktsioon Google MAP´le, millelt saad otsida kaardilt. Pean mainima, et otsingule „ Tallinn University“ annab API vale koha. Otsingule „Tallinna Ülikool“ saab ilusasti kaardi pealt kõigi Narva mnt majade paiknemise. * WebSearch See on kõige tavalisem Google otsing, sama võib leida www.google.com. Siinkohal ei hakka arvustama või kiitma Google otsingu üldist objektiivsust, sellest saab eraldi töö kirjutada. * VideoSearch 8 Saab otsida videoid, peamiselt Google enda video veebilehelt ja samuti ka http://www.youtube.com. Otsitakse läbi kogu Google videote andmebaas ja rõõmustav on, et esimese vastena otsingule „Tallinna Ülikool“ meie enda suhtekorralduse tehtud video „ Ülikool on....“ * BlogSearch Otsib maailma juhtivatest veebipäevikutest vasteid sinu otsingu parameetritele. Tihti võivad otsingutulemused olla mõni päev vanad, kuna maailmas on palju veebipäevikuid, mida Google ei jõua indekseerida iga päev. * NewsSearch Otsib uudiseid Google enda uudiste portaalist http://news.google.com/. Mis omakorda seirab uudiste portaale reaalajas. * ImageSearch Kasutab piltide otsinguks täpselt sama süsteemi, mis http://images.google.ee/. Pildid kuvatakse ilusasti otsingu aknasse. * BookSearch Selle otsingu tulemus suunab ümber kasutaja lehele http://books.google.com/. Jaanuar 2009 seisuga oli sinna skanneeritud üle 7 miljoni raamatu. Hetkel on seal saadaval enamasti inglise keelsed raamatud, samas on olemas enamus raamatute andmed. Näitena kasutasin A.Hitleri „Mein Kampf“. Üllatav oli, et seal oli isegi väike ülevaade raamatust, siiski ei olnud tegemist skanneeritud variandiga. * PatentSearch Järjekordselt üks Ameerikast lähtuv Google rakendus. Nimelt otsib see Ameerika Patendiametis (United States Patent and Trademark Office) registreerituid tooteid. 9 1.7 Google AJAX search API Wizards Google on teinud veebilehtede omanikele elu suhteliselt kergeks. Nimelt on nad valmistanud 7 viisardit enim kasutatavatele otsingutele. Kõik viisardid on üsna lihtsad ja mugavad ja neid saab enda nägemise järgi ka muuta. 1.8 Google AJAX Search API´t internetis Veebileht, mis asub aadressil http://ajaxsearch.typepad.com/. Seal lehel on olemas kolm Google AJAX search API otsingut: tavaline otsing, Google video otsing ja Google kaardi otsing. Seal õpetatakse kuidas teha veebipäeviku pidajatele erinevaid otsinguid. Kaardile suunamise funktsioonist ka lähemalt. Tuleb luua hüperlink, mis on JavaScriptina ja seal tuleb kasutada käsku doMapSearch('otsingu tulemus');. Kui sa otsid näiteks Tartut, siis sinu kood peaks välja nägema nii <a href="javascript:doMapSearch('Tartu');">Tartu</a>. Töötab lihtsalt ja on võimalus teha väga palju huvitavat. 10

Description:
Tallinna Ülikool Informaatika instituut Google AJAX search API Seminaritöö Autor: Rome Tikas Juhendaja: Jaagup Kippar Kaitsmisele lubatud: Tallinn 2009
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.