Veijo Vainionpää. Näkökohtia tehokkaan web-sovelluksen suunnitteluun

Koko: px
Aloita esitys sivulta:

Download "Veijo Vainionpää. Näkökohtia tehokkaan web-sovelluksen suunnitteluun"

Transkriptio

1 Näkökohtia tehokkaan web-sovelluksen suunnitteluun Veijo Vainionpää HELSINGIN AMMATTIKORKEAKOULU STADIAN JULKAISUJA SARJA C: OPINNÄYTETYÖT 5

2 Veijo Vainionpää Näkökohtia tehokkaan web-sovelluksen suunnitteluun Helsingin ammattikorkeakoulu Stadian julkaisuja Sarja C: Opinnäytetyöt

3 Julkaisija Helsingin ammattikorkeakoulu Stadia ISBN ISSN

4 Sisällys 1 Johdanto Internet ja verkkopalvelut Staattiset sivut Dynaamiset sivut Käytettävyys WWW-palvelut Verkkopalvelujen tulevaisuus WWW-sovellusten arkkitehtuurit Web-sovellusten vaatimukset CGI-arkkitehtuuri FastCGI-arkkitehtuuri mod_perl Apache-laajennus Palvelinlaajennusrajapinnat ASP-arkkitehtuuri ASP.NET-arkkitehtuuri PHP-teknologia Java Servlets -arkkitehtuuri JavaServer Pages -teknologia Toteutusarkkitehtuurien yhteenveto J2EE-arkkitehtuuri Hajautetut monitasoiset sovellukset Sovelluskomponentit Web-asiakastaso Java-papu -komponenttiarkkitehtuuri Web-sovelluskomponentit Enterprise Java-pavut Istuntopavut Tietopavut EJB:n suorituskyky... 42

5 4 5 Java Servlet -arkkitehtuuri Servlettien elinkaari Servlettien konfigurointi Tapahtumakuuntelijat Virheiden hallinta Tietojen jakaminen Näkyvyysalueet Samanaikaisuuden hallinta HTTP-servletit Palvelupyyntö Palvelupyynnön parametrien käsittely Palvelupyynnön attribuuttien käsittely Palvelupyyntöön sisältyvän tiedon käsittely Vastaus Tulostusvirta MIME-tyyppi HTTP-vastausten otsikkotiedot Suodattimet Suodattimien luonti Servletin palvelupyynnön tai vastauksen muokkaus Web-sovellusten ja -resurssien väliset kutsut RequestDispatcher-olion luonti Sisällyttäminen Siirtäminen Servlettisäiliön käsittely Servlettisäiliön alustusparametrit Servlettisäiliön attribuuttien käsittely Lokitiedostoon kirjoittaminen Servlettisäiliönkuuntelija Tiedostojen lukeminen Asiakkaan tilan ylläpitäminen URL-uudelleenkirjoitus... 61

6 Lomakkeiden piilokentät Evästeet Istunto Istunnon attribuuttien käsittely Tietokannan käyttö JDBC-ajurit Ajurin lataaminen Tietokantayhteyden luonti DataSource-rajapinta Lause Valmisteltu lause Tulosjoukko Samanaikaisuuden hallinta tietokantojen kanssa Tietokantaresurssien sulkeminen Käyttäjätunnistus Käyttäjätunnusten ja roolien luonti (Tomcat) Käyttäjätunnistuksen määrittely servletteihin HTTP basic käyttäjätunnistus HTTP digest käyttäjätunnistus Lomakepohjainen käyttäjätunnistus Java servlettien parhaat ratkaisut Merkkijonon ja StringBuffer-luokan vertailua init-metodi välimuistina Istuntojen hallinta Asetustiedostojen käyttö Vakiomuuttujien määrittely omaan luokkaan Virheenjäljitysvihjeitä Tietokantaresurssien optimointi Lauseen ja valmistellun lauseen vertailua SQL-kyselyiden optimointi ResultSet-rajapinnan optimaalinen käyttö DatabaseMetaDatan raskaat metodit... 84

7 Yhteysallas JDBC-ODBC-sillan ja tietokantakohtaisen JDBC-ajurin vertailua Tietokantaresurssien kierrättäminen Yhteenveto Lähteet Liite: web.xml-tiedosto

8 7 1 Johdanto Web-sovellusten tarve verkkopalvelujen perustana kasvaa, sillä Internetin käytön ja laajakaistayhteyksien yleistyminen ovat parantaneet verkko-palvelujen saatavuutta ja niiden mahdollisuuksia. Vaikka Internet tuli suurin yleisön tietouteen 1990-luvun puolivälissä, vasta 2000-luvulla verkkopalvelujen mahdollisuuksia on opittu hyödyntämään oikein. Toisaalta verkkopalvelujen käytettävyyteen on vaikuttanut oleellisesti myös yhteysnopeuksien kasvaminen, kun modeemiyhteyksistä on siirrytty laajakaistayhteyksiin. Yritykset ja yhteisöt ovat kehittäneet verkkopalvelujaan vastaamaan markkinoinnista, asiakaspalvelusta sekä viestinnästä. Yhteistä verkkopalvelujen kehitykselle on vuoro-vaikutteisuuden lisääntyminen, jota staattisten sivujen avulla ei voida toteuttaa. Tästä syystä suurin osa uusista verkkopalveluprojekteista toteutetaan web-sovellusten avulla. [6; 18.] Internet ja World Wide Web ovat tuoneet perinteiseen sovellussuunnitteluun uusia ominaispiirteitä ja vaatimuksia, jotka on otettava huomioon web-sovelluksia suunniteltaessa. Nämä ominaispiirteet ja vaatimukset ovat syntyneet tarpeista kuten olemassa olleista ja olevista puutteista ja ongelmista. [1, s.9; 2, s ] Tässä insinööri-työssä selvitetään taustat web-sovellussuunnittelun ominaispiirteisiin ja vaatimuksiin vaikuttaneista ja vaikuttavista tekijöistä sekä esitellään web-sovellussuunnittelun vaatimukset. Web-sovellussuunnitteluun liittyy oleellisesti myös toteutus-arkkitehtuurin valinta. Web-sovellusten tekemiseen tarkoitettuja arkkiteh-tuureja on tarjolla useita ja ohjelmoija joutuu usein tekemään päätöksen käytettävästä arkkitehtuurista itse. Tässä työssä etsitään parasta web-sovellusten toteutusarkkitehtuuria. Tutkimus tehdään kirjallisuuden, teknisten tietojen sekä tehtyjen suorituskyky- ja skaalautuvuusvertailujen avulla siten, että kaikkien toteutusarkkitehtuurien soveltuvuutta vaatimuksiin arvioidaan lähteiden avulla kriittisesti. Toteutus-arkkitehtuurit pyritään myös kuvaamaan pintapuolisesti. Laajakaistayhteyksien yleistyminen on poistamassa sivun-latautumisesta johtuvan viiveen, joten tulevaisuudessa www-sivun vasteaika syntyy yksinomaan web-sovellusten vasteajasta eli sivun prosessointiin kuluvasta ajasta. Koska toteutusarkkitehtuurilla on suuri merkitys suorituskykyyn, valitaan suorituskyky tärkeimmäksi kriteeriksi parhainta toteutusarkkitehtuuria valittaessa. [6; 2, s , ] Lisäksi työssä selitetään valittu ratkaisuarkkitehtuuri perinpohjaisesti sekä esitellään valitun ratkaisuarkkitehtuurin suorituskykynäkökohtia parhaiden ratkaisujen muodossa. Parhaiden ratkaisujen vaikutuksia suorituskykyyn tutkitaan empiirisesti työssä toteuttavan web-sovelluksen avulla.

