KIMMO YLI-ROHDAINEN Sääaseman selainkäyttöliittymä

Koko: px
Aloita esitys sivulta:

Download "KIMMO YLI-ROHDAINEN Sääaseman selainkäyttöliittymä"

Transkriptio

1 KIMMO YLI-ROHDAINEN Sääaseman selainkäyttöliittymä Kandidaatintyö Tarkastaja: Mikko Salmenperä

2 II TIIVISTELMÄ TAMPEREEN TEKNILLINEN YLIOPISTO Automaatiotekniikan koulutusohjelma KIMMO YLI-ROHDAINEN: Sääaseman selainkäyttöliittymä Kandidaatintyö, 20 sivua Helmikuu 2011 Pääaine: Automaation tietotekniikka Tarkastaja: Mikko Salmenperä Avainsanat: sääasema, käyttöliittymä, HTML5, AJAX Tampereen Teknillisen Yliopiston systeemitekniikan laitoksella on Vaisala Rosa - sääasema mittaamassa lämpötilaa, tuulen nopeutta ja suuntaa, sademäärää sekä ilmankosteutta. Tässä kandidaatintyössä kehitetään sääasemaa varten uusi dynaaminen selainkäyttöliittymä, joka mahdollistaa sääaseman mittaustulosten tarkkailun. Työssä käytettäviä toteutustekniikoita ovat muun muassa Java, AJAX-tekniikat, HTML5 ja JavaScript. Työssä määritellään ensin vaatimukset toteutettavan selainkäyttöliittymän ulkonäölle ja toiminnallisuudelle. Seuraavaksi esitellään suunnitelma sovelluksen arkkitehtuurille, rakenteelle ja toiminnalle. Viimeiseksi kuvataan toteutuksen keskeiset ratkaisut ja tutustutaan lyhyesti toteutuksessa käytettyyn kehitteillä olevaan HTML5-spesifikaatioon.

3 III SISÄLLYS 1. Johdanto Vaatimusmäärittely Käyttötapaukset KT1: Uusimpien mittausten hakeminen KT2: Kuvaajien näyttämän aikavälin vaihtaminen KT3: Kuvaajan suurentaminen KT4: Kuvaajan tallentaminen Käyttöliittymä Suunnittelu Sovellusarkkitehtuuri Rakenne Toiminta Toteutus Kehitysympäristö Toteutuksen keskeiset ratkaisut HTML Yhteenveto Lähteet

4 IV TERMIT JA LYHENTEET Termi Selitys AJAX Asynchronous JavaScript And XML. Kokelma tekniikoita, joiden avulla luodaan vuorovaikutteisia websovelluksia. Apache Tomcat Java Servlet ja JavaServer Pages tekniikoita käyttävä palvelin. API Application Programming Interface. Ohjelmointirajapinta. DAO Data Access Object. Ohjelmiston olio, joka toteuttaa tiedon hakemisen tietokannasta. GPS Global Positioning System. Satelliittipaikannusjärjestelmä. Hibernate ORM-kirjasto Java-ohjelmointikielelle. HTML Hyper Text Markup Language. Websivujen kuvauskieli. HTML5 HTML:n uusin spesifikaatio [13]. HTTP Hypertext Transfer Protocol. Selaimien ja WWWpalvelimien käyttämä tiedonsiirtoprotokolla. Java Ohjelmointikieli ja ohjelmistoalusta. JavaScript Selaimessa ajettava ohjelmointikieli. JSON JavaScript Object Notation. Kevyt tekstipohjainen tiedonsiirtomuoto [5]. JSP JavaServer Pages, staattista ja dynaamista sisältöä HTTP-vastaukseen yhdistelevä tekniikka [6]. MySQL Tietokannan hallintajärjestelmä. ORM Object Relational Mapping. Olio-relaatio mallinnus. PNG Portable Network Graphics. Häviötön bittikarttagrafiikan tallennusformaatti. RGraph JavaScript-kirjasto kuvaajien piirtämiseen HTML5:n canvas-elementille. servletti Java Servlet, HTTP-vastaukseen dynaamista sisältöä tuottava Java-luokka [9]. UML Unified Modeling Language. Standardi graafinen mallinnuskieli ohjelmistokehitykseen. W3C World Wide Web Consortium. W3C kehittää webin teknologioita. WHATWG Web Hypertext Application Technology Working Group. Keskittyy HTML-standardin kehittämiseen.

5 1 1. JOHDANTO Tampereen Teknillisen Yliopiston systeemitekniikan laitoksella on tutkimusprojektissa (Vaisala Rosa -sääaseman etäkäyttö Telit GE863-GPS moduulin avulla) toteutettu sääpalvelu www-sovelluksena. Työssä käytettiin Vaisala Rosa -sääasemaa, jolla voidaan mitata lämpötilaa, tuulen nopeutta ja suuntaa, sademäärää sekä ilmankosteutta. Lisäksi sääasemassa on GPS-anturi (Global Positioning System), jolta saadaan sääaseman sijainnin koordinaatit. Sovellus tallentaa sääasemalta saamansa mittaustulokset MySQL-tietokantaan. Sovelluksen selainkäyttöliittymä näyttää uusimman mittauksen lisäksi historiakuvaajat edellisten 24 tunnin ja viikon ajalta. [10] Tämän kandidaatintyön tarkoituksena on määritellä, suunnitella ja toteuttaa tälle sääasemalle uusi ja parempi selainpohjainen käyttöliittymä. Mittaustulosten hakemista ja tallentamista ei ole tarkoitus muuttaa, vaan uuden käyttöliittymän tulee hakea mittaustulokset olemassa olevan järjestelmän tietokannasta. Koska nykyinen käyttöliittymä näyttää uusimman mittauksen lisäksi historiakuvaajat vain edellisten 24 tunnin ja viikon ajalta, tulee toteutettavan käyttöliittymän mahdollistaa mittaustulosten tarkastelu myös pidemmiltä ajanjaksoilta. Työn tavoitteena on myös tehdä uudesta käyttöliittymästä dynaamisempi lisäämällä interaktiota. Tärkeimpiä toteutettavia ominaisuuksia ovat kuvaajien suurentaminen, kuvaajien tallentaminen ja kuvaajan esittämän aikavälin valinta. Lisäksi käyttöliittymään lisätään sääaseman sijainnin näyttävä kartta. Käyttöliittymä on tarkoitus toteuttaa niin, että sitä ei ensimmäisen latauskerran jälkeen tarvitse ladata enää uudelleen selaimeen, vaan vain mittaustuloksia ladataan sovelluksen palvelimelta ja ne päivitetään näkyviin käyttöliittymään. Tämä onnistuu, kun totetuksessa käytetään AJAX-tekniikoita (Asynchronous JavaScript And XML). Näin saadaan palvelimen rasitusta vähennettyä ja siten pystytään palvelemaan suurempaa käyttäjäjoukkoa. Työn tavoitteena on myös tutustua HTML5:n (HyperText Markup Language) tarjoamiin uusiin ominaisuuksiin ja käyttää osaa niistä käyttöliittymän toteutuksessa. HTML on standardoitu kuvauskieli, jota käytetään erityisesti webbisivujen kuvaukseen. HTML5 on seuraava versio standardista ja se on vielä keskeneräinen. [13] Tämän dokumentin luvussa 2 esitetään vaatimukset toteutettavalle sovelluksel-

6 1. Johdanto 2 le. Seuraavaksi luvussa 3 esitellään suunnitelma sovelluksen arkkitehtuurille, rakenteelle ja toiminnallisuudelle. Suunnitelman kuvaamiseen käytetään UML:n (Unified Modeling Language) mukaisia kaavioita. UML on graafinen mallinnuskieli, joka on tarkoitettu käytettäväksi ohjelmistokehityksessä. Tämän jälkeen luvussa 4 kuvataan sovelluksen toteuttamiseen käytetyt työkalut ja keskeiset ratkaisut. Lisäksi tässä luvussa tutustutaan HTML5-standardiin. Lopuksi tehdään yhteenveto toteutetusta sovelluksesta luvussa 5.

7 3 2. VAATIMUSMÄÄRITTELY Tässä luvussa esitellään toteutettavalle sovellukselle asetettavat vaatimukset. Sovelluksen toimintoja kuvataan käyttötapauksilla luvussa 2.1. Sovelluksen käyttöliittymää käsitellään luvussa Käyttötapaukset Sovelluksen toiminnot kuvataan käyttötapauksilla. Kaikki käyttötapaukset on esitetty UML:n mukaisessa käyttötapauskaaviossa kuvassa 2.1. Kuva 2.1: Sovelluksen käyttötapauskaavio.

