7 Mukautuvat verkkopalvelut

Samankaltaiset tiedostot
6 Mukautuvat verkkopalvelut

7 Mukautuvat verkkopalvelut

Hypermedian ohjelmointi, kevät Julkaisujärjestelmän toteuttaminen

10 Nykyaikainen WWW-arkkitehtuuri

10 Ohjelmoinnista Semanttisessa Webissä

W3C-teknologiat ja yhteensopivuus

5 Verkkopalvelun sisällön hallinta

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto

Metatiedot organisaatioiden sisällönhallinnassa

Rakenteisten dokumenttien jatkokurssi, syksy 2006

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö)

8 Tiedonhaun apuvälineet

7 Saatavuus ja laiteriippumattomuus

9 Edistynyt PHP-ohjelmointi

W3C ja Web-teknologiat

3 Verkkopalveluarkkitehtuuri

Seitsemän syytä semanttiseen webiin. Eero Hyvönen Aalto-yliopisto ja HY Semanttisen laskennan tutkimusryhmä (SeCo)

Paikkatiedot ja Web-standardit

Mikä on semanttinen web?

8 Hypermedian suunnitteleminen

Johdatus rakenteisiin dokumentteihin

XML johdanto, uusimmat standardit ja kehitys

W3C: teknologia ja (tieto)yhteiskunta

Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto

3 Verkkopalveluarkkitehtuuri

3 Verkkosaavutettavuuden tekniset perusteet

standardit (W3C, ISO) Semanttisen laskennan tutkimusryhmä Teknillinen korkeakoulu

Sisällönhallinnan menetelmiä

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin

Semanttisen webin käyttöliittymäratkaisut. Tiedonhallinta semanttisessa webissä Osma Suominen

Luento 12: XML ja metatieto

Miten Linked Data aineistoja tuotetaan ja. Semanttisen laskennan tutkimusryhmä SeCo Aalto-yliopisto

Eero Hyvönen. Semanttinen web. Linkitetyn avoimen datan käsikirja

Ontologiat merkitysten mallintamisessa: OWL. Eeva Ahonen

Paikannimirekisteri linkitettynä tietona

5 Sisällönhallinta- ja julkaisujärjestelmät

Rakenteisen oppimateriaalin tuottaminen verkossa esimerkki Rhaptos. Antti Auer Koordinaattori, HT Jyväskylän yliopisto Virtuaaliyliopistohanke

Verkkopalveluiden saavutettavuus

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

in condition monitoring

9 Multimedian elementtejä: ääni Webissä

W3C & verkkojulkaisun standardit

MOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT

Webinaarin osallistujan ohje

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

7 Tiedonhaun apuvälineet

7 Tiedonhaun apuvälineet

8 Tiedonhaun apuvälineet

8 Tiedonhaun apuvälineet

Profium. Smart Information Router (SIR) Janne Saarela Profium Oy. Profium perustettu Pioneeri sisällönhallinnan ratkaisujen kehityksessä

The OWL-S are not what they seem

Adaptiivinen Hypermedia

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

Perussurffaajat: Tiia Tirkkonen, Teppo Porkka, Janne Tuomisto. Verkkopalvelun arviointisuunnitelma Spotify

Digitaalisen median tekniikat Luento 1: Intro

W3C ja alueellinen standardointi

SPARQL-workshop. Sini Pessala Kirjastoverkkopäivät KANSALLISKIRJASTO - Kirjastoverkkopalvelut

Agentit ja semanttinen web. Pekka Halonen

W3C ja Web-teknologiat

Hypermedian ohjelmointi (2 ov) kevät Yleisiä tietoja kevään kurssista. Kurssin sisältö ja suorittaminen

MATHM Hypermedian ohjelmointi (4 op) kevät 2007

MATHM Hypermedian ohjelmointi (4 op) kevät Yleisiä tietoja kevään toteutuskerrasta. Haluatko Web-ohjelmoijaksi?

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

ruovedellä pohjois-hämeessä. lepounit.com (yritys) lepo.net (oma)

VYPEdit verkkosivualusta SVY-toimijoille

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012

Semantic Web käytännön sovelluksissa. TkT Janne Saarela Profium Oy

Hypermedian ohjelmointi, kevät Luento 7. Tiedonhaun apuvälineet

Yhteentoimivuusvälineistö

2 Web-lomakkeet. HTML-lomakkeet. Lomakkeiden perusteet

XML - mahdollisuudet ja kehitys

URI:n muodostamisen prosessi (suositusluonnoksen liite 1)