9 8 2 Internet ja verkkopalvelut Ajatus tietoverkosta syntyi 1950-luvun lopulla, kun Yhdysvalloissa viranomaiset alkoivat suunnitella kommunikointijärjestelmää, jonka toiminta ei lamaantuisi edes ydiniskun jälkeen. Tästä tavoitteesta syntyi ARPANET. Vuonna 1983 sotilaalliset palvelimet ja verkot erotettiin ARPANETista erilliseksi MILNET-verkoksi. Jäljelle jäi vain tiedeyhteisön muodostama ARPANET luvun lopulla verkkoon liittyi suuri joukko yliopistoja ja korkeakouluja. Näin syntyi NSFNET, joka on nykyisen Internetin runko. [7; 8.] Vuonna 1990 Tim Berners-Lee kehitti World Wide Web -standardin työskennellessään CERNissä (European Organization for Nuclear Research). World Wide Web eli Web on Internetissä toimiva hypertekstijärjestelmä. Hypertekstiä selataan selaimella, joka hakee web-sivuiksi kutsuttuja dokumentteja web-palvelimilta ja näyttää ne näytöllä. Hyperteksti sisältää linkkejä toisiin dokumentteihin. [9.] Vuotta aiemmin hän hahmotteli yhdessä Robert Caillaun kanssa vastinetta CERNin useille erilaisille dokumenteille, jolloin syntyi HTML eli Hyper Text Markup Language. Se on hypertekstin merkintäkieli, ja sillä kuvataan tekstin rakennetta, esimerkiksi mikä osa tekstistä on otsikkoa ja mikä leipätekstiä. Merkintä tehdään tekstin joukkoon kirjoitettavilla elementeillä eli tageilla. [10.] HTML:n rinnalle suunniteltiin yksinkertainen verkkoprotokolla HTTP eli Hyper Text Transfer Protocol. Se on kieli, jota selaimet ja webpalvelimet käyttävät tiedonsiirtoon. Protokolla perustuu siihen, että asiakasohjelma, joka yleensä on selain, ottaa yhteyden palvelimelle ja lähettää palvelupyynnön. Palvelin vastaa lähettämällä sopivan vastauksen, tavallisimmin HTML-sivun. [11.] 2.1 Staattiset sivut Staattiset eli muuttumattomat sivut perustuvat yksittäisiin ja sisällöltään valmiiksi muokattuihin sivuihin. Yleensä tiedostot ovat HTML-muotoisia. Staattiset sivut ovat nopein vaihtoehto Internetissä, sillä ne ovat jo olemassa, kun palvelupyyntö web-palvelimelle saapuu, ja näin ne voidaan lähettää vastauksena heti, kuten kuvassa 1 havaitaan. [12, s. 47.]

10 9 Kuva 1. Staattisen sivun palvelupyyntö- ja vastausprosessi HTML ei kuitenkaan ole ohjelmointikieli, vaan sen tarkoitus on kuvailla dokumentin sisällön rakennetta. Tästä syystä HTML:llä ei voida toteuttaa interaktiivisuutta eikä muunlaista toiminnallisuutta. Staattiset sivut näkyvätkin käyttäjälle aina sellaisina, kuin suunnittelija on ne tehnyt. [10; 13.] Aluksi, kun Internet ja web-sivut eli HTML-esitysmuoto tuli suuren yleisön tietouteen 1990-luvun puolivälissä, tehtiin web-sivut staattisina. Alussa sivujen tekijöinä kunnostautuivat opiskelijat, oppilaitokset, innokkaat yksityishenkilöt ja ensimmäisiä kokemuksiaan hakeneet yritykset. Aluksi web-sivut eivät olleet esitysvoimaisia. Vika ei kuitenkaan ollut HTML-kielessä, vaan käyttäjissä, sivujen tekijöissä ja infrastruktuurissa, joka ei ollut vielä valmis. Toisaalta kenelläkään ei ollut tietoa siitä, millaisia web-sivuja ihmiset haluaisivat nähdä. Kun käyttäjätkään eivät tienneet, mihin web-sivuja voitaisiin käyttää, he eivät osanneet vaatia palvelua, saati sitten käytettävyyttä. [1, s. 2; 15.] WWW-sivujen tekeminen ei ollut vaikeaa, sillä HTML-kielen pystyi oppimaan päivässä. WWW-sivut alkoivatkin yleistyä nopeasti, ja graafinen ulkoasu ja esitysmuoto kehittyivät, kun käyttäjiltä alettiin kerätä kokemuksia. Kun ensimmäiset web-sivut alkoivat kaivata tiedon päivittämistä, kohdattiin päivittämisen mukanaan tuomiin ongelmiin. WWW-palvelimella saattoi olla satoja tai tuhansia HTML-sivuja. Jos esimerkiksi jokin kaikkia sivuja yhdistävä tieto, kuten osoite tai yrityksen nimi vaihtui, uusi tieto täytyi muuttaa jokaiseen HTML-sivuun erikseen. Toisaalta myös yksittäisten sivujen sisällön päivittäminen oli työlästä, sillä kaikki tieto oli kirjoitettu HTML-tagien väliin. Uutuuden viehätyksessä tehtyjä web-sivuja ei oltu valmiita päivittämään. Tämä johtikin siihen, että Internet alkoi olla täynnä enemmän tai vähemmän vanhaa tietoa. Tämä vaivaa Webiä vieläkin, mutta huomattavasti vähemmässä määrin. Useissa tapauksissa uutta tietoa oli saatavilla, mutta

11 10 tieto sijaitsi taustajärjestelmissä, kuten tietokannassa, tekstitiedostossa tai jonkin spesifisen ohjelmiston tietojärjestelmässä. Tiedon saaminen verkkoon edellytti eräajoa taustajärjestelmästä, josta tieto kerättiin ja siirrettiin käsin web-sivuille. Tämä tapa ei ollut kovinkaan helppotöinen, sillä se edellytti WWW-julkaisemisen ja taustajärjestelmän tuntemusta. [1, s. 2; 12, s. 48; 13.] Interaktiivinen kommunikointi käyttäjän ja web-sivun tarjoajan välillä toteutettiin aluksi sähköpostin välityksellä. Käyttäjältä saadut tiedot käsiteltiin myös käsin. Tosin näihin sähköpostiosoitteisiin ei kovinkaan usein saapunut vastauksia, sillä yleisesti uskottiin, ettei yleisiä sähköpostilaatikoita lueta. [1, s. 2.] Verkkopalveluiden ongelmat staattisilla sivuilla esiintyvät rajapinnassa käyttäjän kanssa sekä rajapinnassa yrityksen liiketoimintaympäristöön. Loppukäyttäjät eivät saa kaikkea hyötyä irti, eikä todellista vuorovaikutusta käyttäjän ja palveluntarjoajan välillä pääse syntymään. Toisaalta resursseja tuhlaantuu, kun web-sivuja joudutaan päivittämään käsin taustajärjestelmistä. [1, s. 2.] Toisaalta staattiset sivut ovat riittävä vaihtoehto, kun sivujen sisältöä ei tarvitse päivittää usein eikä vuorovaikutusta tai interaktiivisuutta käyttäjän välillä tarvita. Staattiset sivut ovat nopein vaihtoehto, kuten alussa todettiin. Jos staattisia sivuja tarkastellaan yrityksen näkökulmasta, ne ovat aloituskustannuksiltaan halvin vaihtoehto. [12, s. 43; 15.] 2.2 Dynaamiset sivut Dynaamiset eli muuttuvat sivut eivät ole sellaisenaan palvelimella, vaan palvelinohjelmisto ottaa vastaan palvelupyynnön, prosessoi palvelunpyynnössä saapuvien parametrien, olemassa olevien attribuuttien ja/tai sovelluslogiikan mukaisesti ja palauttaa tämän prosessin tuloksen mukaisen vastauksen, kuten kuvassa 2 havaitaan. Tavallisesti vastauksena lähetetään prosessissa generoitu HTML-sivu, joiden sisällöstä osa on tietoa, joka on luettu taustajärjestelmästä. Esimerkiksi käyttäjän tekemät valinnat vaikuttavat vastauksena saapuvan sivun sisältöön. [12, s ; 16, s. 11.]