8 2. Vaatimusmäärittely KT1: Uusimpien mittausten hakeminen Suorittajat: Käyttäjä Esiehdot: Sääaseman käyttöliittymä on onnistuneesti latautunut käyttäjän selaimeen. Kuvaus: Käyttäjä painaa Update -nappia. Näkyviin päivittyvät uusimmat mittaustulokset. Uusimmat mittaustulokset haetaan myös automaattisesti 5 minuutin välein. Poikkeukset: Jos mittaustuloksien hakeminen palvelimelta epäonnistuu, ilmoitetaan virheestä käyttäjälle viestilaatikolla. Lopputulos: Näkyvissä ovat uusimmat mittaustulokset KT2: Kuvaajien näyttämän aikavälin vaihtaminen Suorittajat: Käyttäjä Esiehdot: Sääaseman käyttöliittymä on onnistuneesti latautunut käyttäjän selaimeen. Kuvaus: Käyttäjä painaa haluamaansa aikaväliä vastaavaa nappia. Aikavälivaihtoehdot ovat vuorokausi, viikko, kuukausi ja vuosi. Kaikki kuvaajat päivittyvät näyttämään mittauksia valitulta aikaväliltä. Poikkeukset: Jos mittaustuloksien hakeminen palvelimelta epäonnistuu, ilmoitetaan virheestä käyttäjälle viestilaatikolla. Lopputulos: Kaikki kuvaajat näyttävät mittauksia valitulta aikaväliltä KT3: Kuvaajan suurentaminen Suorittajat: Käyttäjä Esiehdot: Sääaseman käyttöliittymä on onnistuneesti latautunut käyttäjän selaimeen. Kuvaus: Käyttäjä avaa kuvaajan kontekstivalikon. Tämä tehdään eri selaimissa eri tavoin, yleensä hiiren vasemmalla tai oikealla napilla. Käyttäjä valitsee kontekstivalikosta toiminnon Zoom. Valittu kuvaaja tulee näkyviin suurennettuna. Kun käyttäjä painaa hiiren nappia uudelleen, kuvaaja palautuu alkuperäisen kokoiseksi. Poikkeukset: - Lopputulos: Kuvaajan suurentamisen ja pienentämisen jälkeen näkymä on samanlainen kuin ennen toiminnon suorittamista.

9 2. Vaatimusmäärittely KT4: Kuvaajan tallentaminen Suorittajat: Käyttäjä Esiehdot: Sääaseman käyttöliittymä on onnistuneesti latautunut käyttäjän selaimeen. Kuvaus: Käyttäjä avaa kuvaajan kontekstivalikon. Tämä tehdään eri selaimissa eri tavoin, yleensä hiiren vasemmalla tai oikealla napilla. Käyttäjä valitsee kontekstivalikosta toiminnon Get PNG. PNG-muotoinen (Portable Network Graphics) kuva valitusta kuvaajasta voidaan tallentaa käyttäjän valitsemaan tiedostoon. Poikkeukset: - Lopputulos: Valittu kuvaaja on tallennettu käyttäjän tietokoneelle PNGmuodossa. 2.2 Käyttöliittymä Sovelluksen käyttöliittymä on selainpohjainen ja siinä on yksi näkymä. Käyttöliittymä toteutetaan käyttäen hyödyksi AJAX-tekniikoita, jotka mahdollistavat käyttöliittymän osien päivittämisen lataamatta koko sivua uudelleen. Tätä hyödynnetään kuvaajien ja mittaustulosten päivittämisessä. Käyttöliittymän hahmotelma on esitetty kuvassa 2.2. Käyttöliittymän yläosan vasemmassa laidassa on esitettynä kaikkien mitattavien suureiden viimeisimmät mittausarvot sekä mittauksien suoritusaika. Näiden alapuolella on nappi, jolla voidaan hakea uusimmat mittaustulokset palvelimelta. Tämä toiminto on kuvattu käyttötapauksessa KT1 luvussa Uudet mittaustulokset haetaan myös automaattisesti 5 minuutin välein. Käyttöliittymän yläosan oikeassa laidassa on kartta. Kartalle on merkitty sääaseman sijainti. Kartan näyttämää aluetta voidaan siirtää, tarkentaa ja loitontaa vapaasti, jolloin kartta päivittyy dynaamisesti eikä koko sivua tarvitse ladata uudelleen. Käyttöliittymän alaosassa ovat ensin napit, joilla voidaan valita kuvaajien näyttämä aikaväli. Kuvaajien näyttämän aikavälin vaihtaminen on kuvattu käyttötapauksessa KT2 luvussa Myös kuvaajien päivittyminen tapahtuu dynaamisesti, eikä koko sivua tarvitse ladata uudelleen. Näiden nappien alapuolella ovat mittausten historiatietoja esittävät kuvaajat. Jokaiselle mitattavalle suurelle on oma kuvaajansa. Kuvaajaa voidaan suurentaa tai se voidaan tallentaa käyttäjän tietokoneelle. Nämä toiminnot on kuvattu käyttötapauksissa KT3 ja KT4 luvuissa ja

10 2. Vaatimusmäärittely 6 Kuva 2.2: Sovelluksen käyttöliittymähahmotelma.

11 7 3. SUUNNITTELU Tässä luvussa esitetään suunnitelma sovelluksen toteuttamiseksi. Järjestelmän rakenteen ja toiminnan havainnollistamiseen käytetään UML:n mukaisia kaavioita, kuten sijoittelukaaviota, luokkakaaviota ja tapahtumasekvenssikaavioita. Ensin kuvataan järjestelmän arkkitehtuuri korkealla tasolla luvussa 3.1. Sitten kuvataan järjestelmän rakenne tarkemmin luvussa 3.2. Lopuksi kuvataan järjestelmän toimintaa luvussa Sovellusarkkitehtuuri Järjestelmä käyttää asiakas-palvelin -arkkitehtuuria. Palvelimen vastuulla on tarvittavien mittaustulosten noutaminen tietokannasta, niiden käsittely ja lähettäminen asiakkaalle. Asiakkaan vastuulla on käyttöliittymän esittäminen, mittaustulosten pyytäminen palvelimelta ja niiden esittäminen käyttäjälle. Käyttöliittymä ja sen toiminnot on kuvattu vaatimusmäärittelyssä luvussa 2. Järjestelmän komponenttien sijoittelu eri laitteille on esitetty järjestelmän sijoittelukaaviossa kuvassa 3.1. Käyttöliittymä toimii asiakaskoneen selaimessa. Tietokanta ja mittaustulosten käsittelystä vastaavat komponentit toimivat palvelinkoneella. Kuva 3.1: Järjestelmän sijoittelukaavio. Järjestelmän palvelin on kerrosarkkitehtuurin mukainen. Kerrosarkkitehtuurissa

12 3. Suunnittelu 8 järjestelmän komponentit sijoitellaan eri kerroksille niiden abstraktiotason mukaan. Ylemmän kerroksen komponentit käyttävät alempien kerrosten alemman abstraktiotason komponentteja omien toimintojensa toteuttamiseen. Kerrosarkkitehtuuri jakaa järjestelmän pienempiin osiin, jotka ovat siten helpommin hallittavia. Kerrosarkkitehtuuri myös rajoittaa komponenttien välisiä riippuvuuksia. [4] Tässä järjestelmässä palvelimen rakenne koostuu kolmesta kerroksesta, jotka ovat ylhäältä alas lueteltuina palvelukerros, tiedonhakukerros ja mallikerros. Kerroksien tarkoitus ja rakenne on kuvattu tarkemmin luvussa 3.2. Järjestelmän tietokanta sijaitsee myös palvelimella. 3.2 Rakenne Palvelimen rakenne on kerrosarkkitehtuurin mukainen ja se on esitetty luokkakaaviossa kuvassa 3.2. Kerrokset ovat ylhäältä alas lueteltuina palvelukerros, tiedonhakukerros ja mallikerros. Seuraavaksi käsitellään kaikkien kerrosten tarkoitus ja rakenne aloittaen alimmalta abstraktiotasolta. Alin kerros on mallikerros. Se pitää sisällään mittauksiin liittyvän kohdealueen mallin. Siihen kuuluvat Weather-, Measurement-, ja MeasurementType-luokat. Weather-luokka kuvaa yhteen mittausjoukkoon liittyvät tiedot kuten aika, paikka ja siihen kuuluvat mittaukset. Measurement-luokka kuvaa yhteen mittaukseen liittyvät tiedot kuten mittausarvon ja mittaustyypin. MeasurementType-luokka kuvaa mittaustyypin ja siihen liittyvän suureen ja yksikön. Kaikki luokat ovat käytettävän tietokantaskeeman mukaisia ja jokaista luokkaa vastaa tietokannassa yksi taulu. Luokat ovat vain tiedon tallentamista varten, eikä niillä ole mitään toiminnallisuutta. Keskimmäinen kerros on tiedonhakukerros. Se vastaa tiedon hakemisesta tietokannasta. Tämän toiminnallisuuden toteuttaa WeatherDao-luokka (Data Access Object), joka on kerroksen ainoa luokka. Tällä luokalla on metodit mittaustyyppien hakemiseen, uusimpien mittausten hakemiseen ja mittausten hakemiseen halutulta aikaväliltä. Tämän kerroksen tarkoituksena on olla ainoa tietokantaa käsittelevä kerros, jolloin muut kerrokset eivät ole riippuvaisia tietokannasta. Tällöin tietokantaa käsittelevä koodi on keskitetty yhteen paikkaan, jolloin tämä koodi ja muutokset siihen ovat helpommin hallittavissa. Ylin kerros on palvelukerros. Se tarjoaa asiakaskomponentin vaatimat palvelut. WeatherNowService- ja WeatherHistoryService-luokat tuottavat nämä palvelut. WeatherNowService-luokka tarjoaa palvelun, jolta asiakas voi pyytää uusimmat mittaustulokset. WeatherHistoryService-luokka tarjoaa palvelun, jolta asiakas voi pyytää mittaustuloksia tietyltä aikaväliltä. Mahdollisia aikavälejä ovat vuorokausi, viikko, kuukausi ja vuosi. Lisäksi kerrokseen kuuluu Serializer-luokka, joka vastaa olioiden serialisoinnista. Oliot on serialisoitava, jotta ne voidaan lähettää teks-