Office ohjelmiston asennusohje

erasmartcard-kortinlukijaohjelmiston asennusohje (mpollux jää toiseksi kortinlukijaohjelmistoksi)

TIEDEJUTTUKURSSI FM VILLE SALMINEN

Tikon Web-sovellukset

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

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

W3C, Web-teknologiat ja XML

SPARQL(SPARQL Protocol and RDF Query Language)

Sosiaalihuollon avoin asiakastietomalli ja sen kehittämisessä ja soveltamisessa käytetyt standardit

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin?

Tikon Web-sovellukset

Toiminnalliset ja ei-toiminnalliset vaatimukset Tunnus (ID) Vaatimus Vaatimuksen

ELM GROUP 04. Teemu Laakso Henrik Talarmo

SQL Buddy JAMK Labranet Wiki

Esimerkki uudelleenohjauksen teknisestä toteutuksesta

Kurssin hallinta -työväline

Mikä on WordPress? itse ylläpidettävä (self-hosted) WordPress.com: ilmainen 3. osapuolen ylläpitämä pilvipalvelu (Cloud-hosted)

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

W3C ja Web-teknologiat

Vineyard Koulutus. Verkkopalvelut

Järjestelmäarkkitehtuuri (TK081702)

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0

Metatiedot lainsäädäntötiedon hallinnassa

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

Transkriptio:

7 Mukautuvat verkkopalvelut Verkkopalvelun mukauttamista voi tarkastella useasta eri näkökulmasta: Laiteriippumattomuus: mahdollisuus verkkopalvelun käyttämiseen työasemalla, kämmentietokoneella, matkapuhelimella, puhekäyttöliittymällä, digi-tv:llä tai ruudunlukijalla Saavutettavuus: laiteriippumattomuus, erityisryhmät, käyttötilanteet Kansainvälistäminen ja kotoistaminen: kielestä, kulttuurista ja maantieteellisestä sijainnista riippumattomat verkkopalvelut Personointi: verkkopalvelun sisällön, toimintojen ja ulkoasun mukauttaminen käyttäjän mieltymysten mukaiseksi Taustalla mukautuvan (adaptive) hypermedian ideat: Käyttäjästä luodaan malli (user model) Sovelluksesta ja sen sisällöstä luodaan malli Sovelluksesta käyttäjälle välitettävät näkymät mukautetaan käyttäjän ja sovelluksen mallin yhdistelmän, ns. overlay-mallin perusteella MATHM-57100 Hypermedian ohjelmointi (kevät 2006) 91

Välineitä mukautuvan verkkopalvelun toteuttamiseen Semanttinen Web: Tietosisällön rakenteistaminen (XML) ja semanttinen kuvailu (RDF & OWL) Mahdollistaa tiedon järjestelmällisen/ohjelmallisen käsittelemisen Julkaisukontekstin (tai palvelukontekstin, vrt. Saavutettavuus-opintojakso) (delivery context) kuvaileminen: Composite Capability/Preference Profiles (CC/PP) ja User Agent Profile (UAProf) Keino käyttäjän tietojen välittämiseen palvelulle Pohjana joustavalle julkaisemiselle Räätälöity tai joustava julkaiseminen: Semanttisen kuvauksen perusteella tietosisällöstä voidaan valita oikeat tietoalkiot, jotka esitetään julkaisukontekstille sopivassa muodossa Suljetun järjestelmän toteuttaminen onnistuu mainiosti esimerkiksi relaatiotietokannan, PHP-kielen ja HTTP-protokollan avulla MATHM-57100 Hypermedian ohjelmointi (kevät 2006) 92