12 11 Kuva 2. Dynaamisen sivun palvelupyyntö- ja vastausprosessi Dynaamisia sivuja tai oikeastaan palvelinsovelluksia käytettäessä web-sivuille saadaan aikaan toiminnallisuutta ja pystytään luomaan vuorovaikutus käyttäjän ja verkkopalvelun välille. web-selaimen välityksellä on nykyään mahdollista lähettää ja lukea sähköpostia, maksaa pankkilaskuja, tehdä tilisiirtoja, ostaa viikonlopun ruoat ja juomat, tilata elokuvaliput mieleisille paikoille elokuvateatteriin ja tehdä lukuisia muita asioita. Yksikään näistä toiminnallisuuksista ei ole toteuttavissa ilman palvelinsovelluksia. [1, s. 17.] Dynaamiset sivut rakennetaan yleensä siten, että aluksi luodaan sapluuna, jonka ympärille palvelinsovellus rakentaa vastauksena lähetettävän sivun. Koska sivun ulkoasu on yhdessä tai korkeitaan muutamassa sapluunassa, sivun rakennetta tai siinä olevia vakio-osioita voidaan muokata helposti. Toisaalta sapluunat mahdollistavat verkkopalvelun ulkoasun uudelleensuunnittelun ilman, että palvelinsovellukseen tai tietoon tarvitsee koskea. Vertaamalla aiemmin esitettyyn ongelmaan, jossa yrityksen nimi muuttuu, voidaan yrityksen nimen muutos tehdä yhteen tai muutamaan sapluunaan. Tämä on huomattavasti tehokkaampaa kuin muutoksen tekeminen sataan tai tuhanteen dokumenttiin. [12, s. 49; 16, s ] Varsinaisen sisällön ylläpito ja muokkaaminen tapahtuu suoraan yrityksen liiketoimintaympäristössä eli taustajärjestelmissä. Jos taustajärjestelmää ei ole tai sitä ei voida käyttää, verkkosovelluksiin voidaan lisätä helppokäyttöinen ja yksinkertainen ylläpitoliittymä, jonka avulla asiakas päivittää sisällön itse. Asiakas voi halutessaan päivittää sivuja minkä tahansa WWW-yhteyden kautta. Toisaalta se mahdollistaa myös päivityksen siirtämisen yrityksen eri osastoille kuten myynnille, markkinoinnille ja niin edelleen. Oikein toteutettuna tietojen päivitys tehdään yhteen paikkaan, taustajärjestelmään tai ylläpitoliittymän avulla, ja tieto on päivittynyt kaikkialle sivustoilla. Tämä puolestaan karsii ylimääräisen päivitystyön ja minimoi resurssien käytön web-sivujen päivityksille. [16, s ; 17.]

13 12 Dynaamiset sivut häviävät staattisille sivuille nopeuden ja yrityksen näkökulmasta aloituskustannuksen osalta. Nopeudessa puhutaan optimaalisten palvelinsovellusten kohdalla millisekunneista. Dynaamiset sivut tulevat myös pidemmällä aikavälillä staattisia edullisemmaksi vaihtoehdoksi, kun säästöjä kertyy päivittämiseen kuluvissa kustannuksissa. Se tarjoaa myös staattisia sivuja enemmän lisäarvoa sekä yritykselle että yrityksen asiakkaille. Dynaamiset sivut ovatkin parhaimmillaan, kun halutaan vuorovaikutteisuutta ja toiminnallisuutta, materiaalin toimittajia on useita ja käsitellään päivittäin muuttuvaa aineistoa. Hyvät palvelinsovellukset keräävät tietoa jakamisen ohella. Tietoa voidaan kerätä esimerkiksi siitä, mistä verkkopalvelun käyttäjät ovat olleet kiinnostuneita, kuinka monta kävijää verkkopalvelussa on ollut ja niin edelleen. Näiden tietojen avulla yritys saa arvokasta tietoa asiakaskunnastaan, palvelua pystytään suuntaamaan yksilöllisemmin ja tarjoamaan nykyisille asiakkaille lisäarvoa, kanta-asiakkuutta sekä kohdennettua palvelua. Verkkosovellukset mahdollistavat hyvinkin innovatiivisia ratkaisuja sisältäviä verkkopalveluja. [12, s. 48; 15; 18, s. 16, ] 2.3 Käytettävyys Tutkimukset verkkopalvelujen käytettävyydestä ovat osoittaneet, että käyttäjät ovat kiinnostuneita sisällöstä. Kun käyttäjä saapuu uudelle sivulle, hän tarkastelee ensimmäiseksi sivun suurinta sisältöaluetta ja yrittää otsikoita ja muita viitteitä silmäilemällä tehdä johtopäätöksiä sivun sisällöstä. Jos käyttäjä päätyy johtopäätöksen, ettei sisältö kiinnosta tai kosketa häntä, hän poistuu verkkopalvelusta etsimään sivuja, jotka vastaavat hänen tarpeitaan. Koska käyttäjä on verkossa sisällön vuoksi, hän pyrkii löytämään etsimänsä sisällön vaivattomasti. Palvelun käytettävyyteen vaikuttavatkin eniten sisällön laatu ja se, kuinka helposti käyttäjä löytää etsimänsä. Verkkopalvelu voi pitää sisällään kaiken tiedon, mitä maailmassa on, mutta käyttäjä, joka ei löydä etsimäänsä, poistuu palvelusta. [2, s ; 4, s , ] Tuotantoprosessin laatu ei ole yhtä tärkeässä asemassa Webissä kuin perinteisissä medioissa kuten aikakauslehdissä. Käyttäjät arvostavat hyvin tehtyä tekstiä ja kauniita kuvia, mutta ne eivät ole laadun tae. Sisältöä punnitseva käyttäjä yleensä miettiikin sitä, mitä hyötyä sisällöstä on hänelle ja saako hän sivulta vastauksia kysymyksiinsä. Nykyään, toisin kuin 1990-luvun puolivälissä, käyttäjät ovat erittäin tavoitehakuisia, kärsimättömiä ja palvelua vaativia, joten verkkopalvelun suunnittelussa tulee korostaa sitä, että käyttäjä saa etsimänsä vastaukset nopeasti ja vaivattomasti. Toisaalta sisällön on oltava käyttäjälle hyödyllistä. [2, s ; 4, s , ]

14 13 Vasteaika Käytettävyyden pioneeri Jacob Nielsen on tutkinut käytettävyyttä vuodesta 1994 lähtien, ja jokaisessa hänen tekemässään tutkimuksessa esiin on noussut sama asia: käyttäjät haluavat sivujen latautuvan nopeammin. Aluksi, Nielsen ajatteli, että käyttäjät odottavat mielellään, jos sivujen ulkoasu on odotusten arvoinen. Myöhemmin hän on muuttanut käsityksiään tekemiensä tutkimusten perusteella ja hänen mielestään web-sivujen suunnittelussa tärkein kriteeri on nopea vasteaika. [2, s. 42.] Tätä väitettä tukevat myös monet muut käytettävyyttä ja hypertekstiä koskevat tutkimukset. On osoittautunut, että sivulta toiselle siirryttäessä on vasteajan oltava alle sekunti, jotta käyttäjä tuntisi liikkuvansa vapaasti. Jacob Nielsen esittää kirjassaan esimerkkinä IBM:n (International Business Machines) 70- ja 80-luvulla tekemiä tutkimuksia, joissa ilmeni, että keskuskoneiden käyttäjät toimivat tuottavammin, kun aika näppäimen painamisesta halutun ruudun esiin saamiseen oli alle yksi sekunti. [2, s. 42; 19.] Vasteaikaa koskeva ohje vuodelta 1968 ei ole muuttunut vielä tänäkään päivänä. Kolmekohtaisen ohjeen on luonut Robert B. Miller, joka piti aiheesta esityksen Fall Joint Computer Conferencessa [5]: 1. Toiminnon tulee tapahtua sekunnin kymmenyksessä (0,1 s), mikäli käyttäjän on tarkoitus tuntea, että järjestelmä reagoi välittömästi eikä tulosten näyttämisen lisäksi tarvita muuta palautetta. Tätä aikarajaa tulisi tavoitella. 2. Käyttäjän ajatus ei katkea, jos tauon pituus on alle yksi sekunti (1 s), vaikka käyttäjä viiveen huomaakin. Erillistä palautetta suorituksen etenemisestä (tiimalasiefekti) ei tarvita, jos viiveen pituus on 0,1 1 sekuntia; tosin käyttäjästä ei enää tunnu siltä, että hän käsittelisi dataa suoraan. Jos uusi sivu lataantuu sekunnissa, viive ei häiritse käyttötuntumaa. 3. Käyttäjän huomio säilyy vuorovaikutustilanteessa, jos yhden toiminnon kesto on alle 10 sekuntia (10 s). Mikäli viive on tätä pidempi, käyttäjä kiinnittää huomionsa johonkin muuhun toimeen, kunnes tietokone on suorittanut toimintonsa. Verkkopalveluissa uuden sivun latautuminen noin kymmenessä sekunnissa on käyttäjien mielestä ärsyttävän hidasta, mutta siedettävissä. Dynaamisten sivujen suosion kasvu, sähköinen kaupankäynti ja käyttäjän mahdollisuus muokata sivun esitystapaa ja sisältöä haluamakseen aiheuttaa sen, että sivun luonti palvelupyynnön saapuessa edellyttää palvelimelta usein laskutoimituksia. Tämä puolestaan johtaa