13 3. Suunnittelu 9 Kuva 3.2: Palvelinohjelmiston luokkakaavio. timuodossa verkon yli asiakkaalle. WeatherNowService- ja WeatherHistoryServiceluokat käyttävät tiedonhakukerrosta mittausten hakemiseen ja Serializer-luokkaa niiden serialisointiin. Lisäksi WeatherHistoryService-luokka tekee keskiarvojen laskentaa mittauksilla, jotta verkon yli lähetettävien mittaustulosten määrää voidaan rajoittaa. Muuten mittausten lähettäminen olisi hidasta, kun haettaisiin mittauksia esimerkiksi vuoden ajalta. Asiakas koostuu kolmesta komponentista. Karttakomponentti vastaa käyttöliittymän kartan lataamisesta, alustamisesta ja toiminnasta. Grafiikkakomponentti vastaa käyttöliittymän kuvaajien piirtämisestä ja päivittämisestä. Yhteyskomponentti vastaa mittaustulosten hakemisesta palvelimelta ja niiden käsittelystä. Yhteyskomponentti pyytää mittaustulokset palvelimen tarjoamilta WeatherNowService- ja

14 3. Suunnittelu 10 WeatherHistoryService-palveluilta HTTP-pyyntöinä (HyperText Transfer Protocol). Kuvaajien päivittämiseen yhteyskomponentti käyttää grafiikkakomponenttia. 3.3 Toiminta Palvelimen tärkeimpiä toimintoja ovat uusimpien mittaustulosten hakeminen ja mittaustulosten hakeminen joltain aikaväliltä. Näihin toimintoihin liittyvien tapahtumien kulku on kuvattu tapahtumasekvenssikaavioilla kuvissa 3.3 ja 3.4. Kuva 3.3: Uusimpien mittaustulosten hakeminen palvelimelta. Uusimpien mittaustulosten hakeminen on kuvattu tapahtumasekvenssikaaviolla kuvassa 3.3. Tapahtuma alkaa siitä, kun asiakkaan yhteyskomponentti lähettää HTTP-pyynnön palvelimelle. WeatherNowService-luokka käsittelee pyynnön hakemalla ensin uusimmat mittaukset tietokannasta käyttäen WeatherDao-luokkaa. Seuraavaksi saatu vastaus serialisoidaan Serializer-luokan avulla tekstimuotoon. Sitten serialisoitu vastaus lähetetään asiakkaalle HTTP-vastauksena. Lopuksi asiakkaan yhteyskomponentti päivittää uudet mittaukset näkyviin käyttöliittymään. Tietyn aikavälin mittaustulosten hakeminen on kuvattu tapahtumasekvenssikaaviolla kuvassa 3.4. Tapahtuma alkaa siitä, kun asiakkaan yhteyskomponentti lähettää HTTP-pyynnön palvelimelle. WeatherHistoryService-luokka käsittelee pyynnön hakemalla ensin aikavälin mittaukset tietokannasta käyttäen WeatherDao-luokkaa. Jos mittauksia on liikaa kerralla lähetettäväksi, niin mittauksista lasketaan keskiarvoja lyhyemmiltä aikaväleiltä. Näin saadaan rajoitettua lähetettävien mittausten lukumäärää. Seuraavaksi saadut mittaustulokset serialisoidaan Serializer-luokan avul-

15 3. Suunnittelu 11 Kuva 3.4: Tietyn aikavälin mittaustulosten hakeminen palvelimelta. la tekstimuotoon. Sitten serialisoidut mittaustulokset lähetetään asiakkaalle HTTPvastauksena. Lopuksi asiakkaan yhteyskomponentti ja grafiikkakomponentti päivittävät uudet mittaukset näkyviin käyttöliittymän kuvaajiin.

16 12 4. TOTEUTUS Tässä luvussa kuvataan sovelluksen toteutus. Ensin esitellään työssä käytetty kehitysymparistö luvussa 4.1. Seuraavaksi esitellään työn toteutuksessa käytetyt keskeiset ratkaisut ja kirjastot luvussa 4.2. Lopuksi tutustutaan vielä tarkemmin käyttöliittymän toteutuksessa käytettyyn HTML5:een luvussa Kehitysympäristö Sovelluksen palvelinohjelmisto toteutettiin Java-ohjelmistoalustalle. Javaan kuuluu itse ohjelmointikielen lisäksi laajat luokkakirjastot ja virtuaalikone, jossa ohjelmat ajetaan. Sovelluksen kehitykseen käytettiin avoimen lähdekoodin Eclipse Helios (3.6) -kehitysympäristöä, joka sisältää koodieditorin, kääntäjän ja debuggerin. Eclipse on laajennettavissa lisäosilla, joita onkin saatavilla suuri määrä. Tässä työssä käytettiin Eclipse Web Tools Platform -lisäosaa helpottamaan sovelluksen kehittämistä. Sovelluksen käyttöliittymä toteutettiin HTML5-kuvauskielellä ja selaimessa ajettavalla JavaScript-ohjelmointikielellä. HTML5 on esitelty tarkemmin luvussa 4.3. Myös käyttöliittymän kehittämiseen käytettiin jo mainittua Eclipse-kehitysympäristöä ja erityisesti sen Web Tools Platform -lisäosaa. Käyttöliittymän testaamiseen käytettiin Mozilla Firefox -selainta ja sen Firebug-lisäosaa, joka mahdollisti suoritettavan JavaScript-koodin debuggaamisen. Palvelinohjelmistoa ajetaan Apache Tomcat 6 -palvelimessa, joka tukee Javan servlettejä ja JSP-teknologiaa (JavaServer Pages). Servletti on Java-luokka, joka käsittelee HTTP-pyyntöjä ja tuottaa HTTP-vastauksen dynaamisesti [9]. JSP-teknologia on menetelmä HTML-sivun tuottamiseen yhdistelemällä staattista sisältöä ja dynaamisesti Java-koodilla tuotettua sisältöä [6]. Ohjelmistoa voidaan ajaa ja debugata Tomcat-palvelimessa suoraan Eclipse-kehitysympäristön avulla. Jo olemassa oleva järjestelmä tallentaa mittaustulokset MySQL-relaatiotietokantaan, joten myös nyt toteutettu järjestelmä käyttää sitä. Tarvittaessa käytettävää tietokannan hallintajärjestelmää voitaisiin kuitenkin vaihtaa helposti 4.2 Toteutuksen keskeiset ratkaisut Sovelluksen näyttämät mittaustulokset haetaan relaatiotietokannasta. Nämä relaatiot muunnetaan luvussa 3.2 esitellyn mallikerroksen mukaisiksi MeasurementType-,

17 4. Toteutus 13 Weather-, ja Measurement-luokkien olioiksi. Tähän olio-relaatio muunnokseen ja tietokantahakujen suorittamiseen käytetään Hibernate-kirjaston versiota Hibernate on ORM-kirjasto (Object Relational Mapping) Java-ohjelmointikielelle. Tietokannan taulujen ja mallikerroksen luokkien väliset vastaavuudet kuvataan XML-tiedostoihin, joiden mukaan Hibernate osaa tehdä olio-relaatio muunnokset. [7] Luvussa 3.2 esiteltyyn tiedonhakukerrokseen kuuluva WeatherDao-luokka vastaa tarvittavien tietokantakyselyiden suorittamisesta. Se suorittaa tietokantakyselyt käyttäen Hibernate-kirjaston tarjoamaa rajapintaa ja tuloksena saadaan mallikerroksen mukaisia olioita. Koska suurien tietomäärien hakeminen tietokannasta ja muuntaminen olioiksi on melko hidasta, tallennetaan pitempien aikavälien mittaustulokset muistiin. Seuraavilla kerroilla tulokset ovat nopeasti saatavissa muistista. Tulokset haetaan uudelleen tietokannasta kerran vuorokaudessa, jotta saadaan aina uudetkin mittaukset mukaan tuloksiin. Palvelukerroksen WeatherNowService- ja WeatherHistoryService-luokat toteutettiin Javan servletteinä, joita käyttöliittymä käyttää HTTP-pyynnöillä. Nämä luokat hakevat tarvittavat mittaukset tietokannasta WeatherDao-luokan metodeilla. Saadut mittaukset serialisoidaan Serializer-luokan avulla JSON-muotoon (JavaScript Object Notation) ennen kuin ne lähetetään käyttöliittymälle. JSON on kevyt tekstimuotoinen tiedonsiirtomuoto, joka sopii käytettäväksi erityisesti JavaScript-ohjelmointikielen kanssa [5]. Serialisointiin Serializer-luokka käyttää Flexjson kirjastoa [1]. Käyttöliittymä toteutettiin yhtenä JSP-sivuna, joka tuottaa HTML5-dokumentin. Sen yläosan vasemmassa laidassa on tietokannasta haettujen viimeisimpien mittausten tiedot. Yläosan oikeassa laidassa on interaktiivinen kartta, johon on merkitty sääaseman sijainti. Kartta toteutettiin Google Maps JavaScript API V3 - ohjelmointirajapinnan ja siihen liittyvän JavaScript-kirjaston avulla [8]. Tämä mahdollisti helpon ja nopean tavan kartan upottamiseen sivulle. Käyttöliittymän latauksen yhteydessä suoritetaan JavaScript-koodi, joka alustaa kartan toimintakuntoon. Mittausten historiatietoja esittäviä kuvaajia varten käyttöliittymäsivulla on viisi canvas-elementtiä. Canvas-elementti on HTML5:n uusi elementti, joka tarjoaa skripteille bittikartta-alueen, jolle voidaan piirtää grafiikkaa dynaamisesti [13]. Kuvaajien piirtämiseen käytetään RGraph-kirjastoa, joka mahdollistaa erilaisten kuvaajien ja graafien helpon piirtämisen canvas-elementille. Piirtäminen tapahtuu JavaScriptohjelmointikielellä. Tässä työssä käytettiin Scatter chart -tyyppistä kuvaajaa. [3] Käyttöliittymän latauksen jälkeen ajetaan JavaScript-koodi, joka alustaa kuvaajat ja asettaa halutut asetukset. Myöhemmin kuvaajiin päivitetään palvelimelta ladatut mittaustulokset. Koska kuvaajat piirretään vasta käyttäjän selaimessa, on palvelimen rasitus selvästi pienempi. Tämä pienentää sekä tarvittavaa tiedonsiirtokapasiteettiä että laskentatehoa.