Mitä mukautetaan? Verkkopalvelua voidaan mukauttaa eri tavoilla (Lähde: Authoring Techniques for Device Independence, ks. http://www.w3.org/tr/di-atdi/): Tyyli (Style): Resurssin esitystavan muuttaminen ilman, että resurssi itsessään muuttuu. Tapahtuu käytännössä CSS-tyylien avulla Asettelu (Layout): Näkymän komponenttien sijoittelu ruudulle. Voidaan toteuttaa esimerkiksi sivupohjien avulla Sisältö (Content): Rakenteistetusta tietosisällöstä voidaan poimia osia käyttäjän mieltymysten tai laitteen ominaisuuksien perusteella Rakenne (Structure): Sovelluksen rakennetta voidaan mukauttaa joko näkymiä koostamalla (aggregation) tai jakamalla osiin (decomposition). Suunnitelmallisessa toiminnassa näkymiä yleensä koostetaan Navigaatio (Navigation): Navigaatiota voidaan mukauttaa sekä teknisestä että sisällöllisestä näkökulmasta Vuorovaikutus (Interaction): Mahdollisuudet syötteen tuottamiseen ja vuorovaikutteisten komponenttien käyttämiseen vaihtelevat päätelaitteittain MATHM-57100 Hypermedian ohjelmointi (kevät 2006) 93

Mukautuva hypermedia (Brusilovsky) Mukautuvan hypermedian keskeinen tutkija Peter Brusilovsky on määritellyt mukautuvan hypermedian seuraavasti (Methods and techniques of adaptive hypermedia, ks. http://www2.sis.pitt.edu/~peterb/papers/umuai96.pdf): Mukauttaminen perustuu käyttäjämalliin Sovelluksen esitystapa ja linkitys voidaan mukauttaa käyttäjämallin perusteella Käyttäjämalli: käyttäjän tietämys, osaaminen, tavoitteet, tausta, kokemukset ja mieltymykset Esitystapa: ulkoasu ja sisältö Linkitys: linkkien järjestäminen, piilottaminen, poistaminen, kommentointi (annotointi) ja tuottaminen, käyttäjän suora ohjaaminen, sisällysluettelon mukauttaminen Käyttäjämalliin voidaan lisätä vielä käyttäjän kielitaito, äidinkieli ja kansallisuus Brusilovskyn mukautuva hypermedia keskittyy suurelta osin sovelluksen navigaation muokkaamiseen. Kuitenkin myös sisällön mukauttamisessa on erilaisia mahdollisuuksia MATHM-57100 Hypermedian ohjelmointi (kevät 2006) 94

Käyttäjän mallintaminen (Brusilovsky) Käyttäjän mallintaminen mukautuvassa hypermediasovellyksessa Brusilovskyn mukaan: Provides Application Data about user Collects Edits Provides Processes System Edits User Model Administrator User Processes Provides Adaptation effect Lähde: Brusilovsky, P. Methods and techniques of adaptive hypermedia MATHM-57100 Hypermedian ohjelmointi (kevät 2006) 95

Esimerkki: amazon.com ja käyttäjän tiedot amazon.comia käytetään usein esimerkkinä mukautuvasta hypermediasovelluksesta. Amazonin tavoitteena on kasvattaa myyntiä, mutta ideoita voi hyödyntää monessa muussakin yhteydessä amazon.com kerää tietoja käyttäjästä siten, että käyttäjä määrittelee ja arvostelee oman virtuaalisen kirja- ja levyhyllynsä. Tämä on huomattavasti ilmaisuvoimaisempi vaihtoehto kuin jokaisen mielenkiinnon kohteen määritteleminen erikseen Assosiatiivisia linkkejä myytävien artikkeleiden välille muodostetaan useilla eri perusteilla: esittäjä, yhtyeen jäsen, muiden käyttäjien kirja- ja levylistat & ostopäätökset, kirjalliset arviot (~linkkien annotointi), suositukset,..., erikseen syötetyt metatiedot Keskeistä: Jukka, this is recommended for you. Why? Siis: palvelu järjestää ja tuottaa uusia linkkejä, hyvä. Tämän lisäksi käyttäjällä on mahdollisuus kysyä järjestelmältä perusteluja sille, miksi tämä ehdottaa jotakin tiettyä artikkelia. Käyttäjällä on myös mahdollisuus määritellä käytetäänkö tiettyä tuotetta suositusten tekemiseen ( Use to make recommendations ) tai hylätä järjestelmän tekemä ehdotus ( Not interested ) MATHM-57100 Hypermedian ohjelmointi (kevät 2006) 96

Esimerkki: allmusic.com ja kuvailutiedot allmusic.com on musiikkia ja sen luokittelua ja kuvailua harrastavan henkilön aarreaitta Verkkopalvelun sisältönä on valtava määrä levyjä, joista on kerätty huima määrä kuvailutietoa palvelun käyttäjien toimesta Käyttäjillä on mahdollisuus syöttää kuvailutietoja, jotka tarkastetaan ennen julkaisemista palveluun Assosiatiiviset linkit: esittäjän jäsenet, vastaavanlaiset esittäjät, musiikilliset vaikuttajat ja vaikutteita ottaneet, kappaleiden tekijät, tyylilaji, tarkempi musiikillinen tyyli ja musiikilliset tunnelmat Palvelu ei varsinaisesti mukaudu käyttäjän mieltymyksiin. Kuvaileva tieto antaisi kuitenkin mahdollisuuden monipuolisten ominaisuuksien toteuttamiseen Erään mukautuvan hypermedian keskeisen sovellusalueen muodostavat ns. asiantuntijajärjestelmät, joihin on kerätty suuri määrä tietoa, jota sovelluksen käyttäjät voivat hyödyntää Musiikin harrastajan näkökulmasta tällainen järjestelmä voisi olla vaikkapa palvelu uusien musiikillisten tuttavuuksien löytämiseen (vrt. last.fm tai pandora.com) MATHM-57100 Hypermedian ohjelmointi (kevät 2006) 97

Kansainvälistäminen ja kotoistaminen Sovelluksen mukauttamiseen käyttäjälle sopivaksi voidaan ottaa oppia myös kansainvälistämisestä (internationalisation, i18n) ja kotoistaminen (localisation, l10n) Kansainvälistäminen: sovelluksen toteuttaminen siten, että siitä voidaan julkaista versiota kielen, maantieteellisen alueen tai kulttuurin perusteella mukautettuna. käytännössä: tekstien, värien, kuvien ja ikonien (sivupohja!) irrottaminen sovelluksesta kirjastoksi, jonka vaihtaminen onnistuu helposti myös päivämäärien, pituus- ja painomittojen ja valuuttojen esittämisessä on kieli- ja kulttuurikohtaisia eroja Kotoistaminen: i18n-mallin mukaan toteutetun sovelluksen mukauttaminen tietylle kielelle tai maantieteelliselle alueelle sopivaksi Verkkopalvelussa sovelluksen kansainvälinen jakelu on sisäänrakennettu ominaisuus. Webin käyttäjät eivät kuitenkaan juurikaan ole tottuneet mukautuviin palveluihin. Vai? MATHM-57100 Hypermedian ohjelmointi (kevät 2006) 98

Julkaisukontekstin ominaisuudet Julkaisukontekstin tiedot voidaan selvittää eri tavoilla (vrt. käyttäjän mallintaminen): Kysytään käyttäjältä: Tiedot ovat varmasti oikein, mutta käyttäjä joutuu näkemään ylimääräistä vaivaa Selain välittää tiedot pyynnön yhteydessä esimerkiksi CC/PP- tai UAProfprotokollan avulla. Ongelmana on vielä tällä hetkellä se, että päätelaitteet eivät yleisesti tue julkaisukontekstin tietojen välittämistä Eräs käyttökelpoinen keino on HTTP-pyynnön otsikkotietojen lukeminen ja analysoiminen HTTP-pyynnön tapauksessa ongelmana on se, että otsikoissa välitettävien tietojen esitysmuotoa tai arvoja ei ole standardoitu Eräs keino on tarjota käyttäjälle mahdollisuus määritellä erilaiset julkaisukontekstit palvelulle: Nyt käyttämäni laite on kämmenlaite. Tiedot voidaan tallentaa esimerkiksi tietokantaan ja tunnistaa laite seuraavan kerran tietojen perusteella MATHM-57100 Hypermedian ohjelmointi (kevät 2006) 99

Esimerkki: julkaisukonteksti ja HTTP-pyynnön otsikot Selaimen A välittämät tiedot: HTTP_ACCEPT_LANGUAGE: HTTP_ACCEPT: */* HTTP_USER_AGENT: Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320) Selaimen B välittämät tiedot: HTTP_ACCEPT_LANGUAGE: fi,en-us;q=0.7,en;q=0.3 HTTP_ACCEPT: text/xml,application/xml, application/xhtml+xml, text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 HTTP_USER_AGENT: Mozilla/5.0 (X11; U; Linux i686; en-us; rv:1.7.5) Gecko/20041107 Firefox/1.0 Selaimen C välittämät tiedot: HTTP_ACCEPT_LANGUAGE: fi,en-us;q=0.7,en;q=0.3 HTTP_ACCEPT: text/xml, application/xml, application/xhtml+xml, text/html; q=0.9, text/plain; q=0.8, image/png, */*; q=0.5 HTTP_USER_AGENT: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-us; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1 Mitä tietojen perusteella voi päätellä? Voiko tietojen olemassaolosta tai esitysmuodosta tehdä oletuksia? MATHM-57100 Hypermedian ohjelmointi (kevät 2006) 100

Esimerkki: julkaisukonteksti ja UAProf (1/2) CC/PP-protokollaan perustuva UAProf määrittelee täsmällisen tavan julkaisukontekstin kuvailemiseen. Keksitty esimerkki kannettavan tietokoneen tietojen esittämisestä UAProf-muotoisesta esitystavasta N3-muotoon sarjallistettuna: @prefix : <http://hmopetus.ee.tut.fi/device-profile#>. @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix ccpp: <http://www.w3.org/2000/07/04-ccpp#>. @prefix uap: <http://www.wapforum.org/profiles/uaprof/ccppschema-20010330#>. :LapTop ccpp:component :Mozilla. :Mozilla a uap:browserua; uap:xhtmlversion "1.0"; uap:preferenceforframes "No"; uap:tablescapable "Yes". :LapTop ccpp:component :DefaultSW. :DefaultSW a uap:softwareplatform; uap:ccppaccept [a rdf:bag; rdf:_1 "text/png"; rdf:_2 "text/jpeg"]. :LapTop ccpp:component :DefaultHW. :DefaultHW a uap:hardwareplatform; uap:soundoutputcapable "Yes". UAProf-määritys käyttää tietojen esittämiseen Resource Description Framework (RDF) -kehystä, joka saattaa näyttää vaikeammalta kuin todellisuudessa onkaan MATHM-57100 Hypermedian ohjelmointi (kevät 2006) 101

Esimerkki: julkaisukonteksti ja UAProf (2/2) Julkaisukontekstin kuvaus esitettiin edellä N3-kieliopin mukaan sarjallistettuna RDFgraafina, joten käsittely onnistuu esimerkiksi RDF Query Language (RDQL) -kielellä: SELECT?browser,?xhtmlversion FROM <profile.n3> WHERE (?browser uap:xhtmlversion?xhtmlversion ) USING ccpp FOR <http://www.w3.org/2000/07/04-ccpp#> uap FOR <http://www.wapforum.org/profiles/uaprof/ccppschema-20010330#> Kysely etsii RDF-mallista uap:xhtmlversion-ominaisuuden arvon eli selaimen tukeman XHTML-version. RDQL-kyselyitä tukeva Jena-komentorivisovellus tulostaa kyselyn lopputuloksen seuraavalla tavalla: browser xhtmlversion ================================================================= <http://hmopetus.ee.tut.fi/device-profile#mozilla> "1.0" RDQL-kielen opetteleminen ei ole SQL-osaajalle temppu eikä mikään. PHP-kielen PEAR-laajennuskirjasto tukee ainakin dokumentaation perusteella RDQL-kieltä, joten ei muuta kuin kokeilemaan! W3C määrittelee parhaillaan SPARQL-suositusta, joka on tulevaisuudessa varteenotettava vaihtoehto RDQL-kielelle MATHM-57100 Hypermedian ohjelmointi (kevät 2006) 102

Lopuksi Verkkopalvelun mukauttamiseen liittyvät asiat avaavat täysin uusia mahdollisuuksia Web-soveltajalle, mukautuvan hypermedian perustan muodostavista tekoälyn periaatteista puhumattakaan.mukauttamisen periaate antaa aidon mahdollisuuden verkkopalveluiden saavutettavuus- ja käytettävyysongelmien ratkaisemiseen oikein toteutettuna Taustalla olevasta tekoälystä huolimatta mukautuvan hypermedian ideoiden hyödyntäminen on suoraviivaista verkkopalveluiden suunnittelussa ja toteutuksessa Semanttinen Web ja Web 2.0 esittelevät hyödyllisiä mahdollisuuksia mukautuvan hypermedian ideoiden toteuttamiseen suuressa mittakaavassa. Yhdistelemällä Semanttisen Webin teknologioita ja Web 2.0 ajattelun periaatteita soveltalla on mahdollisuus toteuttaa hajautettuja ja yhteisöllisiä mukautuvia verkkopalveluita hyvin monipuolisesti Mukautuvien verkkopalveluiden toteuttaminen onnistuu ideoiden ja toimintojen tasolla myös perinteisin tekniikoin, esimerkiksi PHP-kielen ja relaatiotietokannan avulla Viittaaminen tekoälyyn johtaa kuulijat usein harhaan; tekoälyssäkin on lopulta kysymys vain ja ainoastaan siitä, että tietokone toteuttaa rutiineja ihmisen puolesta. Ohjelmistot toki ovat huomattavasti keskimääräisiä sovelluksia monipuolisempia MATHM-57100 Hypermedian ohjelmointi (kevät 2006) 103