15 14 siihen, että viive sivua ladattaessa koostuu latausajan lisäksi myös sivun prosessointiajasta. Sivun prosessointiaikaan puolestaan vaikuttavat palvelimen nopeus sekä web-sovelluksen suorituskykyisyys. Yleensä sivun esittämiseksi täytyy web-sovelluksen muodostaa yhteys tietokantaan, joka puolestaan on web-sovellusten hitain toiminto ja näin ollen sovelluksen nopeuden kannalta pullonkaula. Tämä hidastaa latausaikaa entisestään. Käyttäjää selitykset latausajan hitaudesta eivät kiinnosta, vaan sivu on yksinkertaisesti liian hidas. Hitaan vasteajan johdosta käyttäjien määrä vähenee, kun sivu osoittautuu epäluotettavaksi, ja lopulta he siirtyvät kilpailijoiden verkkopalveluihin. Käyttäjäkato on kuitenkin mahdollista välttää investoimalla nopeisiin palvelimiin sekä hyvin suunniteltuihin ja suorituskykyisiin web-sovelluksiin. [2, s ] 2.4 WWW-palvelut WWW-sivujen mahdollisuudet ovat moninaiset. Verkkopalvelua voidaan esimerkiksi yrityksissä käyttää tuotetiedon välittämiseen, ostopäätösten ohjaamiseen, tuote- ja yritysmielikuvan luomiseen, asiakaspalveluun, asiakkaiden vuorovaikutuksen mahdollistamiseen, yksilöllisen asiakas-suhteen luomiseen ja/tai ryhmäviestintään. Yhteisöt ja yksityiset henkilöt voivat käyttää web-sivujaan tiedon jakamiseen. Verkkopalvelut ovat usein helpommin ja nopeimmin käyttäjän saatavilla kuin painettu materiaali, henkilökunta tai myymälä/konttori. Verkkopalvelua voidaan käyttää vuorokaudenajasta ja paikasta riippumatta. [18, s. 5 7.] Verkkopalvelu voidaan tuottaa myös jollekin potentiaaliselle asiakaskunnalle tai yhteisölle. Asiakaskohtaisessa palvelussa voidaan näkymät ja sisältö räätälöidä asiakkaan tarpeiden ja/tai asiakassuhteen mukaan. Tämä voi käytännössä tarkoittaa omia tuotevalikoimia, asiakaspalvelutoimintoja tai hinnoittelua. Yritysten välisessä kaupassa suurille asiakkaille voidaan rakentaa täysin oma WWW-palvelukonsepti, jota koko asiakasyrityksen henkilökunta käyttää. Ideana on tarjota henkilökohtaisempaa ja asiakassuhdetta syventävämpää palvelua. [18, s. 5 7.] Internetin hyödyt voidaan Tietoyhteiskunnan kehittämiskeskuksen tekemän Sähköisen kaupankäynnin aapisen mukaan jakaa kolmeen ryhmään [18, s. 6]: Kustannusten alentaminen Kustannuksia voidaan usein säästää sillä, että esitteitä ja käyttöohjeita toimitetaan verkon kautta painatuksen ja postituksen asemasta. Tilausten ja käsittelyn vaatimaa työtä voi vähentää, jos asiakas voi tehdä tilauksen verkon kautta.

16 15 Asiakaspalvelun parantaminen Verkossa sijaitseva palvelu on asiakkaan käytettävissä silloin, kun hän haluaa. Lisäksi yrityksen on helpompaa pitää yllä esimerkiksi tuotetietoja tai tuotteen saatavuustietoja yhdessä sähköisessä paikassa. Tietokantoja hyödyntämällä voidaan lisätä asiakastuntemusta ja palvella asiakasta yksilöllisemmin. Asiakkaalle voidaan tarjota myös mahdollisuus lähettää palautetta helposti verkon kautta. Markkinoiden laajentaminen Verkon kautta voi edullisesti saavuttaa uusia asiakasryhmiä ja maan-tieteellisiä alueita sekä laajentaa tuotevalikoimaa. Verkossa olevan tiedon perusteella asiakkaat voivat valmistella ostopäätöksiään. 2.5 Verkkopalvelujen tulevaisuus Laajakaistaiset Internet-liittymät yleistyvät nopealla vauhdilla. Liikenne- ja viestintäministeriö selvitytti laajakaistaliittymien lukumäärän Tilasto-keskuksen kuluttajabarometrin yhteydessä [6]. Selvityksessä ilmenee, että elokuussa 2004 laajakaistayhteys oli kotitaloudessa. Liikenne- ja viestintäministeriö arvioi, että kaikkiaan laajakaistaliittymiä on nyt yritykset mukaan lukien ainakin Selvityksessä ilmenee myös, että yli kotitaloutta suunnittelee hankkivansa laajakaistayhteyden vuoden 2004 loppuun mennessä. Sähköisen kaupankäynnin mahdollisuudet yritysten toiminnan tehostamiseen tulevat edelleen paranemaan. Tätä väitettä tukee Tilastokeskuksen tammi-huhtikuussa 2004 tekemä selvitys [20]. Siinä ilmenee, että verkkokauppa kasvaa vauhdilla: kerättyjen tietojen mukaan noin 70 prosenttia vuotiaista suomalaisista oli käyttänyt Internetiä viimeksi kuluneiden kolmen kuukauden aikana. Noin 15 prosenttia eli yli henkeä oli tilannut jotakin verkon kautta yksityiskäyttöön. Tuotetiedon etsijöiden määrä oli syksystä 2003 kasvanut nopeammin kuin Internetin käyttäjien määrä, sillä lähes 2,3 miljoona henkeä eli noin 59 prosenttia kaikista vuotiaista suomalaisista ja lähes 84 prosenttia Internetiä käyttäneistä oli hakenut tuote- ja palvelutietoja. Mikäli verkkokaupassa myynti pysyisi kevään 2004 tasolla, olisi vuoden 2004 lopulla kaupan arvo noin 2,1 miljardia euroa. Tämä suhdanne on näkynyt myös ulkomaisissa verkkokaupoissa kuten Amazonissa [21] ja Ebayssa [22] hyvänä tuloskehityksenä.

17 16 3 WWW-sovellusten arkkitehtuurit 3.1 Web-sovellusten vaatimukset Internet ja web-sivut ovat tuoneet sovellussuunnitteluun uusia ominaispiirteitä ja vaatimuksia, jotka on otettava huomioon verkkosovellusta suunniteltaessa. [1, s. 9.] Käyttäjämäärät verkkopalveluissa saattavat olla aluksi pieniä, mutta pian ne saattavat muuttua myös suuriksi. Käyttäjämäärän vaihtelut kuuluvat verkkosovellusten luonteeseen ja siksi web-sovellusten pitää pystyä sopeutumaan niihin ilman sovelluksen uudelleen suunnittelua. Myös vasteaika on syytä pitää mielessä, kun web-sovellusta suunnitellaan, sillä suorituskyky on web-sovellusten tärkein vaatimus. Tietoturvan merkitys on kasvanut, koska liiketoimintaympäristöt ovat yhä tiukemmin kiinni verkossa ja yleensä verkkopalvelussa. Sähköisten kauppojen ja yritysten tietojärjestelmien on oltava saatavilla kellon ympäri, sillä suuret katkokset vaikuttavat liiketoimintaan monella eri tavalla. Järjestelmän on oltava luotettava, sillä epästabiili ympäristö vaikuttaa palvelun saatavuuteen sekä ylläpidon kustannuksiin. Järjestelmän on oltava myös helposti hallittavissa eikä muutosten tekeminen saa olla vaikeaa. [1, s. 9 11; 2, s ; 3, s.1 2.] Yhteenvetona voidaan listata edellä esitellyt vaatimukset websovelluksille: Skaalautuvuus (vaihteleviin käyttäjämääriin sopeutuminen) Suorituskyky Tietoturva Saatavuus Luotettavuus Hallittavuus. 3.2 CGI-arkkitehtuuri Alun perin CGI (Common Gateway Interface) keksittiin NCSA:n (National Center for Supercomputing Applications) web-palvelimeen (NCSA HTTPdaemon) vuonna CGI on alustasta riippumaton rajapinta tai standardi, joka määrittelee tavan, jolla web-palvelin ohjaa tulevan palvelupyynnön ulkopuoliselle sovellukselle, vastaanottaa ohjelman tuloksen ja lähettää sen vastauksena palvelupyyntöön. [23; 24.]