18 4. Toteutus 14 RGraph-kirjasto tukee myös kuvaajien kontekstivalikkoon lisättäviä komentoja [3]. Tässä työssä käytettiin komentoja, jotka mahdollistavat kuvaajien suurentamisen sekä tallentamisen PNG-muodossa. Näiden komentojen tarkempi toiminta on kuvattu käyttötapauksissa KT3 ja KT4 luvuissa ja Mittaustulokset ladataan käyttöliittymään AJAX-tekniikalla WeatherNowServiceja WeatherHistoryService-luokkien toteuttamilta servleteiltä HTTP-pyynnöillä. Nämä pyynnöt toteutettiin jquery-kirjaston tarjoamalla getjson()-metodilla [2]. Näin toteutettiin viimeisimpien mittausten päivittäminen käyttöliittymän yläosaan sekä mittaustulosten noutaminen ja piirtäminen kuvaajiin. Nämä toiminnot on kuvattu tarkemmin käyttötapauksissa KT1 ja KT2 luvuissa ja Kuvaajien päivittäminen tehdään tyhjentämällä canvas-elementin sisältö RGraph.Clear-funktiolla, sijoittamalla kuvaajaa vastaavaan muuttujaan uudet piirrettävät pisteet ja piirtämällä kuvaaja uudelleen Draw-funktiolla [3]. Lopputuloksena saadaan luvun 2.2 mukainen käyttöliittymä vaaditulla toiminnallisuudella. Lopullinen käyttöliittymä on esitetty kuvassa 4.1. Käyttöliittymässä on näkyvissä satunnaisesti tuotettua mittausdataa, jota käytettiin sovelluksen testaamiseen. 4.3 HTML5 HTML on standardoitu kuvauskieli, jota käytetään erityisesti webbisivujen rakenteen ja sisällön kuvaukseen. Standardin kehitys pysähtyi pitkäksi aikaa versioon 4, kun sen kehittäjä W3C (World Wide Web Consortium) keskittyi XML-pohjaisiin standardeihin. Kuitenkin vuonna 2004 Apple, Mozilla ja Opera halusivat jatkaa HTML-standardin kehitystä, joten ne aloittivat HTML5:n kehittämisen. Nämä organisaatiot perustivat kehitystyötä varten WHATWG-organisaation (Web Hypertext Application Technology Working Group). Vuonna 2007 myös W3C alkoi kehittää HTML5-standardia, joten nyt nämä kaksi organisaatiota kehittävät sitä yhteistyössä. [13] HTML5 tuo joukon uusia ominaisuuksia standardiin. Uusia elementtejä tulee esimerkiksi dokumentin rakenteen kuvaamiseen, multimedian näyttämiseen ja tiedon visualisointiin. Dokumentin rakenteeseen liittyviä uusia elementtejä ovat esimerkiksi section-, header- ja footer-elementit. Multimediaa varten lisättyjä elementtejä ovat esimerkiksi audio-, video- ja canvas-elementit. Niillä voidaan näyttää selaimessa multimediaa ilman erillisiä plugineita. Lisäksi esimerkiksi progress- ja meter-elementtejä voidaan käyttää tiedon visualisointiin. Myös joitain vanhentuneita elementtejä jätetään uuden standardin ulkopuolelle. Myös lomakkeissa voidaan käyttää monia uusia tietotyyppejä. Nämä mahdollistavat käyttäjän syöttämän tiedon tarkistamisen ennen niiden lähettämistä palvelimelle. Esimerkkejä näistä ovat -, url-, date- ja time-tietotyypit. [12] Lisäksi uusi standardi tuo mukanaan muutamia ohjelmointira-

19 4. Toteutus 15 japintoja, jotka mahdollistavat esimerkiksi videon ja äänen toiston uusien audio- ja video-elementtien kanssa. Drag & Drop API (Application Programming Interface) yhdessä draggable- ja dropzone-elementtien kanssa mahdollistaa vedä ja pudota toiminnallisuuden. [13] Tässä työssä käytettiin canvas-elementtiä kuvaajien piirtämiseen. Sillä merkitään tietyn kokoinen bittikartta-alue, jolle voidaan dynaamisesti piirtää grafiikkaa. Alueen koko valitaan halutuksi width- ja height-attribuuteilla. [13] Alueelle voidaan piirtää monipuolisen JavaScript-ohjelmointirajapinnan avulla. Tämä ohjelmointirajapinta tarjoaa metodit muun muassa suorakulmioiden, viivojen ja erilaisten käyrien piirtämiseen. Piirtää voidaan erilaisilla viivanleveyksillä, väreillä ja varjoilla. Koska piirtäminen tapahtuu JavaScript-ohjelmointikielellä, voidaan piirrettyä kuvaa muuttaa esimerkiksi käyttäjän syötteiden perusteella tai ajan kuluessa. Tämä mahdollistaa interaktiiviset sovellukset ja animaatiot. Rajapinta tukee myös piirretyn alueen muuntamista PNG-kuvaksi. [11] Koska HTML5-spesifikaatio on tällä hetkellä (helmikuussa 2011) vielä luonnosvaiheessa (Working Draft), tulee siihen vielä suuriakin muutoksia. Tästä huolimatta monet suosituimmista selaimista tukevat ainakin joitakin uusia ominaisuuksia. Kaikkien selainten HTML5-tuki on vielä hyvin puutteellista, mutta ne päivittyvät nopeasti tuoden tukea uusille elementeille ja ominaisuuksille.

20 4. Toteutus 16 Kuva 4.1: Sovelluksen käyttöliittymä.

21 17 5. YHTEENVETO Tässä kandidaatintyössä määriteltiin, suunniteltiin ja toteutettiin sääasemalle uusi selainpohjainen käyttöliittymä. Käyttöliittymälle asetettuja tavoitteita olivat muun muassa interaktiivisuus, dynaamisuus, AJAX-tekniikoiden käyttö, kuvaajien suurentaminen ja tallentaminen sekä historiakuvaajien näyttämän aikavälin valinta. Sovellus määriteltiin kuvaamalla vaadittu toiminnallisuus käyttötapauksin. Lisäksi määriteltiin käyttöliittymään kuuluvat elementit ja niiden sijainnit käyttöliittymäsivulla. Sovelluksen suunniteltu arkkitehtuuri, rakenne ja toiminta kuvattiin UML:n mukaisilla luokka-, sijoittelu- ja tapahtumasekvenssikaavioilla. Sovelluksen arkkitehtuurissa hyödynnettiin asiakas-palvelin -mallia ja kerrosarkkitehtuuria. Sovelluksen kehitystyö tehtiin Eclipse-kehitysympäristössä. Sovelluksen palvelinohjelmisto toteutettiin Javalla ja sitä ajetaan Apache Tomcat -palvelimella. Käyttöliittymän totetuksessa käytettiin HTML5-kuvauskieltä, erityisesti sen canvas-elementtiä, sekä JavaScript-ohjelmointikieltä. Lisäksi HTML5-kuvauskielen uudet ominaisuudet esiteltiin lyhyesti. Havaittiin selaimien HTML5-tuen olevan tällä hetkellä vielä puutteellinen, mutta tärkeimmät ominaisuudet, kuten canvas-elementti, ovat jo hyvin tuettuina. Sovelluksen kehittämisessä käytettiin useita kolmannen osapuolen kirjastoja, sekä palvelinohjelmistossa että käyttöliittymässä. Palvelinohjelmistojen Java-kirjastot ja -tekniikat ovat nykyään vakiintuneita, hyvin dokumentoituja ja helppokäyttöisiä. AJAX-tekniikoiden käyttö on myös nykyään helppoa, sillä monet vakiintuneet JavaScript-kirjastot helpottavat kehittämistä. Erityisesti tässä työssä käytetty jquery-kirjasto tarjoaa helppokäyttöiset funktiot AJAX-kutsujen tekemiseen. JQuery-kirjasto ottaa myös huomioon selainten erilaisuuden, jolloin kehittäjän ei tarvitse kirjoittaa koodia monelle selaimelle erikseen. HTML5:n ja canvas-elementin käyttöä helpottavia kirjastoja löytyy myös, mutta niiden suurimpina ongelmina ovat keskeneräisyys ja muuttuvat rajapinnat. Ne kyllä helpottavat huomattavasti grafiikan piirtämistä, kun kehittäjän ei tarvitse piirtää kaikkia kuvioita ja kuvaajia itse alusta lähtien. Tässä työssä kuvaajien piirtämiseen käytetty RGraph-kirjasto päivittyi sovelluksen kehitysaikana moneen kertaan saaden korjauksia ja uusia ominaisuuksia. Sillä on myös erittäin hyvä dokumentaatio, joka sisältää monia esimerkkejä kirjaston käytöstä. Määritelty ja suunniteltu sovellus toteutettiin onnistuneesti. Kaikki sovellukselle

