6 Mukautuvat verkkopalvelut

Samankaltaiset tiedostot
7 Mukautuvat verkkopalvelut

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

7 Mukautuvat verkkopalvelut

10 Nykyaikainen WWW-arkkitehtuuri

10 Ohjelmoinnista Semanttisessa Webissä

5 Verkkopalvelun sisällön hallinta

W3C-teknologiat ja yhteensopivuus

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

7 Saatavuus ja laiteriippumattomuus

3 Verkkopalveluarkkitehtuuri

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

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

3 Verkkopalveluarkkitehtuuri

Paikkatiedot ja Web-standardit

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

XML johdanto, uusimmat standardit ja kehitys

W3C ja Web-teknologiat

9 Edistynyt PHP-ohjelmointi

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

3 Verkkosaavutettavuuden tekniset perusteet

Metatiedot organisaatioiden sisällönhallinnassa

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

Rakenteisten dokumenttien jatkokurssi, syksy 2006

W3C: teknologia ja (tieto)yhteiskunta

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

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö)

8 Tiedonhaun apuvälineet

Mikä on semanttinen web?

Paikannimirekisteri linkitettynä tietona

Ontologiat merkitysten mallintamisessa: OWL. Eeva Ahonen

Sisällönhallinnan menetelmiä

8 Hypermedian suunnitteleminen

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin

in condition monitoring

Johdatus rakenteisiin dokumentteihin

Luento 12: XML ja metatieto

W3C ja alueellinen standardointi

Verkkopalveluiden saavutettavuus

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

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

9 Multimedian elementtejä: ääni Webissä

TIEDEJUTTUKURSSI FM VILLE SALMINEN

Agentit ja semanttinen web. Pekka Halonen

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

Digitaalisen median tekniikat Luento 1: Intro

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

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

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

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

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

VYPEdit verkkosivualusta SVY-toimijoille

7 Tiedonhaun apuvälineet

7 Tiedonhaun apuvälineet

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

Kurssin hallinta -työväline

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

Webinaarin osallistujan ohje

W3C ja Web-teknologiat

MATHM Hypermedian ohjelmointi (4 op) kevät 2007

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

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

The OWL-S are not what they seem

8 Tiedonhaun apuvälineet

8 Tiedonhaun apuvälineet

2 Web-lomakkeet. HTML-lomakkeet. Lomakkeiden perusteet

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

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

Mark Summary. Taitaja Skill Number 206 Skill Verkkosivujen tuottaminen. Competitor Name

W3C & verkkojulkaisun standardit

Tikon Web-sovellukset

3 Verkkopalveluarkkitehtuuri

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

Poista tietokoneessasi olevat Javat ja asenna uusin Java-ohjelma

XML - mahdollisuudet ja kehitys

Tikon Web-sovellukset

Adaptiivinen Hypermedia

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

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

12 Pari sanaa sovelluskehityksestä

Järjestelmäarkkitehtuuri (TK081702)

SQL Buddy JAMK Labranet Wiki

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

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

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

Office ohjelmiston asennusohje

W3C, Web-teknologiat ja XML

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

Toimi näin, jos et pääse verkkopankkiin Mozilla Firefox-selaimella

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

Projektinhallintaa paikkatiedon avulla

2 Web-lomakkeet. HTML-lomakkeet. Lomakkeiden perusteet

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

Helsinki Region Infoshare Pääkaupunkiseudun tiedon avaaminen

Learning2 ( Uudet työkalut ja ominaisuudet

Esimerkki uudelleenohjauksen teknisestä toteutuksesta

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2013

ELM GROUP 04. Teemu Laakso Henrik Talarmo

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

Internet jolla on merkitystä

Yhteentoimivuusvälineistö

Transkriptio:

6 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 hypermedian (adaptive hypermedia) periaatteet: 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 2007) 104

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 Jakelukontekstin (tai palvelukontekstin, vrt. Saavutettavuus-opintojakso) (delivery context) kuvaileminen: Composite Capability/Preference Profiles (CC/PP) ja User Agent Profile (UAProf) Keino käyttäjään liittyvien tietojen välittämiseen palvelulle Pohjana joustavalle julkaisemiselle Räätälöity tai joustava julkaiseminen Semanttisessa Webissä: Semanttisen kuvauksen perusteella tietosisällöstä voidaan valita oikeat tietoalkiot, jotka esitetään jakelukontekstiin soveltuvassa muodossa Suljetun järjestelmän toteuttaminen onnistuu mainiosti esimerkiksi relaatiotietokannan, PHP-kielen ja HTTP-protokollan avulla MATHM-57100 Hypermedian ohjelmointi (kevät 2007) 105

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 2007) 106

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ä esimerkiksi kielitaito, äidinkieli ja kansallisuus Brusilovskyn mukautuva hypermedia keskittyy suurelta osin sovelluksen navigaation muokkaamiseen, mutta myös sisällön mukauttamisessa on lukuisia mahdollisuuksia MATHM-57100 Hypermedian ohjelmointi (kevät 2007) 107

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 2007) 108

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ä esimerkiksi 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 2007) 109

Kansainvälistäminen ja kotoistaminen Sovelluksen mukauttamisessa käyttäjälle sopivaksi voidaan ottaa oppia myös kansainvälistämisestä (internationalisation, i18n) ja kotoistamisesta (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, kulttuurille 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 2007) 110

Jakelukontekstin 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 2007) 111

Esimerkki: jakelukonteksti 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_ENCODING: gzip HTTP_ACCEPT: text/html, application/xml; q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*; q=0.1 HTTP_ACCEPT_LANGUAGE: en-us,en;q=0.9 HTTP_USER_AGENT: Opera/8.01 (J2ME/MIDP;Opera Mini/3.1.7196/1644; en; U; ssr) 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? Onko tietoja mahdollista väärentää? MATHM-57100 Hypermedian ohjelmointi (kevät 2007) 112

Esimerkki: jakelukonteksti 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 aluksi vaikuttaa monimutkaisemmalta kuin lopulta onkaan MATHM-57100 Hypermedian ohjelmointi (kevät 2007) 113

Esimerkki: jakelukonteksti 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" W3C:n SPARQL-suositus (http://www.w3.org/tr/rdf-sparql-query/) esittelee rikkaammat mahdollisuudet kyselyiden tekemiseen. Java-soveltajien käytössä on DELI-kirjasto (http://sourceforge.net/projects/delicon/), joka antaa mahdollisuuden CC/PP- tai UAProf-muodossa esitettyjen tietojen jäsentämiseen. MATHM-57100 Hypermedian ohjelmointi (kevät 2007) 114

Lopuksi Verkkopalvelun mukauttamiseen liittyvät asiat avaavat uusia mahdollisuuksia Websoveltajalle. Mukauttamisen periaate antaa oikein toteutettuna aidon mahdollisuuden verkkopalveluiden saavutettavuus- ja käytettävyysongelmien ratkaisemiseen Taustalla olevista tekoälytieteen periaatteista huolimatta mukautuvan hypermedian ideoiden hyödyntäminen verkkopalveluiden suunnittelussa ja toteutuksessa on suoraviivaista Semanttinen Web ja Web 2.0 sateenvarjo 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 Mukautuvien verkkopalveluiden toteuttaminen onnistuu 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. Toiminnallisuudet voivat toki olla keskimääräisiä sovelluksia monipuolisempia MATHM-57100 Hypermedian ohjelmointi (kevät 2007) 115