18 17 CGI oli ensimmäisiä käyttökelpoisia ja yleisesti hyödynnettyjä tekniikoita luoda dynaamisia web-sivuja. CGI avasi uuden maailman web-sivujen ja -sovellusten alueella, ja hyvin nopeasti CGI:n käyttö yleistyi ja useat WWW-palvelinsovellukset alkoivat tehdä CGI:stä itse asiassa standardia palvelimiin. [1, s.2 3.] CGI-sovelluksia voidaan kirjoittaa miltei jokaisella ohjelmointikielellä kuten C:llä, C++:lla, Pythonilla, Tcl/Tk:lla tai vaikkapa AppleScriptillä. Perlistä on kuitenkin tullut merkittävin ja yleisin vaihtoehto ja sen vahvuuksia ovat tekstijonojen ja tiedostojen käsittely. Kirjoitettaessa CGI-sovelluksia antaa Perl myös jonkinlaisen alustasta riippumattomuuden. [24; 25.] Kaikesta joustavuudestaan huolimatta CGI:ssä on ollut ja on edelleenkin omat murheensa. On mielenkiintoista huomata, että CGI-sovellusten kyvykkyys luoda dynaamisia sivuja onkin sivutuote tarkoitetusta päämäärästä. CGI:n tarkoitus oli vain määritellä metodit, joiden avulla tietopalvelin voisi keskustella ulkoisten sovellusten kanssa. Tämä osaltaan selittääkin CGI:n suurinta ongelma: sillä on luultavasti huonoin elinkaari mitä kuvitella saattaa. Kun palvelin saa palvelupyynnön, joka on matkalla CGI-sovellukselle, täytyy palvelimen ensin luoda uusi prosessi ulkoisesta sovelluksesta välittääkseen palvelupyynnön, ympäristömuuttujat, syötteet sekä kaiken muun mitä se tarvitsee vastauksen muodostamiseen. Kuvassa 3 havainnollistetaan CGI-sovellusten elinkaarta. Prosessin luonti jokaista palvelupyyntöä kohden vaatii aikaa ja merkittävästi resursseja. Tämä puolestaan kasvattaa vasteaikaa ja rajoittaa palvelupyyntöjen lukumäärä, jota palvelin pystyy kerrallaan palvelemaan. Toinen CGI:n ongelma, joka usein jätetään huomioimatta, on se, että CGI-sovellus ei pysty olemaan vuorovaikutuksessa palvelimeen eikä käyttämään palvelinta hyödykseen sen jälkeen, kun suoritus alkaa. Tämä johtuu siitä, että sovellus suoritetaan erillisessä prosessissa. Esimerkiksi CGI-sovellus ei voi kirjoittaa palvelimen lokitiedostoon. Myös suositulla Perlillä on suorituskykyongelmia. Perl on tulkattava ohjelmointikieli, jolloin jokaisella suorituskerralla ohjelma käännetään uudelleen. Tämä edellyttää jokaista palvelupyyntöä kohden käynnistämään erillisen Perl-tulkin, jolloin se vaatii vielä enemmän aikaa ja merkittävästi enemmän resursseja. [24, 25.] Kuva 3. CGI-sovellusten elinkaari [25]

19 18 CGI: n kolmas ongelma on turvallisuus, joka on miltei olematon ja jää aina ohjelmoijan vastuulle. Sovellukset suoritetaan web-palvelimessa ylläpitäjän asettamilla oikeuksilla. Minimaalisillakin oikeuksilla CGIsovellukset pääsevät käsiksi kaikkiin web-palvelimen tiedostoihin, joita ei ole erikseen suojattu. Huonosti suunniteltu CGI-sovellus puolestaan välittää käyttäjänsyötteen suoraan komentoriville, jolloin parametrissa voidaan välittää rivierottimen avulla käskyjä kuten rm / -f -d. Käsky poistaa Unix-web-palvelimessa juuresta (/) alkaen kaiken. Toisaalta CGI-rajapinnan lähdekoodista puolestaan löytyy puskuriylivuoto-haavoittuvuus, joka niin ikään mahdollistaa myös käskyjen välittämisen komentoriville. CGI-sovelluksia suunniteltaessa onkin huomioitava tarkasti, ettei puskuriylivuotoja pääse tapahtumaan ja ettei käyttäjän lähettämää syötettä käytetä ilman suodattamista tai tarkistuksia. CGIsovelluksia voidaan joissain web-palvelimissa kuten Apachessa rajata suoritettavaksi vain, jos palvelupyyntö tulee tietystä IP-osoitteesta tai -avaruudesta. [66; 67] CGI-sovellusten saatavuus ja luotettavuus ovat riippuvaisia valitusta web-palvelimesta, käyttöjärjestelmästä sekä ohjelmointikielestä. Nykyään kaikki web-palvelimet tukevat CGI-rajapintaa ja useita käyttöjärjestelmiä. Luotettavimpana ja saatavuudeltaan parhaimpana pidetään Unix-käyttöjärjestelmää ja Apache-palvelinta. Tätä väitettä tukee myös Netcraftin pisimpään toimineiden web-palvelimien tilasto [68], jossa viidestäkymmenestä (50) lukuun ottamatta kolmea toimivat Unixilla ja Apachella. Toisaalta saatavuuteen ja luotettavuuteen vaikuttaa myös ohjelmointikieli. Tulkattavat CGI-sovellukset rasittavat palvelinta enemmän kuin valmiiksi käännetyt sovellukset ja siksi niillä on taipumuksia käyttäjämäärän kasvaessa tukkia tai kaataa web-palvelin. Ohjelmointikielen valinta vaikuttaa myös hallittavuuteen. C-kieltä pidetään syntaksiltaan helppona ja loogisena, mutta se pitää kääntää ennen käyttöönottoa. C-kielen vastakohtaa Perliä puolestaan pidetään monimutkaisena ja sekavana, mutta sitä ei tarvitse kääntää. Kaikkien CGI-sovellusten yhteinen piirre on HTML:n tai tulosten kirjoittaminen ohjelmakoodin tulostuksissa, jolloin sovelluksen hallittavuus edellyttää valitun ohjelmointikielen jonkinlaista hallintaa, joka puolestaan rajoittaa hallittavuutta. Yhteenvetona taulukossa 1 esitetään CGI-arkkitehtuurin soveltuvuus web-sovellussuunnittelun vaatimuksiin.

20 19 Taulukko 1. CGI-arkkitehtuurin soveltuvuus vaatimuksiin Vaatimukset Skaalautuvuus Suorituskyky Tietoturva Saatavuus Luotettavuus Hallittavuus CGI Heikko Heikko Heikko Tyydyttävä Tyydyttävä Tyydyttävä 3.3 FastCGI-arkkitehtuuri Yritys nimeltä Open Market on kehittänyt vaihtoehdon CGI standardille nimeltään FastCGI. Suurimmaksi osaksi se toimii kuin tavallinen CGI, mutta merkittävä ero syntyy siitä, että FastCGI luo yhden pysyvän prosessin jokaista FastCGI-sovellusta kohden, kuten kuvassa 4 havaitaan. Tämä vähentää tarvetta luoda prosesseja ja näin ollen parantaa palvelimen tehokkuutta. Tämä puolestaan laskee vasteaikaa. FastCGI onkin askel oikeaan suuntaan, mutta sillä on ongelmia palvelukyvyssä kuten perinteisellä CGI:kin. FastCGI-sovellus voi palvella vain yhtä palvelupyyntöä kerrallaan. Kun FastCGI-sovellus suorittaa palvelupyyntöä, täytyy sen varastoida tulevat palvelupyynnöt jokaista prosessia (FastCGI-sovellusta) kohden. Perliä käytettäessä tämä saattaa tarkoittaa sitä, että jokaisella prosessilla on oma Perl-tulkkinsa, jolloin prosessien määrä taas kasvaa. Muuten FastCGI:n tietoturvaan, saatavuuteen, luotettavuuteen ja hallittavuuteen vaikuttavat samat tekijät kuin CGI:tä käytettäessä. [25; 26; 67.] Kuva 4. FastCGI-sovellusten elinkaari [25]