22 5. Yhteenveto 18 asetetut tavoitteet ja vaatimukset saavutettiin ja toiminnot toteutettiin. Sovelluksen heikkoudeksi havaittiin tietokantahakujen ja mittaustulosten käsittelyn hitaus, kun mittaustuloksia haettiin pitkältä aikaväliltä. Myös sovelluksen muistinkulutus oli näissä tapauksissa melko suurta.tämä ongelma pystyttiin kuitenkin osittain kiertämään tallentamalla hitaiden tietokantahakujen tulokset muistiin, josta ne voitiin lukea seuraavilla kerroilla nopeasti. Myöskään käyttöliittymän ulkoasuun ei keskitytty juurikaan, joten se jäi melko karuksi. Siinä on aihetta jatkokehitykselle. AJAX-tekniikoiden ja HTML5:n yhteiskäytöllä saatiin käyttöliittymästä dynaaminen, nopea ja mukava käyttää. Toisaalta saatiin myös siirrettyä laskentakuormaa palvelimelta käyttäjän selaimelle, kun siirretäänkin enimmäkseen vain mittaustuloksia palvelimelta selaimeen kuvatiedostojen sijaan ja kuvaajat piirretäänkin vasta selaimessa. Täten pystytään palvelemaan suurempaa käyttäjäjoukkoa samoilla resursseilla.

23 19 LÄHTEET [1] Flexjson Documentation, Viitattu Saatavissa: flexjson.sourceforge.net/. [2] jquery Documentation, Viitattu Saatavissa: jquery.com/main_page. [3] RGraph Documentation, Viitattu Saatavissa: rgraph.net/docs/index.html. [4] Frank Buschmann, Regine Meunier, Hans Rohner, Peter Sommerlad, and Michael Stal. Pattern-Oriented Software Architecture, Volume 1: A System of Patterns. John Wiley & Sons, Chichester, UK, p. [5] Douglas Crockford. RFC4627: JavaScript Object Notation, Viitattu Saatavissa: [6] Pierre Delisle, Jan Luehe, and Mark Roth. JavaServer Pages Specification Version 2.1, Viitattu Saatavissa: communityprocess/final/jsr245/index.html. [7] Gavin King and Christian Bauer and Max Rydahl Andersen and Emmanuel Bernard and Steve Ebersole. Hibernate Reference Documentation, Viitattu Saatavissa: reference/en-us/pdf/hibernate_reference.pdf. [8] Google. Google Maps JavaScript API V3 Documentation, Viitattu Saatavissa: javascript/. [9] Rajiv Mordani. Java Servlet Specification Version 3.0, Viitattu Saatavissa: index.html. [10] Mikko Salonen. Vaisala Rosa -sääaseman etäkäyttö Telit GE863-GPS moduulin avulla. Technical report, Tampere University of Technology, [11] W3C. HTML Canvas 2D Context, Viitattu Saatavissa: http: // [12] W3C. HTML5 differences from HTML4, Viitattu Saatavissa:

24 LÄHTEET 20 [13] W3C. HTML5 Specification, Viitattu Saatavissa:

Projektinhallintaa paikkatiedon avulla

Projektinhallintaa paikkatiedon avulla Projektinhallintaa paikkatiedon avulla Tampereen Teknillinen Yliopisto / Porin laitos Teemu Kumpumäki teemu.kumpumaki@tut.fi 25.6.2015 1 Paikkatieto ja projektinhallinta Paikkatiedon käyttäminen projektinhallinnassa

Lisätiedot

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

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen

Lisätiedot

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

T-111.361 Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot T-111.361 Hypermediadokumentin laatiminen -Ohjelmointi Peruskäsitys www-ohjelmoinnin kentästä Tekniikat interaktiivisuuden toteuttamiseen tekniikat tekniikat Tietokannat Juha Laitinen TKK/TML juha.laitinen@hut.fi

Lisätiedot

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty

Lisätiedot

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

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3 Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2

Lisätiedot

582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus 582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus Sisältö Mikä on web-sovellus? Selaimen rooli web-sovelluksessa Palvelimen rooli web-sovelluksessa Aineistopyynnöt Tiedon välittäminen

Lisätiedot

Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita.

Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita. Arkkitehtuurikuvaus Käytössä olevat java-luokat: Kansio: /WEB_INF/classes/ - käännetyt luokat Kansio: /WEB_INF/src/ - lähdekoodi custom_pojos: Kurssi.java Java-luokka, jonka sisältö vastaa tietokannassa

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702)

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri (TK081702) yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

Lisätiedot

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