Vasteaika. Vasteaikaa koskeva ohje ei ole juuri muuttunut Robert B. Millerin vuonna 1968 pitämästä esityksestä:

Vasteaika. Vasteaikaa koskeva ohje ei ole juuri muuttunut Robert B. Millerin vuonna 1968 pitämästä esityksestä: Nielsen: "Olen tutkinut Webin käytettävyyttä vuodesta 1994, ja jokaisessa tutkimuksessa esiin on noussut sama asia: käyttäjät haluaisivat sivujen latautuvan nopeammin. Aluksi olin sitä mieltä, että käyttäjät

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

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

Visual Basic -sovelluskehitin Juha Vitikka

Visual Basic -sovelluskehitin Juha Vitikka Visual Basic -sovelluskehitin Helsinki 30.10.2000 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Visual Basic sovelluskehitin Seminaari: Ohjelmistotuotantovälineet Tietojenkäsittelytieteen

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

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

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

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

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

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

Web-sisällönhallintajärjestelmät

Web-sisällönhallintajärjestelmät Web-sisällönhallintajärjestelmät Sisältö Mitä on web-sisällönhallinta? Tausta ja tavoitteet Käytännön prosessi Web-sisällönhallintajärjestelmät Yleisesti Keskeiset ominaisuudet Sisällönhallintajärjestelmän

Lisätiedot

3.11.2010. Web-sisällönhallintajärjestelmät. Sisältö. Mitä on web-sisällönhallinta?

3.11.2010. Web-sisällönhallintajärjestelmät. Sisältö. Mitä on web-sisällönhallinta? Sisältö Mitä on web-sisällönhallinta? Tausta ja tavoitteet Käytännön prosessi Yleisesti Keskeiset ominaisuudet Sisällönhallintajärjestelmän valitseminen ja käyttöönotto Wordpress Joomla! Drupal Yhteenveto

Lisätiedot

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

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys WWW-OHJELMOINTI 1 WWW-ohjelmoinnin kokonaisuus SGML, XML, HTML WWW-selaimen sovellusohjelmointi WWW-palvelimen sovellusohjelmointi Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 26.10.2000

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

ISACA Finland 24.1.2008 OWASP 24.1.2008. The OWASP Foundation. Timo Meriläinen Antti Laulajainen. http://www.owasp.org

ISACA Finland 24.1.2008 OWASP 24.1.2008. The OWASP Foundation. Timo Meriläinen Antti Laulajainen. http://www.owasp.org ISACA Finland 24.1.2008 Timo Meriläinen Antti Laulajainen 24.1.2008 Copyright The Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the License. The Foundation

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

Järjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet

Järjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet Järjestelmäarkkitehtuuri (TK081702) Integraation tavoitteita Lähtökohta Web-palvelut Asiakasrekisteri ERP, Tuotannon ohjaus Tuotanto Myynti Intranet Extranet? CRM Johdon tuki Henkilöstö Kirjanpito Palkanlaskenta

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

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

ecome Markkinoiden kehittynein julkaisujärjestelmä

ecome Markkinoiden kehittynein julkaisujärjestelmä ecome Ecome Finland Oy Itämerenkatu 3 p. 020 7749 580 00180 Helsinki p. 020 7749 585 Suomi - Finland ecome@ecome.fi y. 2193874-3 www.ecome.fi Ecome-järjestelmä pähkinänkuoressa Ecome on suomalaisen yhtiön

Lisätiedot

Case TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999. ! Java luokkia n. 5000

Case TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999. ! Java luokkia n. 5000 Case TUHTI 17.12.2002 1 TietoEnator 2002 Projektin tunnuslukuja! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999! Otettu tuotantokäyttöön syksyllä 2001! Proof of Concept (5 henkilöä 4 kk) ->

Lisätiedot

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen Tietojärjestelmä tuotantoympäristössä Tausta ja tavoitteet Tausta Kurssilla on opiskeltu suunnittelemaan ja toteuttamaan tietokanta, joka on pieni perustuu selkeisiin vaatimuksiin on (yleensä) yhden samanaikaisen

Lisätiedot

MITÄ JAVASCRIPT ON?...3

MITÄ JAVASCRIPT ON?...3 JavaScript MITÄ JAVASCRIPT ON?...3 YLEISTÄ JAVASCRIPTIN SYNTAKSISTA...3 KÄSKYSANAT JA MUUT VARATUT SANAT...3 MUUTTUJIEN, FUNKTIOIDEN JA LUOKKIEN NIMISSÄ...3 HTML-TAGEIHIN VIITTAAVISSA METODINIMISSÄ...3

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

J2EE vs..net Olli Sakari

J2EE vs..net Olli Sakari TEEMA-ARTIKKELI J2EE vs..net Olli Sakari J2EE ja.net ovat tietojärjestelmäteknologioita, joiden varaan suuri osa tulevaisuuden tietojärjestelmistä tulee rakentumaan. Molemmat teknologioista tarjoavat välineitä

Lisätiedot

Hintatiedotus ja tietojen välitys. Loppuraportti

Hintatiedotus ja tietojen välitys. Loppuraportti Hintatiedotus ja tietojen välitys Loppuraportti Henkilöliikenne 18. marraskuuta 2002 1 Lähtökohdat VR Henkilöliikenteellä on käytössä Journey Planner reitinsuunnittelupalvelu. Palvelua käyttävät matkustajat

Lisätiedot

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010 SQLite selvitysraportti Juha Veijonen, Ari Laukkanen, Matti Eronen Maaliskuu 2010 Opinnäytetyö Kuukausi Vuosi 1 SISÄLTÖ 1. YLEISTÄ SQLITE:STA... 2 2. HISTORIA... 2 3. SQLITEN KÄYTTÖ... 3 3.1 SQLiten asennus

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

Tikon Ostolaskujenkäsittely versio 6.1.2 SP1

Tikon Ostolaskujenkäsittely versio 6.1.2 SP1 Toukokuu 2012 1 (14) Tikon Ostolaskujenkäsittely versio 6.1.2 SP1 Asennusohje Toukokuu 2012 2 (14) Sisällysluettelo 1. Vaatimukset palvelimelle... 3 1.1..NET Framework 4.0... 3 1.2. Palvelimen Internet

Lisätiedot

MatTaFi projektin HAKA-pilotti

MatTaFi projektin HAKA-pilotti projektin HAKA-pilotti Matti Harjula matti.harjula@hut.fi Matematiikan ja systeemianalyysin laitos Teknillinen korkeakoulu 15. tammikuuta 2008 1 2 Materiaalin tuottajat ongelmana 3 Uusien sovellusten yksinkertaisempi

Lisätiedot

Mikä on internet, miten se toimii? Mauri Heinonen

Mikä on internet, miten se toimii? Mauri Heinonen Mikä on internet, miten se toimii? Mauri Heinonen Mikä on Internet? Verkkojen verkko Muodostettu liittämällä lukuisia aliverkkoja suuremmaksi verkoksi Sivustojen tekemiseen käytetään kuvauskielta HTML

Lisätiedot

Internet-pohjainen ryhmätyöympäristö

Internet-pohjainen ryhmätyöympäristö Menetelmäohje Internet-pohjainen ryhmätyöympäristö Riku Hurmalainen, 24.3.2002 Sisällysluettelo 1. Johdanto...3 2. Termit...4 3. Toteutus...5 3.1. Yleiskuvaus...5 3.2. Tekninen ratkaisu...5 3.3. Tietoturva...6

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

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri Palomuuri Teoriaa Palomuurin tehtävä on estää ei-toivottua liikennettä paikalliseen verkkoon tai verkosta. Yleensä tämä tarkoittaa, että estetään liikennettä Internetistä paikallisverkkoon tai kotikoneelle.

Lisätiedot

Tietokannan webbikytkentä. Janne Petäjä

Tietokannan webbikytkentä. Janne Petäjä Tietokannan webbikytkentä Janne Petäjä Helsinki 7. huhtikuuta 2003 Relaatiotietokannat nyt - seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Tietokannan webbikytkentä Janne Petäjä Relaatiotietokannat

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

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0 Toukokuu 2014 1 (11) Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0 Päivitysohje Toukokuu 2014 2 (11) Sisällysluettelo 1. Tehtävät ennen versiopäivitystä... 3 1.1. Ohjelmistomuutosten luku...

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

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

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

MOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT MOBISITE-TYÖKALU MobiSite on työkalu matkapuhelimeen soveltuvan mobiilisivuston rakentamiseen. AIMO-järjestelmän jatkuvasti päivittyvä päätelaitetunnistus tunnistaa useimmat puhelinmallit ja mukauttaa

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

Simulaattorin asennus- ja käyttöohje

Simulaattorin asennus- ja käyttöohje Linux ja Windows XP Versio Päiväys Muokkaaja Kuvaus 0.2 16.2.2006 Mikko Halttunen Katselmoinin jälkeen 0.1 13.2.2006 Mikko Halttunen Alustava versio Sisällysluettelo 1 Johdanto... 3 2 Simulaattorin asennus...

Lisätiedot

ADE Oy Hämeen valtatie 144 20540 TURKU. Tuotekonfigurointi. ADE Oy Ly Tunnus: 1626957-3

ADE Oy Hämeen valtatie 144 20540 TURKU. Tuotekonfigurointi. ADE Oy Ly Tunnus: 1626957-3 Tuotekonfigurointi ADE Oy lyhyesti Asiakkaiden tarpeisiin suunnattua innovatiivista ja toimivaa ohjelmisto- ja 3d animaatiopalvelua. Ade Oy on toteuttanut vuodesta 2000 alkaen haastavaa interaktiivista

Lisätiedot

VERKON ASETUKSET SEKÄ WINDOWSIN PÄIVITTÄMINEN

VERKON ASETUKSET SEKÄ WINDOWSIN PÄIVITTÄMINEN VERKON ASETUKSET SEKÄ WINDOWSIN PÄIVITTÄMINEN Tämän harjoituksen tarkoituksena on varmistaa verkon asetukset sekä päivittää Windows käyttäen Windows Update -palvelua. Dokumentin lopussa on palautettava

Lisätiedot

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Viimeksi muokattu 5. toukokuuta 2012 Maastotietokannan torrent-jakeluun sisältyy yli 5000 zip-arkistoa,

Lisätiedot

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

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely. XML prosessointi Miten XML dokumentteja luetaan ja kirjoitetaan XML prosessori lukee ja välittää XML dokumentin sovellukselle. Se sisältää entieettikäsittelijän (mahdollisesti) XML jäsentimen Sovellus

Lisätiedot

ohjelman arkkitehtuurista.

ohjelman arkkitehtuurista. 1 Legacy-järjestelmällä tarkoitetaan (mahdollisesti) vanhaa, olemassa olevaa ja käyttökelpoista ohjelmistoa, joka on toteutettu käyttäen vanhoja menetelmiä ja/tai ohjelmointikieliä, joiden tuntemus yrityksessä

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

Avoin lähdekoodi. Jani Kylmäaho Maanmittauslaitos www.oskari.org

Avoin lähdekoodi. Jani Kylmäaho Maanmittauslaitos www.oskari.org Avoin lähdekoodi Jani Kylmäaho Maanmittauslaitos www.oskari.org Avoimen lähdekoodin määritelmä (OSI) Ohjelman täytyy olla vapaasti levitettävissä ja välitettävissä. Lähdekoodin täytyy tulla ohjelman mukana

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

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro1 29.10.2013

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro1 29.10.2013 Virtualisointi Pertti Pennanen DOKUMENTTI 1 (5) SISÄLLYSLUETTELO Virtualisointi... 2 Virtualisointiohjelmia... 2 Virtualisointitapoja... 2 Verkkovirtualisointi... 2 Pertti Pennanen DOKUMENTTI 2 (5) Virtualisointi

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

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.1/15 HSMT (Java-kielellä) Aineopintotasoinen kurssi, 5op. Luennot:

Lisätiedot

Tulostimen hallintaohjelmisto MarkVision

Tulostimen hallintaohjelmisto MarkVision Tulostinohjelmisto ja apuohjelmat 1 Tulostimen hallintaohjelmisto MarkVision Windows 95/98/2000-, Windows NT 4.0- ja Macintosh-käyttöjärjestelmien MarkVision toimitetaan tulostimen mukana Drivers, MarkVision

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

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori Testauksen tuki nopealle tuotekehitykselle Antti Jääskeläinen Matti Vuori Mitä on nopeus? 11.11.2014 2 Jatkuva nopeus Läpäisyaste, throughput Saadaan valmiiksi tasaiseen, nopeaan tahtiin uusia tuotteita

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

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

Tietosuojatyöryhmä. Työryhmän 23 päivänä helmikuuta 1999 hyväksymä. suositus 1/99

Tietosuojatyöryhmä. Työryhmän 23 päivänä helmikuuta 1999 hyväksymä. suositus 1/99 5093/98/FI/lopullinen WP 17 Tietosuojatyöryhmä Työryhmän 23 päivänä helmikuuta 1999 hyväksymä suositus 1/99 ohjelmistojen ja laitteistojen Internetissä suorittamasta ei-havaittavasta ja automaattisesta

Lisätiedot

mikä sen merkitys on liikkuvalle ammattilaiselle?

mikä sen merkitys on liikkuvalle ammattilaiselle? artikkeli WWAN-verkko WWAN-verkko: mikä sen merkitys on liikkuvalle ammattilaiselle? Nopeiden, saumattomien yhteyksien merkitys minkä tahansa yrityksen menestykseen sekä liikkuvan ammattilaisen tehokkuuteen

Lisätiedot

Näin rakennat mielenkiintoiset nettisivut

Näin rakennat mielenkiintoiset nettisivut Näin rakennat mielenkiintoiset nettisivut Ajattele ennen kuin toimit Ei kannata lähteä suinpäin nettisivuja rakentamaan. Hyvin suunniteltu on enemmän kuin puoliksi tehty. Muuten voi käydä niin, että voit

Lisätiedot

Facta palvelimien uusiminen Helsingin kaupunki

Facta palvelimien uusiminen Helsingin kaupunki Facta palvelimien uusiminen Helsingin kaupunki TARJOUS 70214 06.03.2014 Helsingin kaupunki Kiinteistövirasto Anu Soukki PL 2205 00099 Helsingin kaupunki anu.soukki@hel.fi eero.saarinen@hel.fi tea.tikkanen@hel.fi

Lisätiedot

KILPAILUTTAMO PALVELU

KILPAILUTTAMO PALVELU YLEISET KÄYTTÖEHDOT LAATIMALLA, ESIKATSELEMALLA, SELAAMALLA, LÄHETTÄMÄLLÄ, VASTAANOTTAMALLA TAI LUKEMALLA TARJOUSPYYNNÖN KILPAILUTTAMO:N WWW-SIVUILTA (MYÖHEMMIN PALVELU) SEN LAATIJA (MYÖHEMMIN ASIAKAS)

Lisätiedot

XML -muotoisen raportin luonti

XML -muotoisen raportin luonti XML -muotoisen raportin luonti Anita Mäkinen-Jäntti 20/05/2014 1 SISÄLTÖ XML -tiedostojen kirjoitusmahdollisuudet Tagsettien käyttäminen Data -vaiheen käyttäminen Sähköinen siirtoliike ja XML - tiedoston

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Linux pohjaiset pilvipalvelut Linux järjestelmät TI 11/12 TIVE Santeri Kangaskolkka TI 12 Janne Enroos TI 12 Mikä on

Lisätiedot

ZENworks Application Virtualization 11

ZENworks Application Virtualization 11 ZENworks Application Virtualization 11 ZENworks / perinteinen asennus ZENworks virtualisointi Ei erillistä asennusta Ei vaadita erilisiä oikeuksia Oletusasetukset mukana Eri versiot samanaikaisesti Sama

Lisätiedot

Tiedonsiirto- ja rajapintastandardit

Tiedonsiirto- ja rajapintastandardit Tiedonsiirto- ja rajapintastandardit Viitekehys Julkishallinnon perustietovarantojen rajapinnat (PERA) työryhmän tulokset valmiit syksyllä 2011 Määrittelee teknisen arkkitehtuuriratkaisun tietovarantojen

Lisätiedot