Järjestelmäarkkitehtuuri (TK081702) AJAX, Asynchronous JavaScript And XML. AJAX, Asynchronous JavaScript And XML Järjestelmäarkkitehtuuri (TK081702) Ajax 2000-luvun alkuvuosina selainsotien rauhoituttua ohjelmistotalot alkoivat kehittää selainten luoman uuden ohjelmointiympäristön käyttötapoja. Syntyi AJAX (Asynchronous

Lisätiedot

Tekninen suunnitelma - StatbeatMOBILE

Tekninen suunnitelma - StatbeatMOBILE Tekninen suunnitelma - StatbeatMOBILE Versio Päivämäärä Henkilö Kuvaus 1.0 13.12.2013 Pöyry Alustava rakenne ja sisältö 1.1 22.12.2013 Pöyry Lisätty tekstiä ilmoituksiin, turvallisuuteen ja sisäiseen API:in

Lisätiedot

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari JWT 2016 luento 11 to 21.4.2016 klo 14-15 Aulikki Hyrskykari PinniB 1097 1 Viime luennolla o AJAX ja JSON, harjoitustyön tehtävänanto, vierailuluento avoimesta datasta Tänään o APIt rajapinnoista yleisesti

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

Lisätiedot

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

Laajuus 5 op Luennot: 12 x 2t Harjoitukset: 7 viikkoharjoitusta harjoitusten tekemiseen saatavissa apua 2 ryhmää / harjoitus Laajuus 5 op Luennot: 12 x 2t 11.3.2014 29.4.2014 Harjoitukset: 7 viikkoharjoitusta harjoitusten tekemiseen saatavissa apua 2 ryhmää / harjoitus Lähiopetuksen jäkeen harjoitustyö ja tentti Aulikki Hyrskykari

Lisätiedot

www.solita.fi solita@solita.fi

www.solita.fi solita@solita.fi www.solita.fi solita@solita.fi JAVA-SOVELLUSTEN RAKENTAMINEN INTEGROITUUN YMPÄRISTÖÖN Jarno Peltoniemi Solita Oy 10.5.2005 Aiheet Johdanto Portaalit, portletit Oracle Portal Java-sovelluksen rakentaminen

Lisätiedot

Copyright Observis Oy All rights reserved. Observis Oy Ville Kanerva, CTO Heikki Isotalus, COO Datasta tietoa

Copyright Observis Oy All rights reserved. Observis Oy Ville Kanerva, CTO Heikki Isotalus, COO Datasta tietoa Observis Oy Ville Kanerva, CTO Heikki Isotalus, COO Datasta tietoa Platform Tuotekehityksen haasteita ja ratkaisuja Haaste: Massiivisten tietomäärien hallinta Ratkaisu: Pilvipalvelun skaalautuvuus Haaste:

Lisätiedot

Tekninen suunnitelma - StatbeatMOBILE

Tekninen suunnitelma - StatbeatMOBILE Tekninen suunnitelma - StatbeatMOBILE Versio Päivämäärä Henkilö Kuvaus 1.0 13.12.2013 Pöyry Alustava rakenne ja sisältö 1.1 22.12.2013 Pöyry Lisätty tekstiä ilmoituksiin, turvallisuuteen ja sisäiseen API:in

Lisätiedot

Koskelo-Sovellusprojekti. Vaatimusmäärittely

Koskelo-Sovellusprojekti. Vaatimusmäärittely Koskelo-Sovellusprojekti Vaatimusmäärittely Atte Pulkkis Perttu Lähdesmäki Irene Venäläinen Harri Pitkänen Versio 1.0 Julkinen 9.1.2008 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä Hyväksyjä Päivämäärä

Lisätiedot

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Tekninen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Sisällysluettelo 1. Johdanto...4 1.1. Tarkoitus ja kattavuus...4 1.2. Tuote ja ympäristö...4 1.3. Määritelmät,

Lisätiedot

KIURU Tietotekniikan sovellusprojekti

KIURU Tietotekniikan sovellusprojekti KIURU Tietotekniikan sovellusprojekti Toni Hilpinen Marko Koivuniemi Jussi Mäkinen Miika Nurminen DOKUMENTIN NIMI dd.mm.yyyy Jyväskylän yliopisto Tietotekniikan laitos Kiuru-projektin tietoja Tekijät:

Lisätiedot

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä www.niksula.cs.hut.fi/~jjkankaa// Demosovelluksen tekninen määrittely v. 0.6 Päivitetty 11.12.2000 klo 20:26 Mickey Shroff 2 (12) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite

Lisätiedot

Action Request System

Action Request System Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet

Lisätiedot

Valppaan asennus- ja käyttöohje

Valppaan asennus- ja käyttöohje Versio Päiväys Muokkaaja Kuvaus 0.9 16.2.2006 Tuukka Laakso Korjattu versio 0.1 Antti Kettunen Alustava versio Sisällysluettelo 1 Johdanto...2 2 Valppaan asennus...3 2.1 Valppaan kääntäminen...3 2.2 Valmiiksi

Lisätiedot

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa WWW ja tietokannat WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa tekstiä, kuvia, hyperlinkkejä Staattiset sivut kirjoitettu kerran, muuttaminen käsin ongelmana pysyminen ajantasalla Ylläpito hankalaa,

Lisätiedot

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

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012 KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012 SISÄLLYS 1 JOHDANTO 3 2 WWW-PALVELIMEN TOIMINTA 4 3 OMINAISUUDET

Lisätiedot

Projektityö: Mobiiliajopäiväkirja. Mikko Suomalainen

Projektityö: Mobiiliajopäiväkirja. Mikko Suomalainen Projektityö: Mobiiliajopäiväkirja Mikko Suomalainen 1. Määritelmä Mobiiliajopäiväkirja on kännyköille suunnattu ajopäiväkirja-sovellus. Sovelluksen pääperiaate on toimia automaattisena ajopäiväkirjana.

Lisätiedot

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

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy IBM Collaboration Forum ٨.٣.٢٠١١ XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy ٢٠١١ IBM Corporation Domino-sovelluskehitys Nopea kehitysympäristö (Rapid application development,

Lisätiedot

Harjoitustyö 3: Verkkosivujen toiminnallisuus (JavaScript)

Harjoitustyö 3: Verkkosivujen toiminnallisuus (JavaScript) Harjoitustyö 3: Verkkosivujen toiminnallisuus (JavaScript) Kurssin toisessa harjoitustyössä tutustutaan verkkosivujen toiminnallisuuden toteuttamiseen JavaScript:n avulla. Lisäksi käydään läpi verkkosivuston

Lisätiedot

HTML5 video, audio, canvas. Mirja Jaakkola

HTML5 video, audio, canvas. Mirja Jaakkola HTML5 video, audio, canvas Mirja Jaakkola Video webbisivulla HTML5 mahdollistaa videon lisäämisen webbi-sivuille ilman plugineja. Yleisimmät videoformaatit webissä: Mpeg-4 eli H.264 Ogg Flash Perustuu

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 12.4.2010 T-106.1208 Ohjelmoinnin perusteet Y 12.4.2010 1 / 34 Graafiset käyttöliittymät Tähän asti kirjoitetuissa ohjelmissa on ollut tekstipohjainen käyttöliittymä.

Lisätiedot

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

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti5004000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 4.6.2007,

Lisätiedot

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus: Dokumentaatio, osa 1 Tehtävämäärittely Kirjoitetaan lyhyt kuvaus toteutettavasta ohjelmasta. Kuvaus tarkentuu myöhemmin, aluksi dokumentoidaan vain ideat, joiden pohjalta työtä lähdetään tekemään. Kuvaus

Lisätiedot

Lohtu-projekti. Testaussuunnitelma

Lohtu-projekti. Testaussuunnitelma Lohtu-projekti Testaussuunnitelma Versiohistoria: 1.0 19.2.2003 1. versio Mari 1.1 20.2.2003 Muutoksia Mari 1.2 25.2.2003 Katselmoinnissa esiin tulleet Mari muutokset 1.3 17.3.2003 2. syklissä tehtävät

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 1.0 19.10.2007 Suanto 0.3 18.10.2007 Matti Eerola 0.2 17.10.2007

Lisätiedot

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Teknillinen korkeakoulu 51 Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Versio Päiväys Tekijä Kuvaus 0.1 21.11.01 Oskari Pirttikoski Ensimmäinen versio 0.2 27.11.01 Oskari Pirttikoski Lisätty termit

Lisätiedot

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely Lyhyt UML-opas UML -pikaesittely UML, Unified Modeling Language Standardoitu, yleiskäyttöinen mallinnuskieli, jota ylläpitää/hallitsee (Object Management Group) OMG Historiaa: 90-luvulla oli paljon kilpailevia

Lisätiedot

käyttötapaukset mod. testaus

käyttötapaukset mod. testaus käyttötapaukset Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Kartta hyväksyntä määrittely suunnittelu suunnittelu mod. testaus integrointi sys. testaus Ylläpito koodaus (toteutus)

Lisätiedot

Tavallisen videomainoksen sijasta Ruudussa voidaan mainostauolla esittää dynaamisia spotteja.

Tavallisen videomainoksen sijasta Ruudussa voidaan mainostauolla esittää dynaamisia spotteja. RUUTU DYNAAMINEN SPOTTI TEKNISET OHJEET Versio 1.0 Yleistä Tavallisen videomainoksen sijasta Ruudussa voidaan mainostauolla esittää dynaamisia spotteja. Dynaamiset spotit ovat flash mainoksia, jotka mahdollistavat

Lisätiedot

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, mallintaminen ja UML 582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti

Lisätiedot

HTTP-välityspalvelimen käyttö tapahtumien keräämiseen

HTTP-välityspalvelimen käyttö tapahtumien keräämiseen HTTP-välityspalvelimen käyttö tapahtumien keräämiseen Tero Tähtinen Teknillinen korkeakoulu Tietoliikenneohjelmistojen ja multimedian laboratorio Diplomityöesitelmä 29.11.2004 1 Johdanto Diplomityössä

Lisätiedot

Interfacing Product Data Management System

Interfacing Product Data Management System Interfacing Product Data Management System Tekijä: Työn valvoja: Mats Kuivalainen Timo Korhonen Esitelmän sisältö Työn suorituspaikka - Ideal Product Data Oy Käsitteitä Työn tavoitteet Työn tulokset 1/5

Lisätiedot

Arkkitehtuuri. Ylätason sovellusarkkitehtuuri

Arkkitehtuuri. Ylätason sovellusarkkitehtuuri Arkkitehtuuri Termieditorin käyttö vaatii kirjautumisen. Peruskäyttäjälle myönnetään erikseen aineistokohtaisia luku- ja muokkausoikeuksia. Järjestelmän ylläpitäjä (admin) saa ylläpitää kaikkia aineistoja.

Lisätiedot

Käyttöohje. Ticket Inspector. Versio 1.0. Sportum Oy

Käyttöohje. Ticket Inspector. Versio 1.0. Sportum Oy Käyttöohje Ticket Inspector Versio 1.0 Sportum Oy 10.5.2017 Sivu 1 Sisällysluettelo 1. Yleistä... 2 2. Kirjautuminen ensimmäisellä kerralla / PIN-koodin unohtuessa... 3 3. Tunnistautuminen... 4 4. Päänäkymä...

Lisätiedot

Loppuraportti. Virtuaali-Frami, CAVE-ohjelmisto. Harri Mähönen projektiassistentti Seinäjoen ammattikorkeakoulu. Versio

Loppuraportti. Virtuaali-Frami, CAVE-ohjelmisto. Harri Mähönen projektiassistentti Seinäjoen ammattikorkeakoulu. Versio 1 Loppuraportti Virtuaali-Frami, CAVE-ohjelmisto Harri Mähönen projektiassistentti Seinäjoen ammattikorkeakoulu Versio 1.0 15.1.2006 2 Sisällys Tiivistelmä... 3 1 Johdanto... 4 1.1 Dokumentin tarkoitus...

Lisätiedot

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

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 HOJ Haja-aiheita Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)

Lisätiedot

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ylläpitodokumentti Boa Open Access Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari

Lisätiedot

ETÄTERMINAALIYHTEYS SELAIMELLA

ETÄTERMINAALIYHTEYS SELAIMELLA Opinnäytetyö (AMK) Tietotekniikan koulutusohjelma Sulautetut ohjelmistot 2017 Akseli Aarnio ETÄTERMINAALIYHTEYS SELAIMELLA OPINNÄYTETYÖ (AMK) TIIVISTELMÄ TURUN AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma

Lisätiedot

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012 Tiedostot Uudet ominaisuudet: - Ei Tiedostot-kohtaa alueen sisällä, vaan tiedostonvalitsin, jolla tiedostot tuodaan alueelle siihen kohtaan missä ne näytetään - Firefox-selaimella voi työpöydältä raahata

Lisätiedot

Dokumentin nimi LOGO:) Tampereen teknillinen yliopisto. Ryhmä XXX: Projektiryhmän nimi Projektin nimi

Dokumentin nimi LOGO:) Tampereen teknillinen yliopisto. Ryhmä XXX: Projektiryhmän nimi Projektin nimi Tampereen teknillinen yliopisto Ohjelmistotekniikan laitos OHJ-3500 Ohjelmistotuotannon projektityö LOGO:) Ryhmä XXX: Projektiryhmän nimi Projektin nimi Dokumentin nimi Jakelu: (Ryhmä) (Kurssihenkilökunta)

Lisätiedot

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

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat Järjestelmäarkkitehtuuri (TK081702) SOA yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,

Lisätiedot

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

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 30.3.2008,

Lisätiedot

CTRL+F Android-sovellus