24h Admin V1.00 20.11.2004 / 24h_Admin_v100.pdf 1/9

24h Admin V1.00 20.11.2004 / 24h_Admin_v100.pdf 1/9 24h Admin V1.00 20.11.2004 / 24h_Admin_v100.pdf 1/9 Copyright Yleiskuvaus 1. Perusasioita kirjautumisesta 2. Kirjautuminen 3. Sivut 4. Yläpalkki 5. Sivujen kuvaukset 5.1 Versiotiedot 5.2 Pääsivu 5.3 Valikon

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

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen CUDA Moniydinohjelmointi 17.4.2012 Mikko Honkonen Yleisesti Compute Unified Device Architecture Ideana GPGPU eli grafiikkaprosessorin käyttö yleiseen laskentaan. Nvidian täysin suljetusti kehittämä. Vuoden

Lisätiedot

Yhteisöllinen tapa työskennellä

Yhteisöllinen tapa työskennellä Yhteisöllinen tapa työskennellä Pilvipalvelu mahdollistaa uudenlaisten työtapojen täysipainoisen hyödyntämisen yrityksissä Digitalisoituminen ei ainoastaan muuta tapaamme työskennellä. Se muuttaa meitä

Lisätiedot

VERKKOSOVELLUSTEN OHJELMOINTI, JOHDATUS PHP:HEN

VERKKOSOVELLUSTEN OHJELMOINTI, JOHDATUS PHP:HEN VERKKOSOVELLUSTEN OHJELMOINTI, JOHDATUS PHP:HEN Tämän tehtävän tarkoitus on tutustuttaa ympäristöön sekä tutustuttaa wwwdokumenttien tekoon php:llä. Alkutoimet Varmistetaan, että verkkolevyllä on kansio

Lisätiedot

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö Matopeli C#:lla Aram Abdulla Hassan Ammattiopisto Tavastia Opinnäytetyö Syksy 2014 1 Sisällysluettelo 1. Johdanto... 3 2. Projektin aihe: Matopeli C#:lla... 3 3. Projektissa käytetyt menetelmät ja työkalut

Lisätiedot

- Jarjestelmaasiantuntija Markku Jaatinen

- Jarjestelmaasiantuntija Markku Jaatinen SUOMEN KUNTALIITTO Sairaalapalvelut Terveydenhuollon ATK-päivät 26. - 27.5.1 997 Lahti, Kauppahotelli Grand - Jarjestelmaasiantuntija Markku Jaatinen Telecom Finland Tietojenhallinta Intranetin ja Internetin

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

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Microsoft SQL käyttö Yleistä VisualStudiosta Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: - sovellushallintaan -

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

v4.0 Palvelukuvaus 1.11.2014

v4.0 Palvelukuvaus 1.11.2014 v4.0 Palvelukuvaus 1.11.2014 - 2-5 Internetsivustopaketti nettihelmi nettihelmi on Avaimet käteen Internetsivusto ratkaisu. Palvelu sisältää laadukkaan graafisen ulkoasun nettihelmi perussivupohjaan ja

Lisätiedot

L models. Käyttöohje. Ryhmä Rajoitteiset

L models. Käyttöohje. Ryhmä Rajoitteiset Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Käyttöohje Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset 0.1

Lisätiedot

Juha Peltomäki JAMK/Teknologia

Juha Peltomäki JAMK/Teknologia Juha Peltomäki JAMK/Teknologia Web vuonna 2009 Web on nyt n. 18 vuotta vanha ilmiö Muistatteko Internet-kuplan vuonna 2000? Internetin kaupallistuminen käynnistyi vuonna 1996 (ebay ja Amazon) Amazon saavutti

Lisätiedot

Microsoft Visual Studio 2005

Microsoft Visual Studio 2005 Microsoft Visual Studio 2005 on integroitu kehitysympäristö (Integrated Development Environment) eli (IDE). Kehitysympäristöön kuuluvat seuraavat keskeiset sovelluskehitysvälineet: Ohjelmointikielet C#.NET

Lisätiedot

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0 Toukokuu 2013 1 (10) Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0 Päivitysohje Copyright Aditro 2013 Toukokuu 2013 2 (10) Sisällysluettelo 1. Tehtävät ennen versiopäivitystä... 3 1.1. Ohjelmistomuutosten

Lisätiedot

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille KServer Etäohjaus 1 (5) KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille Palvelimen toteutuksen ollessa versio 1.0, spesifikaation versio 1.0.0. 2009, Riku Eskelinen/ KServer Software Development

Lisätiedot

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä? Se edullisempi tietokanta Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä? Rasmus Johansson rasmus.johansson@microsoft.com Ratkaisumyyntipäällikkö (Sovellusalusta) Microsoft Oy Miten

Lisätiedot

Älykästä. kulunvalvontaa. toimii asiakkaan omassa tietoverkossa

Älykästä. kulunvalvontaa. toimii asiakkaan omassa tietoverkossa Älykästä kulunvalvontaa e Acces toimii asiakkaan omassa tietoverkossa Perinteisen kulunvalvonnan seitsemän pullonkaulaa eli miksi useat yritykset eivät ole hankkineet kulunvalvontajärjestelmää? 1. Koska

Lisätiedot

Pilveä standardisoidaan monessa ryhmässä

Pilveä standardisoidaan monessa ryhmässä 14.10.2011 Uutiskirjeen sisältö Pilvipalveluita koskevien standardien laadinta on alkamassa mm.verkkosovellusten ja tietoturvatekniikkojen ISOn alikomiteoissa.»lue artikkeli kokonaisuudessaan Ohjelmointikieli

Lisätiedot

Integrointi. Ohjelmistotekniikka kevät 2003

Integrointi. Ohjelmistotekniikka kevät 2003 Integrointi Ohjelmistotekniikka kevät 2003 ERP (Toiminnanohjausjärjestelmä) Myynti Henkilöstö, palkanlaskenta Kirjanpito Myynti Myyjät Extranet Tietovarasto Laskutus, reskontrat Asiakas ERP Asiakasrekisteri

Lisätiedot

PUSH palvelut mobiilikehityksessä: Android ja Windows phone 7. Pauli Kettunen

PUSH palvelut mobiilikehityksessä: Android ja Windows phone 7. Pauli Kettunen PUSH palvelut mobiilikehityksessä: Android ja Windows phone 7 Pauli Kettunen Esityksen rakenne 1. Taustaa 2. Push web-ohjelmoinnissa Comet Interaktiomallit 3. Push älypuhelinalustoilla Deacon pilvipalveluna

Lisätiedot

Vedä ja pudota Maamittauslaitoksen JPEG2000-ortoilmakuva GeoTIFF-muotoon

Vedä ja pudota Maamittauslaitoksen JPEG2000-ortoilmakuva GeoTIFF-muotoon Vedä ja pudota Maamittauslaitoksen JPEG2000-ortoilmakuva GeoTIFF-muotoon Jukka Rahkonen http://latuviitta.org Viimeksi muutettu 16. lokakuuta 2012 Tiivistelmä Latuviitta.ogr -sivuston palautteessa kaivattiin

Lisätiedot

LINUX-HARJOITUS, MYSQL

LINUX-HARJOITUS, MYSQL LINUX-HARJOITUS, MYSQL Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

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

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

Lisätiedot

Maanmittauslaitoksen nimistö Spatialite-tietokantana. - kuvitettu ohje Quantum GIS 1.8.0 -ohjelmaa varten

Maanmittauslaitoksen nimistö Spatialite-tietokantana. - kuvitettu ohje Quantum GIS 1.8.0 -ohjelmaa varten Maanmittauslaitoksen nimistö Spatialite-tietokantana - kuvitettu ohje Quantum GIS 1.8.0 -ohjelmaa varten Taustaa Maanmittauslaitoksen nimistöaineistot ovat ladattavissa tekstitiedostoina Maanmittauslaitoksen

Lisätiedot

ATK yrittäjän työvälineenä

ATK yrittäjän työvälineenä ATK yrittäjän työvälineenä Internet viestintä- ja kauppakanavana Timo Laapotti / F4U - Foto For You f4u@f4u.fi http://f4u.fi/mlykl/ 27.5.2008 Tietoverkko Tietoverkossa on yhteen kytkettyjä tietokoneita.

Lisätiedot

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Kieliversiointityökalu Java-ohjelmistoon. Ohje Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5

Lisätiedot