CTRL+F Android-sovellus CTRL+F Android-sovellus Vili-Robert Hietala Opinnäytteen raportointi Sähköosasto Toukokuu 2015 KUVAILULEHTI 14.04.2015 Tekijä(t) Vili-Robert Hietala Työn laji Opinnäytteen raportointi Sivumäärä 7 Luottamuksellisuus

Lisätiedot

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä

Lisätiedot

opiskelun suunnittelujärjestelmä, kurki ja ilmo käyttävät kaikki samaa tietokantaa, ja uusi järjestelmä tulee osaksi tätä.

opiskelun suunnittelujärjestelmä, kurki ja ilmo käyttävät kaikki samaa tietokantaa, ja uusi järjestelmä tulee osaksi tätä. 25.1.2010 Palaverin kysymyksien selvittelymuistio Mitä ominaisuuksia halutaan? Sopivat ajat sprinttien jälkeisiin demoihin/palavereihin. - mitkä ajat sopivat? Pekka : pe 12-16 Tommi : pe 8-16 Onko ohjelmointikielen

Lisätiedot

JS-kehitys - yleiskuvaus. TIEA255 - Juho Vepsäläinen

JS-kehitys - yleiskuvaus. TIEA255 - Juho Vepsäläinen JS-kehitys - yleiskuvaus TIEA255 - Juho Vepsäläinen Taustaa Basic, Pascal, C (PC, AVR), Java, Object Pascal (Delphi), PHP, Python, Lua, AS2, C++ (Qt) JavaScript,... Avoimen lähdekoodin proj. kehitystä

Lisätiedot

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

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36 !!!!! Relaatiotietokannat ovat vallanneet markkinat tietokantojen osalta. Flat file on jäänyt siinä kehityksessä jalkoihin. Mutta sillä on kuitenkin tiettyjä etuja, joten ei se ole täysin kuollut. Flat

Lisätiedot

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

WWW-Sivustojen suunnittelu. Miten WWW toimii. Suunnittelun lähtökohdat 14.10.2010 WWW-Sivustojen suunnittelu Miten WWW toimii Web-selain hakee Web-sivun HTML-kielisen kuvauksen Sivuun liittyvät kuvat (jpeg, gif, png) Sivuun liittyvät muut elementit Palvelimen URL-osoite esim. http://www.metropolia.fi

Lisätiedot

WWW-Sivustojen suunnittelu

WWW-Sivustojen suunnittelu WWW-Sivustojen suunnittelu Miten WWW toimii Web-selain hakee Web-sivun HTML-kielisen kuvauksen Sivuun liittyvät kuvat (jpeg, gif, png) Sivuun liittyvät muut elementit Palvelimen URL-osoite esim. http://www.metropolia.fi

Lisätiedot

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245 Android ohjelmointi Mobiiliohjelmointi 2-3T5245 Mikä on Android? Linux kernelin päälle rakennettu, Googlen kehittämä sovelluspino mobiilisovelluksiin Erillinen versio puhelimelle ja taulutietokoneille

Lisätiedot

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Vaatimusmäärittely Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Versio Päiväys Tekijä Kuvaus 0.1 12.10.01 Pekka Koskinen Ensimmäinen luonnos 0.2 17.10.01 Pekka Koskinen Lisätty vaatimuksia

Lisätiedot

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT KOULUTUKSEN KOHDERYHMÄ SISÄLTÖ Koulutuksen tavoitteena on antaa opiskelijalle valmiudet uusien tietoteknisten menetelmien ja välineiden hyödyntämiseen.

Lisätiedot

JWT 2017 luento 10. to klo Aulikki Hyrskykari. PinniB Aulikki Hyrskykari

JWT 2017 luento 10. to klo Aulikki Hyrskykari. PinniB Aulikki Hyrskykari JWT 2017 luento 10 to 20.4.2016 klo 12-14 Aulikki Hyrskykari PinniB 1096 1 Viime luennolla o Funktiot JavaScriptissä, callback, IIFE, sulkeumat ja Module pattern Tänään o AJAX (Asynchronous JavaScript

Lisätiedot

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia. MagicDraw-pikaohje Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia. Alkuvalmistelut Windows (sali TC205) 1) Kirjaudu sisään TTY:n intra-tunnuksella.

Lisätiedot

Käyttöohje. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Käyttöohje. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Käyttöohje KotKot Helsinki 14.12.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 + 1 op) Projektiryhmä Tuomas Puikkonen Matti

Lisätiedot

SUOMEN KUNTALIITTO RY

SUOMEN KUNTALIITTO RY Karttaliittymä Versio: 18.10.2011 Julkaistu: 27.10.2011 Voimassaoloaika: Toistaiseksi Sisällys 1 Johdanto... 2 1.1 Suosituksen tausta... 2 1.2 Suosituksen rakenne... 2 2 Soveltamisala... 2 3 Lyhenteet...

Lisätiedot

Testausautomaation mahdollisuudet käyttöliittymän testauksessa. Anssi Pekkarinen 5.11.2015

Testausautomaation mahdollisuudet käyttöliittymän testauksessa. Anssi Pekkarinen 5.11.2015 Testausautomaation mahdollisuudet käyttöliittymän testauksessa Anssi Pekkarinen 5.11.2015 Agenda Kustannustehokkaan testausautomaation tekemiseen vaikuttavat tekijät Käyttöliittymätestauksen haasteet Uudet

Lisätiedot

TIE Principles of Programming Languages CEYLON

TIE Principles of Programming Languages CEYLON TIE-20306 Principles of Programming Languages CEYLON SISÄLLYSLUETTELO 1. YLEISTIETOA KIELESTÄ JA SEN KEHITTÄMISESTÄ... 1 2. CEYLONIN OMINAISUUKSIA... 2 2.1 Modulaarisuus... 2 2.2 Tyypit... 2 2.3 Muita

Lisätiedot

Sivuston nopeus. Tiivistämällä resursseja gzip- tai deflate-koodilla voit vähentää verkon kautta lähetettävien tavujen määrää.

Sivuston nopeus. Tiivistämällä resursseja gzip- tai deflate-koodilla voit vähentää verkon kautta lähetettävien tavujen määrää. Sivuston nopeus Mobiili 80 / 100 Nopeus Pitäisi korjata: Ota pakkaus käyttöön Tiivistämällä resursseja gzip- tai deflate-koodilla voit vähentää verkon kautta lähetettävien tavujen määrää. Pienennä seuraavien

Lisätiedot

VAATIMUSMÄÄRITTELY. Polku http://code.google.com/p/polku-projekti/ Versio 1.2. Projektiryhmä

VAATIMUSMÄÄRITTELY. Polku http://code.google.com/p/polku-projekti/ Versio 1.2. Projektiryhmä VAATIMUSMÄÄRITTELY Polku http://code.google.com/p/polku-projekti/ Versio 1.2 Projektiryhmä Janne Pihlajaniemi Antti Jämsén Maria Hartikainen Pekka Kallioniemi Jorma Laajamäki Panu Tunttunen Nina Tyni Joonas

Lisätiedot

ILMAINEN KARTTATIETO

ILMAINEN KARTTATIETO ILMAINEN KARTTATIETO MIKÄ ON MUUTTUNUT? Täydellinen vallankumous tietojen vapautumisessa GPS alkuna TIETOJA LÖYTYY PALJON: EROJA SIINÄ, MITEN TIETOA KÄYTETÄÄN. PELKÄSTÄÄN REITTIHAKUUN JA PAIKKOJEN ETSINTÄÄN

Lisätiedot

Sivuston nopeus. Tiivistämällä resursseja gzip- tai deflate-koodilla voit vähentää verkon kautta lähetettävien tavujen määrää.

Sivuston nopeus. Tiivistämällä resursseja gzip- tai deflate-koodilla voit vähentää verkon kautta lähetettävien tavujen määrää. Sivuston nopeus 40 / 100 Nopeus Pitäisi korjata: Ota pakkaus käyttöön Tiivistämällä resursseja gzip- tai deflate-koodilla voit vähentää verkon kautta lähetettävien tavujen määrää. Pienennä seuraavien resurssien

Lisätiedot

Datanhaku www-käyttöliittymästä Mikko Parviainen, Ilmatieteen laitos / tietojärjestelmät mikko.parviainen@fmi.fi

Datanhaku www-käyttöliittymästä Mikko Parviainen, Ilmatieteen laitos / tietojärjestelmät mikko.parviainen@fmi.fi Helsinki Testbed tutkijankäyttöliittymä Datanhaku www-käyttöliittymästä Mikko Parviainen, Ilmatieteen laitos / tietojärjestelmät mikko.parviainen@fmi.fi 7.4.2006 Taustaa Helsinki Testbed on Ilmatieteen

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

Taustaa. CGI-ohjelmointi

Taustaa. CGI-ohjelmointi Taustaa CGI-ohjelmointi CGI = Common Gateway Interface Hyvin yksinkertainen ja helppo tapa toteuttaa dynaamisuutta ja interaktivisuutta htmldokumentteihin Kehitetty tiedon siirtoon palvelimen ja asiakasselaimen

Lisätiedot

ARVO - verkkomateriaalien arviointiin

ARVO - verkkomateriaalien arviointiin ARVO - verkkomateriaalien arviointiin Arvioitava kohde: Jenni Rikala: Aloittavan yrityksen suunnittelu, Arvioija: Heli Viinikainen, Arviointipäivämäärä: 12.3.2010 Osa-alue 7/8: Tekninen toteutus Edellinen

Lisätiedot

Helsinki Testbedin säätuotteet tänään ja tulevaisuudessa

Helsinki Testbedin säätuotteet tänään ja tulevaisuudessa Helsinki Testbedin säätuotteet tänään ja tulevaisuudessa Helsinki Testbed Workshop 6.4.2006 Pekka Keränen 06.04.06 Johdanto Projektin www-sivusto http://testbed.fmi.fi Säätuotteet julkisiksi MM-kisoihin,

Lisätiedot

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

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri Järjestelmäarkkitehtuuri (TK081702) ja Järjestelmäarkkitehtuuri Sovellukset ovat olemassa Järjestelmien uudistaminen vie yleensä arvioitua enemmän resursseja ja kestää arvioitua kauemmin Migration (Migraatio

Lisätiedot

Dart. Ryhmä 38. Ville Tahvanainen. Juha Häkli

Dart. Ryhmä 38. Ville Tahvanainen. Juha Häkli Dart Ryhmä 38 Ville Tahvanainen Juha Häkli 1.LYHYESTI Dart on luokkapohjainen, yksiperintäinen, puhdas olio-ohjelmointikieli. Dart on dynaamisesti tyypitetty. Sovellukset on organisoitu modulaarisiksi

Lisätiedot

Epooqin perusominaisuudet

Epooqin perusominaisuudet Epooqin perusominaisuudet Huom! Epooqia käytettäessä on suositeltavaa käyttää Firefox -selainta. Chrome toimii myös, mutta eräissä asioissa, kuten äänittämisessä, voi esiintyä ongelmia. Internet Exploreria

Lisätiedot

Kirjaudu sisään palveluun klikkaamalla Omat kartat -painiketta.

Kirjaudu sisään palveluun klikkaamalla Omat kartat -painiketta. Kirjaudu sisään palveluun klikkaamalla Omat kartat -painiketta. Sisäänkirjauduttuasi näet palvelun etusivulla helppokäyttöisen hallintapaneelin. Vasemmassa reunassa on esillä viimeisimmät tehdyt muutokset

Lisätiedot

DXL Library ja DXL-kielen olemus. Pekka Mäkinen Pekka.Makinen@softqa.fi SoftQA Oy http/www.softqa.fi/

DXL Library ja DXL-kielen olemus. Pekka Mäkinen Pekka.Makinen@softqa.fi SoftQA Oy http/www.softqa.fi/ DXL Library ja DXL-kielen olemus Pekka Mäkinen Pekka.Makinen@softqa.fi SoftQA Oy http/www.softqa.fi/ DOORS extension Language DXL on DOORSin laajennuskieli, jolla voidaan kehittää lisätoiminnallisuutta.

Lisätiedot

Sivuston nopeus. Poista hahmonnuksen estävä JavaScript ja CSS sivun yläosan sisällöstä

Sivuston nopeus. Poista hahmonnuksen estävä JavaScript ja CSS sivun yläosan sisällöstä Sivuston nopeus Mobiili 54 / 100 Nopeus Pitäisi korjata: Poista hahmonnuksen estävä JavaScript ja CSS sivun yläosan sisällöstä Sivullasi on 8 estävää ohjelmaresurssia ja 9 estävää CSS-resurssia. Tämä viivästyttää

Lisätiedot

Sivuston nopeus. Sivullasi on 2 uudelleenohjausta. Uudelleenohjaukset viivästyttävät sivun lataamista.

Sivuston nopeus. Sivullasi on 2 uudelleenohjausta. Uudelleenohjaukset viivästyttävät sivun lataamista. Sivuston nopeus Mobiili 56 / 100 Nopeus Pitäisi korjata: Älä käytä aloitussivun uudelleenohjauksia Sivullasi on 2 uudelleenohjausta. Uudelleenohjaukset viivästyttävät sivun lataamista. Vältä aloitussivun

Lisätiedot

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin TEKNILLINEN KORKEAKOULU / VAASAN YLIOPISTO Diplomityöesitelmä Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin Timo Ahola 2006 Web sovellus Web palvelut joiden avulla laite voidaan liittää

Lisätiedot

Alkuun HTML5 peliohjelmoinnissa

Alkuun HTML5 peliohjelmoinnissa Paavo Räisänen Alkuun HTML5 peliohjelmoinnissa www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida ja levittää ei kaupallisissa tarkoituksissa. Sisällysluettelo 1: Alkusanat 2: Alkuun 3: Pelinäkymä

Lisätiedot

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat Linux rakenne Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat Linux ydin Ytimen (kernel) päätehtävä on tarjota rajapinta

Lisätiedot

Sivuston nopeus. Poista hahmonnuksen estävä JavaScript ja CSS sivun yläosan sisällöstä

Sivuston nopeus. Poista hahmonnuksen estävä JavaScript ja CSS sivun yläosan sisällöstä Sivuston nopeus 66 / 100 Nopeus Pitäisi korjata: Poista hahmonnuksen estävä JavaScript ja CSS sivun yläosan sisällöstä Sivullasi on 2 estävää ohjelmaresurssia ja 1 estävää CSS-resurssia. Tämä viivästyttää

Lisätiedot

Visual Case 2. Miika Kasnio (C9767) 23.4.2008

Visual Case 2. Miika Kasnio (C9767) 23.4.2008 Visual Case 2 Miika Kasnio (C9767) 23.4.2008 Työn tarkasti: Jouni Huotari 24.4.2008 1 SISÄLTÖ 1. TYÖN LÄHTÖKOHDAT... 2 2. PERUSTIEDOT... 2 3. ASENTAMINEN... 2 4. OMINAISUUDET... 3 4.1. UML-kaaviot... 4

Lisätiedot

VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu

VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu HAAGA HELIA/IltaTiko ICT2TD005: Ohjelmisto suunnittelutaito 1 VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu Tämä pikaopas opastaa käyttämään VisualStudion web sivujen suunnittelu ja toteutusominaisuuksia.

Lisätiedot

Tapahtumakalenteri & Jäsentietojärjestelmä Toteutus

Tapahtumakalenteri & Jäsentietojärjestelmä Toteutus Tapahtumakalenteri & Jäsentietojärjestelmä Toteutus Henri Kinnunen, Seppo Tompuri, Tero Malkki, Matti Heiskanen, Tommi Rönkönharju, Tuomas Valkeapää Sisällysluettelo 1. Alkusanat...2 2. Käyttötapaukset...2

Lisätiedot

Sivuston nopeus. Poista hahmonnuksen estävä JavaScript ja CSS sivun yläosan sisällöstä

Sivuston nopeus. Poista hahmonnuksen estävä JavaScript ja CSS sivun yläosan sisällöstä Sivuston nopeus Mobiili 66 / 100 Nopeus Pitäisi korjata: Poista hahmonnuksen estävä JavaScript ja CSS sivun yläosan sisällöstä Sivullasi on 2 estävää ohjelmaresurssia ja 2 estävää CSS-resurssia. Tämä viivästyttää

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

10 Nykyaikainen WWW-arkkitehtuuri

10 Nykyaikainen WWW-arkkitehtuuri 10 Nykyaikainen WWW-arkkitehtuuri è è è 10 Nykyaikainen WWW-arkkitehtuuri WWW on ylivoimaisesti suosituin hypertekstijärjestelmä. Käydään seuraavaksi läpi nykyaikaisen WWW-arkkitehtuurin perusteet. Vuonna

Lisätiedot

L models. Tekninen määrittely. Ryhmä Rajoitteiset

L models. Tekninen määrittely. Ryhmä Rajoitteiset Teknillinen Korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Tekninen määrittely Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset

Lisätiedot

Verkkopalveluiden saavutettavuus

Verkkopalveluiden saavutettavuus Verkkopalveluiden saavutettavuus Puhuja: Ossi Nykänen Tampereen teknillinen yliopisto, Hypermedialaboratorio, W3C Suomen toimisto Paikka: Helsinki, Tieteiden talo, 24.3.2011 Johdanto Verkkopalvelun saavutettavuus

Lisätiedot

Web-palveluiden toteutus älykortille

Web-palveluiden toteutus älykortille älykortille Jukka Hänninen Valvoja: Prof. Raimo Kantola Ohjaaja: DI Kaj Höglund, Elisa Oyj Sisältö Työn tausta Standardointi Älykortin web-palvelin Toteutus Hyödyt ja mahdollisuudet Kohdatut ongelmat Lopputulos

Lisätiedot

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

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

Lisätiedot

Testidatan generointi

Testidatan generointi Testidatan generointi Anu Ahonen Kevät 2008 Tämä työ on tehty Creative Commons -lisenssin alla Työn tarkasti 9.4.2008 Jouni Huotari (JAMK/IT) 1 SISÄLTÖ 1 TYÖN LÄHTÖKOHDAT JA TOTEUTUS...2 2 TESTIDATAN GENEROINTI

Lisätiedot

Sivuston nopeus. Poista hahmonnuksen estävä JavaScript ja CSS sivun yläosan sisällöstä

Sivuston nopeus. Poista hahmonnuksen estävä JavaScript ja CSS sivun yläosan sisällöstä Sivuston nopeus 69 / 100 Nopeus Pitäisi korjata: Poista hahmonnuksen estävä JavaScript ja CSS sivun yläosan sisällöstä Sivullasi on 11 estävää ohjelmaresurssia ja 7 estävää CSS-resurssia. Tämä viivästyttää

Lisätiedot