Verkkosovellusten mallintaminen

Koko: px
Aloita esitys sivulta:

Download "Verkkosovellusten mallintaminen"

Transkriptio

1 Verkkosovellusten mallintaminen Luento Ohjelmistojen suorituskyky 1 VERKKOSOVELLUKSET Ohjelmistojen suorituskyky 2 Helsingin Yliopisto / Tktl 1

2 Taustaa Monet nykyiset kuluttajasovellukset ovat joko verkon yli selaimen kautta käytettäviä palveluja Verkkopankki, web-kaupat, google docs, tai päätelaitteella (PC, tabletti) suoritettavia natiivi -applikaatioita, jotka käyttävät pilvessä olevia resursseja internetin yli Musiikkipalvelut, yhteisöpalvelut, tiedostonjakopalvelut, uutispalvelut, navigointi jne. Thin client, fat client, RIA, Ohjelmistojen suorituskyky 3 Taustaa Tällaisten sovellusten suorituskykyyn vaikuttavat seuraavat seikat Toimintaan osallistuvien objektien/komponenttien sijoittelu eri laitteille ja niiden prosessointiyksiöille (omiksi prosesseikseen) Objektien välisen kommunikoinnin frekvenssi Kommunikaation synkronisuus Kommunikaatiossa siirretyn data määrä Objektien tekemän prosessoinnin määrä Monisäikeisten objektien käyttö Ohjelmistojen suorituskyky 4 Helsingin Yliopisto / Tktl 2

3 Web-sovellukset Tyypillisessä web-sovelluksessa asiakasohjelma (client, yleensä web-selain) kommunikoi http-yhteyttä käyttäen internetin yli palvelinohjelmiston (web server) kanssa Kts. Client-Server arkkitehtuurityyli Asiakkaan pyynnön ottaa vastaan web-palvelin, joka tulkitsee pyynnön käynnistäen varsinaisen sovelluksen (web application) Web sovellus käyttää erilaisia resursseja (esim. tietokanta) muodostaaksen vastauksen asiakkaan pyyntöön esim. html sivun tai data-objektin, jonka asiakasohjelma renderöi eli näyttää käyttäjälle käyttöliittymässään Web sovellus voi myös toimia fasaadina (wrapper) johonkin legacyjärjestelmään (perinteinen keskuskone- eli mainframe-ratkaisu), joka ei itse tarjoa web-liittymää asiakkaille Ohjelmistojen suorituskyky 5 Geneerinen web-sovelluksen arkkitehtuuri Ohjelmistojen suorituskyky 6 Helsingin Yliopisto / Tktl 3

4 Suorituskyky Sekä responssivisuus että skaalautuvuus ovat tärkeitä ominaisuuksia web-sovelluksille Käyttäjät (asiakkaat) eivät halua odottaa pitkään 1, vaan siirtyvät herkästi käyttämään toista palvelua Internetissä avoimesti saatavilla oleviin palveluihin voi kohdistua yhtäkkisiä ryntäyksiä, jolloin käyttäjämäärät kasvavat hvyin suuriksi lyhyessä ajassa 1 Nah, Fiona Fui-Hoon. "A study on tolerable waiting time: how long are web users willing to wait?. Behaviour & Information Technology 23.3 (2004): Ohjelmistojen suorituskyky 7 Suorituskyvyn kannalta huomionarvoisia seikkoja on monia Käyttäjämäärien ja työkuormien ennakointi Web applikaatio teknologian valinta (framework) Komponenttien sijoittelu prosessointiyksiköihin Virtualisoinnin vaikutus Tietokantaliittymien ja tietokantojen suorituskyky (SQL, No-SQL, dfs+map-reduce), palvelinten sijoittelu Käyttäjien autentikointi, pääsyn valvonta ja muu tietoturvaan liittyvä Instrumentointi käytön profiloimiseksi Liittymät legacy-järjestelmiin Mobiili koodi (JavaScript-komponenttien lataus clientiin) Ohjelmistojen suorituskyky 8 Helsingin Yliopisto / Tktl 4

5 Hajautetut oliot eli DISTRIBUTED OBJECT TECHNOLOGY Ohjelmistojen suorituskyky 9 Distributed Object Technology Smith & Williams:in kirjan ilmestymisen aikaan olioteknologia oli vahvassa nousussa ja sen ajateltiin sopivan luontevasti myös hajautettujen järjestelmien toteuttamiseen Kehitettiin käyttöjärjestelmätason oliomalleja ja väliohjelmistoja (middleware), joiden ideana oli piilottaa olion fyysinen sijoittelu (prosessi ja laite) sen kanssa vuorovaikutuksessa olevilta toisilta olioilta CORBA, COM+, J2EE Ohjelmistojen suorituskyky 10 Helsingin Yliopisto / Tktl 5

6 DOT:n rajoitukset Hajautettujen olioiden käyttäjän kannalta niiden ohjelmallinen käyttö ei näennäisesti eroa paikallisten ( tavallisten ) olioiden käyttämisestä Rajapinta on täysin samanlainen, eikä käyttäjällä ole mitään tietoa varsinaisen olion (palvelun toteuttajan) fyysisestä sijainnista Eri prosessissa samalla tietokoneella, palvelinkoneessa samassa lähiverkossa tai jossain palvelinkeskuksessa WAN yhteyden takana Palvelun toteutuksen fyysistä sijaintia voidaan jopa siirtää käyttäjien sitä huomaamatta Ohjelmistojen suorituskyky 11 DOT:n rajoitukset Teoriassa DOT vähentää ohjelman kompleksisuutta koodin tasolla, mutta suorituskyvyn hallinnan kannalta tekniikan käytöllä on haitallisia sivuvaikutuksia Hajautettujen olioiden operaatioiden kutsuissa on aina viivettä (väliohjelmiston yleisrasite, tiedon siirto), jonka suuruutta ohjelmoijan voi olla hyvin vaikea arvioida - sikäli kuin hän edes tietää viiveestä Suorituskyvyn parantamiseksi olioiden sijoittelu täytyy usein kuitenkin kiinnittää ja väliohjelmistot ohittaa paikallisia olioita käytettäessä Ohjelmistojen suorituskyky 12 Helsingin Yliopisto / Tktl 6

7 Hajautetut ohjelmistot DOT perustuu oletuksille, jotka ovat vääriä hajautettujen ohjelmistojen suorituskyvyn kannalta: Sovelluksilla on luonnollinen olioperustainen muoto, joka on riippumaton sijoittelusta suoritusympäristöön Suorituskyky riippuu komponenttien sisäisestä implementaatiosta, eikä sovelluksen arkkitehtuuri vaikuta siihen Olion rajapinta on riippumaton sen käyttökontekstista (esim. tuki rinnakkaiselle käytölle) Ohjelmistojen suorituskyky 13 Hajautetut ohjelmistot Hajautettu laskenta eroaa paikallisesta neljällä perustavalla osa-alueella 1. Operaatioiden viive (latency) 2. Muistiviittaukset (memory access) 3. Osittainen toimintahäiriö (partial failure) 4. Rinnakkaisuus Käytännössä näitä ei voi jättää huomiotta suorituskykyisiä hajautettuja ohjelmistoja kehitettäessä Ohjelmistojen suorituskyky 14 Helsingin Yliopisto / Tktl 7

8 Viive (latency) Viiveellä tarkoitetaan paikallisen operaation ja etäoperaation kutsun vastausajan välistä eroa Suuruus monta kertaluokkaa Viiveeseen vaikuttavat Tietoliikenneyhteyden nopeus Väliohjelmiston aiheuttama yleisrasite Muistiviittaukset eri osoiteavaruuksien välillä Kommunikaatio on laskentaa kalliimpaa suoritusajan suhteen joten kommunikaatiokustannukset dominoivat hajautetuissa ohjelmissa Ohjelmistojen suorituskyky 15 Muistiviittaukset (memory access) Paikallisia, samassa muistiavaruudessa sijaitsevia olioita voidaan käsitellä suorien osoittimien kautta ilman suurta viivettä Eri muistiavaruuksissa sijaitsevia (etä-)olioita on käsiteltävä erityisten kahvojen (handle) tai viiteobjektien kautta (references), mikä lisää yleisrasitetta suoriin osoittimiin verrattuna Rasite kertautuu viittausten määrän suhteessa Ohjelmistojen suorituskyky 16 Helsingin Yliopisto / Tktl 8

9 Osittaiset häiriöt (partial failures) Hajautetun ohjelmiston komponentit voivat vikaantua toisistaan riippumatta Tietoliikenneyhteys, yksittäiset laitteet tai suorittimet Häiriöistä toipuminen on hankalaa, koska järjestelmällä ei ole yhtä globaalia tilaa, jonka voisi tallettaa ja palauttaa keskitetysti Kaksi periaatteellista tapaa käsitellä Käsitellä kaikkia olioita paikallisina, ja luottaa väliohjelmiston poikkeuskäsittelyyn Käsitellä kaikkia olioita etäolioina, mikä poistaa epädeterminismin mutta lisää viivettä ja tekee paikallisten olioiden käytöstä tarpeettoman monimutkaista Ohjelmistojen suorituskyky 17 Rinnakkaisuus Hajautetussa sovelluksessa olion metodeja voidaan suorittaa rinnakkaisissa säikeissä Olion datan eheyden säilyttämiseksi metodit täytyy koodata sopivia poissulkemismekanismeja (mutual exclusion) käyttäen Jos olioita ei haluta koodata niin, että jokaisen rinnakkaista käyttöä täytyy erikseen miettiä, vaihtoehtoja on periaatteessa kolme 1. Ei välitetä koko ongelmasta -> vakavien häiriöiden riski suuri 2. Suojataan kaikki oliot niin, että niitä voi käyttää vain yhdestä säikeestä kerrallaan -> suorituskykyongelmat voivat vaatia olioiden muuttamista monisäikeisiksi myöhemmin 3. Tehdään kaikista olioista monisäikeistä käyttöä tukevia -> aidosti yksisäikeisistä olioista tulee turhan monimutkaisia ja metodikutsuihin tulee lisää viivettä Ohjelmistojen suorituskyky 18 Helsingin Yliopisto / Tktl 9

10 Hajautettujen ohjelmistojen kehittäminen Hajautettujen (olio-) sovellusten kehittäminen miettimättä komponenttien fyysistä sijoittelua ja niitten välisiä kommunikaatiomekanismeja on kaunis mutta epärealistinen ajatus Realistisempi lähestymistapa on miettiä olioiden hajatutusta jo kehityksen alkuvaiheessa, koska tällaisten suunnittelupäätösten muuttaminen myöhemmin on hankalaa Esimerkiksi jos tiedetään jonkin olion/palvelun olevan etäolio, kannattaa valita arkkitehtuuri, joka minimoi olion/palvelun kutsujen määrän ja maksimoi kutsujen tuottaman hyödyn Ohjelmistojen suorituskyky 19 SPE JA HAJAUTETUT JÄRJESTELMÄT Ohjelmistojen suorituskyky 20 Helsingin Yliopisto / Tktl 10

11 SPE Paitsi komponenttien toteutuksesta, hajautetun ohjelmiston tai verkkosovelluksen suorituskyky riippuu pitkälti eri komponenttien välisen kommunikaation luonteesta ja taajuudesta (frequency) SPE-menetelmät tarjoavat mahdollisuuden ottaa olioiden hajautus ja verkkosovellusten erityispiirteet huomioon ohjelmistokehityksen aikaisessa vaiheessa SPE:n mallinnustrategiaa noudattaen aluksi mallinnetaan etäpalvelupyyntöjen suoritus yksinkertaisesti tietyn suuruisena viiveenä ohjelmasuoritusmalleissa Myöhemmässä vaiheessa malleihin lisätään synkronointipiirteitä, jolla (palvelin-) osamallien ratkaisut saadaan kytkettyä niitä käyttäviin malleihin Ohjelmistojen suorituskyky 21 Kommunikaation ja synkronoinnin tyyppi Itsenäisten (osa-) järjestelmien välisessä vuorovaikutuksessa tunnistetaan neljä kommunikaatiotyyppiä Synkroninen Asynkroninen Viivästetty synkroninen Asynkroninen takaisinkutsuun perustuva Kommunkikaation tyyppi vaikuttaa kutsuvan komponentin/prosessin toiminnan ajoitukseen ja siten sen havaittuun suorituskykyyn Ohjelmistojen suorituskyky 22 Helsingin Yliopisto / Tktl 11

12 Ajoituskaaviot Seuraavissa ajoituskaavioissa aktiivinen tila tarkoittaa asiakkaan pyyntöön liittyvää prosessointia ja toimeton tila, että elementti ei tee mitään asiakkaan pyyntöön liittyvää juuri silloin Toimintaa tarkastellaan siis asiakkaan näkökulmasta Oletetaan asiakkaan ja palvelimen sijaitsevan eri laitteissa, joita yhdistää tietoliikenneverkko Ohjelmistojen suorituskyky 23 Synkronisen kommunikaation ajoituskaavio Client Network Server Active Idle Active Idle Active Idle Asiakkaan toiminta ei voi jatkua, ennen kuin palvelimelta tulee vastaus Ohjelmistojen suorituskyky 24 Helsingin Yliopisto / Tktl 12

13 Asynkronisen kommunikaation ajoituskaavio Client Network Server Active Idle Active Idle Active Idle Asiakkaan toiminta jatkuu, eikä se odota mitään vastausta Ohjelmistojen suorituskyky 25 Viivästetyn synkronisen kommunikaation ajoituskaavio Client Network Server Active Idle Active Idle Active Idle Asiakkaan toiminta jatkuu vielä pyynnön lähetyksen jälkeen, mutta jonkin ajan kuluttua se pysähtyy odottamaan vastausta Ohjelmistojen suorituskyky 26 Helsingin Yliopisto / Tktl 13

14 Asynkroninen takaisinkutsu Ajoituskaavio on samannäköinen kuin viivästetyn synkronisen kutsun kaavio Erona on, että asiakkaan tekemän asynkroninen kutsu palvelimelle sisältää tarvittavan informaation, jotta palvelin voi puolestaan tehdä asiakkaan suuntaan asynkronisen kutsun pyynnön valmistuttua Ohjelmistojen suorituskyky 27 Synkronoinnin esitys suoritusverkoissa Kutsuva prosessi Kutsuttu prosessi Nimi Synkroninen kutsu - Kutsuja odottaa vastausta Vastaus Viivästetty synkroninen kutsu - Prosessointia tapahtuu, mutta odota vastausta Ei vastausta Asynkroninen kutsu - Ei odoteta vastausta Huom! synkronointi tapahtuu kutsuvassaprosessissa, ja siksi kutsuttua prosessia ei kiinnosta kutsun tyyppi, vaan halutaanko vastaus vai ei Ohjelmistojen suorituskyky 28 Helsingin Yliopisto / Tktl 14

15 Väliohjelmistojen yleisrasitteen käsittely Kommunikaatioprotokolliin liittyy oma yleisrasitteensa, joka näkyy viiveenä viestinvälityksessä DOT:aan enemmän kuin muihin mekanismeihin SPE:ssä yleisrasitetta ei mallinneta eksplisiittisesti, vaan se sisällytetään palvelinprosessien kutsuihin Ajatuksena on, että rasite voidaan mitata ja arvioida benchmark -mittauksin Ohjelmistojen suorituskyky 29 HAJAUTETUN OHJELMISTON SUORITUSMALLI Ohjelmistojen suorituskyky 30 Helsingin Yliopisto / Tktl 15

16 Likimääräiset ratkaisut Yksityiskohtaisten synkronoitua käyttäytymistä sisältävien mallien ratkaiseminen (simuloimalla) voi vaatia paljon aikaa SPE:n mallinnusstrategian mukaan mallien likimääräiset ratkaisut ovat riittävän hyviä vakavien ongelmien havaitsemiseksi ja erilaisten vaihtoehtojen analysoimiseksi Arkkitehtuurin valinnan jälkeen kehitysprojektin myöhemmissä vaiheissa voidaan sitten käyttää yksityiskohtaisempia malleja ja simulointia tarkempien tulosten saamiseksi Ohjelmistojen suorituskyky 31 Suoritusmallin rakenne Malli rakennetaan hajautetun järjestelmän eri laskentasolmujen eli laitosten (facility, location) tarjoamien resurssien perustalta Ohjelmiston prosessointi tapahtuu laitoksissa Mallinnetaan laitokset, joiden arvioidaan vaikuttavan eniten koko järjestelmän suorituskykyyn Valitaan laitokset, joihin kohdistuu suurin kysyntä -> ne tekevät paljon työtä tai ovat suhteellisen hitaita Ohjelmistojen suorituskyky 32 Helsingin Yliopisto / Tktl 16

17 Suoritusmallin rakenne Jokaiselle mallinnettavaksi valitulle laitokselle laaditaan suorituskykyskenaario Aktiivisille olioille (palveluille, sovelluksille) määritellään niiden tarvitsemat resurssit ja arvioidaan niiden välisen kommunikaation viive Aktiivisten olioiden mallinnus voidaan myöhemmin viedä prosessien tasolle, jos on tarpeen Ohjelmistojen suorituskyky 33 Koordinaatio Jos toiminnan koordinaatio perustuu asynkronisiin takaisinkutsuihin tai viivästettyihin synkronisiin kutsuihin ja kutsuttu prosessi ehtii palauttaa tuloksen ennen kuin kutsuja tarvitsee sitä, kutsujan kokema viive on 0 Asynkronisiin kutsuihin ei liity viivettä (paitsi viestin lähetyksen aiheuttama prosessointi) Synkronisiin kutsuihin liittyy kutsujan kokema viive Ohjelmistojen suorituskyky 34 Helsingin Yliopisto / Tktl 17

18 Suoritusmallin ratkaiseminen Mallin ratkaisemiseksi täytyy tietää Suoritusverkkojen solmujen resurssitarpeet (ohjelmisto- ja laiteresurssit) Viiveet synkronointisolmuissa (kutsujan kokema) Verkon yli lähetettyjen viestien määrä Etäkutsujen käsittelystä väliohjelmistossa aiheutuva yleisrasite Ohjelmistojen suorituskyky 35 Suoritusmallin ratkaiseminen Asiakasprosessin skenaariossa esiintyvän palvelinkutsun synkronointitapaan liittyvä viive arvioidaan aluksi Kun palvelinprosessin kutsuttua skenaariota vastaava suoritusverkko on ratkaistu, arviota voidaan ratkaisun perusteella täsmentää ja malli ratkaistaan uudestaan Muutaman iteraatiokierroksen jälkeen ratkaisu yleensä vakiintuu Huom! samanaikaisesti palveltavien asiakkaiden lukumäärän vaikutusta vastausaikaan ja asiakkaiden kokemaan viiveeseen arvioidaan järjestelmätason suoritusmalleilla, ei näillä malleilla Ohjelmistojen suorituskyky 36 Helsingin Yliopisto / Tktl 18

19 Suoritusmallin ratkaiseminen Näiden likimääräisten suoritusmallien ratkaisut tuottavat kvantitatiivista tietoa eri valintojen yhteisvaikutuksesta Objektien sijoittelu prosesseihin ja laskentasolmuihin Objektien välisen kommunikoinnin taajuus Kommunikaatioon liittyvä synkronointi (koordinaatio) Kommunikaatiossa siirretyn datan määrä Objektien tekemän prosessoinnin määrä Ohjelmistojen suorituskyky 37 Suoritusmallin ratkaiseminen Suorituskykyongelmien korjaaminen vaatii arkkitehtuurivaihtoehtojen evaluointia Vaihtoehtoja tutkitaan malleilla Objektien sijoittelua muuttamalla Kommunikaation määrää vähentämällä Muuttamalla käytettyä syknronointitapaa Muuttamalla objektien vastuita ja prosessointia Ohjelmistojen suorituskyky 38 Helsingin Yliopisto / Tktl 19

20 ESIMERKKI Ohjelmistojen suorituskyky 39 Web -kauppa Yksinkertainen e-kauppasovellus Käyttäjä menee selaimella web-kaupan sivulle ja alkaa valita tuotteita ostettavaksi Kun tuotteet on valittu, käyttäjä menee kassalle (check out), ja web-kauppa muodostaa tilauksen Kun tilaus on valmis, käyttäjälle näytetään tilauksen vahvistus Järjestelmä on koottu legacy-komponenteista Tämä esimerkki perustuu todelliseen sovellukseen Ohjelmistojen suorituskyky 40 Helsingin Yliopisto / Tktl 20

21 Web -kauppa Esimerkki on tarkoituksella pidetty yksinkertaisena, ja monia yksityiskohtia on jätetty pois Varsinaisia sovelluskutsuja edeltävä Web palvelinpyyntöjen (http) prosessointi Palomuuri, viestien salaus ja purkaminen, autentikointi jne. Mielenkiinnon kohteena on nimenomaan pyynnön totetutus web-kaupan näkökulmasta ( time in the box ), joten käyttäjälle näytettävien web-sivujen lähetys ja renderöinti on jätetty pois Esimerkin perusteellisempi käsittely on myöhemmin kurssikirjassa (Luvussa 6) Ohjelmistojen suorituskyky 41 checkout -skenaario Synkronisia kutsuja Ohjelmistojen suorituskyky 42 Helsingin Yliopisto / Tktl 21

22 checkout querydb updatedb trigger OrderProcess ack Web Server Network Mainframe Active Idle Active Idle Active Idle Ohjelmistojen suorituskyky 43 Skenaarion suoritusverkko Käyttäjä kassalle enterorder checkout Vahvistus käyttäjälle Tämä verkko vastaa koko sekvenssiä enterorder vastaa ostoskorin täyttämistä (yksityiskohdat jätetty pois tästä mallista) Mallinnuksen varsinaisena kohteena oleva toiminta on solmussa checkout, jonka suoritusaika halutaan selvittää Viivästetty synkroninenkutsu, koska käyttäjä voi tehdä jotain muuta odottaessaan tilausvahvistusta Ohjelmistojen suorituskyky 44 Helsingin Yliopisto / Tktl 22

23 startcheckout initiateorder trigger OrderProcess Web Server laitos checkout -solmun laajennos querydb updatedb WorkUnits 2 DB 2 Msgs 0 Delay 0 WorkUnits 2 DB 0 Msgs 1 Delay 1 WorkUnits 2 DB 10 Msgs 0 Delay 0 WorkUnits 2 DB 0 Msgs 1 Delay 1 WorkUnits 1 DB 0 Msgs 1 Delay 0 Ohj.resurssit DB: ordertaker:n paikallinen tietokanta WorkUnits: CPU Msgs: viestien määrä etäobjektien välillä Delay: arvioitu etäobjektin operaation keston aiheuttama viive Synkronisten kutsujen WorkUnits tarkoittaa synkronisten tietokantakutsujen muodostamiseen ja lähettämiseen kuluvaa aikaa Ohjelmistojen suorituskyky 45 Web Server laitoksen Prosessointikustannukset Device CPU Disk Delay GINet Quantity Service Unit Kinstr. I/Os Visits Msgs. Paikallinen tietokanta Sisältää väliohjelmiston yleisrasitteen WorkUnits 25 DB Msgs Delay 1 Service time (per unit of service) s 0.05s 0.5s 0.1s Laitoksesta erillinen resurssi, jota muutkin objektit voivat käyttää Ohjelmistojen suorituskyky 46 Helsingin Yliopisto / Tktl 23

24 checkout verkon ratkaisu startcheckout querydb CPU Disk GINet Delay Yht: initiateorder updatedb trigger OrderProcess Ohjelmistojen suorituskyky 47 dbprocess Mainframe laitos Tietokantaskenaario WorkUnits 2 p = 0.5 p = 0.5 query update WorkUnits 0 DB 1 Msgs 1 Delay 0 WorkUnits 0 DB 2 Msgs 1 Delay 0 p = 0.0 write WorkUnits 0 DB 1 Msgs 1 Delay 0 Vastaa Database objektia alkuperäisessä skenaariossa Tässä skenaariossa write operaation todennäköisyys on 0 Verkon ratkaisu tuottaa ajan 0.24 sekuntia, joka on OK eikä aiheuta tarvetta tarkistaa checkout verkon arvioita Ohjelmistojen suorituskyky 48 Helsingin Yliopisto / Tktl 24

25 Mainframe laitos orderprocess -skenaario processdetails WorkUnits 200 DB 20 Msgs 0 Delay 0 Vastaa OrderProcess objektia alkuperäisessä skenaariossa Ratkaisu tuottaa ajan 1.6 sekuntia, mikä ei sekään aiheuta toimenpiteitä koko skenaariota ajatellen Asynkroninen kutsu web serveriltä Ohjelmistojen suorituskyky 49 MALLINNUSVINKKEJÄ Ohjelmistojen suorituskyky 50 Helsingin Yliopisto / Tktl 25

26 Vinkkejä Suorituskykyskenaariot Tee jokaiselle laitokselle (laskentasolmulle) omat suorituskykyskenaarionsa Määrittele laitosten aktiivisten toimijoiden (objektien) resurssivaatimukset ja arvioi niiden välinen viive Vie tarkastelu prosessien tasolle myöhemmin, jos on tarpeen Ohjelmistojen suorituskyky 51 Vinkkejä Varhaiset mallit Kehitysprojektin aikaisessa vaiheessa malleissa ei ole tarpeen käyttää synkronointisolmuja Etäobjektien kanssa kommunikoiville perussolmuille voi määritellä yksinkertaisesti Delay ohjelmistoresurssin (viive), jonka käyttö solmussa vastaa arviota todellisesta viiveestä Yksinkertaisuus on tärkeätä alkuvaiheessa, jossa pyritään karsimaan selvästi ongelmalliset ratkaisut ja miettimään vaihtoehtoja Viivesolmut voi myöhemmin korvata synkronoinnilla Ohjelmistojen suorituskyky 52 Helsingin Yliopisto / Tktl 26

27 Vinkkejä Synkronointi Käytä varhaisissa malleissa synkronista kommunikaatiota vain, jos vastaus tarvitaan Muuten käytä asynkronista kommunikaatiota Mallin ratkaisu osoittaa tapaukset, joissa synkroninen kommunikaatio aiheuttaa liikaa viivettä, jolloin pitää keskittyä viivettä pienentäviin vaihtoehtoihin Jos objektien sijoittelun tai kommunikaation kulun muuttaminen eivät auta, kokeile kutsujen muuttamista viivästetyiksi synkronisiksi tai asynkronisiksi takaisinkutsuiksi Ohjelmistojen suorituskyky 53 Vinkkejä Implementoinnin ja testauksen helpottamiseksi pitäydy synkronisessa ja asynkronisessa kommunikaatiossa niin pitkään kuin mahdollista Huomaa kuitenkin, että modernit ohjelmistokehitysympäristöt ja kielet tukevat aikaisempaa paremmin viivästettyä synkronista ja asynkronista takaisinkutsuihin perustuvaa kommunikaatiota Ohjelmistojen suorituskyky 54 Helsingin Yliopisto / Tktl 27

Ohjelmasuoritusmalli ja sen käyttö

Ohjelmasuoritusmalli ja sen käyttö Ohjelmasuoritusmalli ja sen käyttö Luento 3 58153003 Ohjelmistojen suorituskyky 1 Skenaarioiden suorituksen kuvaaminen OHJELMASUORITUSMALLI SOFTWARE EXECUTION MODEL 58153003 Ohjelmistojen suorituskyky

Lisätiedot

Suorituskykydatan kerääminen

Suorituskykydatan kerääminen Suorituskykydatan kerääminen Luento 9 58153003 Ohjelmistojen suorituskyky 1 Mistä data suorituskykymalleihin? Tähän asti olemme olettaneet, että suorituskykymallien vaatima lähtödata on jo olemassa ja

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

Suorituskyky ja ohjelmistokehitys Suorituskykymallit

Suorituskyky ja ohjelmistokehitys Suorituskykymallit Suorituskyky ja ohjelmistokehitys Suorituskykymallit Luento 2 58153003 Ohjelmistojen suorituskyky 1 SUORITUSKYKYISTEN OHJELMISTOJEN KEHITTÄMINEN 58153003 Ohjelmistojen suorituskyky 2 Helsingin Yliopisto

Lisätiedot

Esimerkki ohjemasuoritusmallien käytöstä

Esimerkki ohjemasuoritusmallien käytöstä Esimerkki ohjemasuoritusmallien käytöstä Luento 4 58153003 Ohjelmistojen suorituskyky 1 SEKVENSSIKAAVIOISTA SUORITUSVERKKOIHIN 58153003 Ohjelmistojen suorituskyky 2 Helsingin Yliopisto / Tktl 1 Sekvenssit

Lisätiedot

Järjestelmätason mallit III

Järjestelmätason mallit III Järjestelmätason mallit III Luento 8 58153003 Ohjelmistojen suorituskyky 1 KEHITYSPROJEKTIN ALKUVAIHEEN MALLIT 58153003 Ohjelmistojen suorituskyky 2 Helsingin Yliopisto / Tktl 1 Alkuvaiheen arviot Järjestelmän

Lisätiedot

Sovellusarkkitehtuurit

Sovellusarkkitehtuurit HELIA TiKo-05 1 (9) Sovellusarkkitehtuurit ODBC (Open Database Connectivity)... 2 JDBC (Java Database Connectivity)... 5 Middleware... 6 Middleware luokittelu... 7 Tietokanta -middleware... 8 Tapahtumamonitorit

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

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) Hajautettu tietokanta. Hajautuksen hyötyjä

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta Hajautettu tietokanta Jokainen hajautettu tietokanta muodostaa oman kokonaisuutensa Loogisesti yhtenäinen data on hajautettu tietokantoihin (eri

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

Ohjelmistojen mallintaminen, sekvenssikaaviot

Ohjelmistojen mallintaminen, sekvenssikaaviot 582104 - Ohjelmistojen mallintaminen, sekvenssikaaviot 1 Vuorovaikutussuunnittelu Oliojärjestelmän toiminta perustuu olioiden vuorovaikutukseen ja yhteistyöhön Olioiden yhteistyö toteutuu operaatioiden

Lisätiedot

Cisco Unified Computing System -ratkaisun hyödyt EMC- ja VMwareympäristöissä

Cisco Unified Computing System -ratkaisun hyödyt EMC- ja VMwareympäristöissä Cisco Unified Computing System -ratkaisun hyödyt EMC- ja VMwareympäristöissä EMC Forum 22.10.2009 Lauri Toropainen ltoropai@cisco.com 2009 Cisco Systems, Inc. All rights reserved. 1 ICT-infrastruktuuriin

Lisätiedot

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit 6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit Tietovuoarkkitehtuurit Palveluihin perustuvat arkkitehtuurityylit Asiakas-palvelin arkkitehtuurit Viestinvälitysarkkitehtuurit

Lisätiedot

Suorituskyvyn varmistaminen sovelluskehityksen eri vaiheissa Paavo Häkkinen, Presales Teamleader Compuware Finland

Suorituskyvyn varmistaminen sovelluskehityksen eri vaiheissa Paavo Häkkinen, Presales Teamleader Compuware Finland Suorituskyvyn varmistaminen sovelluskehityksen eri vaiheissa Paavo Häkkinen, Presales Teamleader Compuware Finland Epäonnistuminen ei ole vaikeaa Approximately 40% of mission-critical mainframe projects

Lisätiedot

Viestinvälitysarkkitehtuurit

Viestinvälitysarkkitehtuurit Viestinvälitysarkkitehtuurit Lähtökohta: Järjestelmä koostuu keskenään kommunikoivista komponenteista, mahdollisesti hajautettuja Komponenttien palveluja ei tiedetä tarkasti etukäteen Komponentteja ja

Lisätiedot

Viestinvälitysarkkitehtuurit Lähtökohta:

Viestinvälitysarkkitehtuurit Lähtökohta: Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Viestinvälitysarkkitehtuurit Lähtökohta: Järjestelmä koostuu keskenään kommunikoivista komponenteista, mahdollisesti

Lisätiedot

14. Luento: Kohti hajautettuja sulautettuja järjestelmiä. Tommi Mikkonen,

14. Luento: Kohti hajautettuja sulautettuja järjestelmiä. Tommi Mikkonen, 14. Luento: Kohti hajautettuja sulautettuja järjestelmiä Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Johdanto Hajautettujen järjestelmien väyliä LON CAN Pienen laitteen sisäinen hajautus OpenCL Network

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

Tässä kertauksena SOA ja palvelu.

Tässä kertauksena SOA ja palvelu. 1 Tässä kertauksena SOA ja palvelu. Eri lähteet esittävät erilaisia vaatimuksia SOA-järjestelmän osasille eli palveluille. Yleisimpiä ja tärkeimpiä ovat autonomisuus, löyhä sidonta, toteutusriippumaton

Lisätiedot

Seminaari: Hajautetut algoritmit syksy 2009

Seminaari: Hajautetut algoritmit syksy 2009 Seminaari: Hajautetut algoritmit syksy 2009 http://www.cs.helsinki.fi/u/josuomel/sem-2009s/ Jukka Suomela 10.9.2009 Seminaari: Hajautetut algoritmit syksy 2009 Seminaarin työmuodot 2 / 38 Aikataulu ja

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

Oppimistavoitteet kurssilla Rinnakkaisohjelmointi

Oppimistavoitteet kurssilla Rinnakkaisohjelmointi 17.5.2006 1/5 Oppimistavoitteet kurssilla Rinnakkaisohjelmointi Rinnakkaisuus ja rinnakkaisuuden soveltaminen tietojenkäsittelyjärjestelmissä Kurssin Tietokoneen toiminta perusteella ymmärtää, miten ohjelman

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

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

Siemens Webserver OZW672

Siemens Webserver OZW672 Siemens Webserver OZW67 Climatix IC pilvipalvelu Kytke laite lämpöpumpun ohjaimeen Kytke laite verkkopiuhalla internetiin Mene nettiselaimella Climatix IC palveluun Luo käyttäjätili ja rekisteröi laite

Lisätiedot

Gree Smart -sovelluksen (WiFi) asennus- ja käyttöohje: Hansol-sarjan ilmalämpöpumput WiFi-ominaisuuksilla

Gree Smart -sovelluksen (WiFi) asennus- ja käyttöohje: Hansol-sarjan ilmalämpöpumput WiFi-ominaisuuksilla 02/2016, ed. 5 KÄYTTÖOHJE Gree Smart -sovelluksen (WiFi) asennus- ja käyttöohje: Hansol-sarjan ilmalämpöpumput WiFi-ominaisuuksilla Maahantuoja: Tiilenlyöjänkuja 9 A 01720 Vantaa www.scanvarm.fi Kiitos

Lisätiedot

6. Arkkitehtuurityylit

6. Arkkitehtuurityylit 6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit - Kerrosarkkitehtuurit - Tietovuoarkkitehtuurit Palveluihin perustuvat arkkitehtuurityylit - Asiakas-palvelin arkkitehtuurit - Viestinvälitysarkkitehtuurit

Lisätiedot

Rinnakkaisuuden hyväksikäyttö peleissä. Paula Kemppi

Rinnakkaisuuden hyväksikäyttö peleissä. Paula Kemppi Rinnakkaisuuden hyväksikäyttö peleissä Paula Kemppi 24.4.2008 Esityksen rakenne Johdantoa Rinnakkaisuus Pelimoottorien rinnakkaisuuden mallit Funktionaalisen rinnakkaisuuden malli Rinnakkaisen tiedon malli

Lisätiedot

FuturaPlan. Järjestelmävaatimukset

FuturaPlan. Järjestelmävaatimukset FuturaPlan Järjestelmävaatimukset 25.1.2017 2.2 Hermiankatu 8 D tel. +358 3 359 9600 VAT FI05997751 33720 Tampere fax. +358 3 359 9660 www.dbmanager.fi i Versiot Versio Päivämäärä Tekijä Kommentit 1.0

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

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi 1. Luento: Sulautetut Järjestelmät Arto Salminen, arto.salminen@tut.fi Agenda Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu

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

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

JHS 180 Paikkatiedon sisältöpalvelut Liite 4 INSPIRE-palvelujen laadun testaus

JHS 180 Paikkatiedon sisältöpalvelut Liite 4 INSPIRE-palvelujen laadun testaus JHS 180 Paikkatiedon sisältöpalvelut Liite 4 INSPIRE-palvelujen laadun testaus Versio: 28.2.2013 Julkaistu: 28.2.2013 Voimassaoloaika: toistaiseksi Sisällys 1 Yleiset vaatimukset... 2 2 Latauspalvelun

Lisätiedot

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä? Miksi moniprosessorijärjestelmä? Laskentaa voidaan hajauttaa useammille prosessoreille nopeuden, modulaarisuuden ja luotettavuuden vaatimuksesta tai hajauttaminen voi helpottaa ohjelmointia. Voi olla järkevää

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

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

Kaikki analogiset järjestelmät digitaalisiksi ja verkkokäyttöisiksi - jo tänään Kustannustekkuutta ja joustavuutta työskentelyyn

Kaikki analogiset järjestelmät digitaalisiksi ja verkkokäyttöisiksi - jo tänään Kustannustekkuutta ja joustavuutta työskentelyyn Kaikki analogiset järjestelmät digitaalisiksi ja verkkokäyttöisiksi - jo tänään Kustannustekkuutta ja joustavuutta työskentelyyn Terveydenhuollon 29. ATK-päivät Jyväskylä 25-27.5.2003 Verkostoitumisen

Lisätiedot

10.6.2010 Jan Hursti, Kehityspäällikkö, Isoworks Oy. Turvallista pilvipalvelua keskisuurille yrityksille

10.6.2010 Jan Hursti, Kehityspäällikkö, Isoworks Oy. Turvallista pilvipalvelua keskisuurille yrityksille 10.6.2010 Jan Hursti, Kehityspäällikkö, Isoworks Oy Turvallista pilvipalvelua keskisuurille yrityksille Maankattavaa ICT-palvelua Huolehdimme asiakkaidemme tieto- ja viestintätekniikan toimivuudesta 24/7

Lisätiedot

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen

Lisätiedot

Rinnakkaistietokoneet luento S

Rinnakkaistietokoneet luento S Rinnakkaistietokoneet luento 5 521475S Silmukalliset ohjelmat Silmukat joissa ei ole riippuvuussyklejä voidaan vektoroida eli suorittaa silmukan vektorointi Jokainen yksittäinen käsky silmukan rungossa

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017

Lisätiedot

Ohjelmiston toteutussuunnitelma

Ohjelmiston toteutussuunnitelma Ohjelmiston toteutussuunnitelma Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1 1 Johdanto Tämä luku antaa yleiskuvan koko suunnitteludokumentista,

Lisätiedot

Hyödynnä DPS- ja SA-setelit Azure hybridipilvi-palveluiden suunnittelussa ja testauksessa!

Hyödynnä DPS- ja SA-setelit Azure hybridipilvi-palveluiden suunnittelussa ja testauksessa! Hyödynnä DPS- ja SA-setelit Azure hybridipilvi-palveluiden suunnittelussa ja testauksessa! Onregon DPS-työpajat ovat Microsoft Enterprise Agreement asiakkaille sopivia työpajoja, joiden maksamiseen voi

Lisätiedot

Ohjelmistojen mallintaminen Olioiden yhteistyö. 18.11.2008 Harri Laine 1

Ohjelmistojen mallintaminen Olioiden yhteistyö. 18.11.2008 Harri Laine 1 Ohjelmistojen mallintaminen Olioiden yhteistyö 18.11.2008 Harri Laine 1 Olioiden yhteistyö Oliokeskeisen ohjelmistonäkemyksen mukaan ohjelmiston palvelut tuotetaan olioiden yhteistyön tuloksena. Ohjelmisto

Lisätiedot

KODAK EIM & RIM VIParchive Ratkaisut

KODAK EIM & RIM VIParchive Ratkaisut ATK Päivät 2006 Mikkeli KODAK EIM & RIM VIParchive Ratkaisut 29.-30.5. 2006 Stefan Lindqvist HCIS Sales Specialist Health Care Information Systems Kodak Health Group 3/24/2013 1 Arkistoinnin haasteita

Lisätiedot

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

Lisätiedot

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Liite 1: skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Palvelun uusi versio on Palveluiden kehittäminen voitava asentaa tuotantoon vaikeutuu

Lisätiedot

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

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services Järjestelmäarkkitehtuuri (TK081702) Standardoidutu tapa integroida sovelluksia Internetin kautta avointen protokollien ja rajapintojen avulla. tekniikka mahdollista ITjärjestelmien liittämiseen yrityskumppaneiden

Lisätiedot

Seminaari: Keskusmuistitietokannat. Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen

Seminaari: Keskusmuistitietokannat. Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen Seminaari: Keskusmuistitietokannat Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen Sisältö Johdanto Esiteltävien menetelmien taustoja Hajautetun tietokannan spekuloiva samanaikaisuuden

Lisätiedot

TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO

TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO TEHTÄVÄ 2: Symantec Endpoint Protection Manager, SEPM keskitetyn tietoturva hallintaohjelmiston asennus, sekä vaadittavien palveluiden/roolien käyttöönottaminen

Lisätiedot

Tiedon analysoinnista pitkäaikaissäilytykseen

Tiedon analysoinnista pitkäaikaissäilytykseen Tiedon analysoinnista pitkäaikaissäilytykseen Jari Nästi, Client Technical Professional - Tivoli Software Perhosvaikutus eli perhosefekti (engl. "butterfly effect") on kaaosteoriassa käytetty kuvaus siitä,

Lisätiedot

Pilvi 9.0. Arkkitehtuuri. Esimerkki arkkitehtuurit

Pilvi 9.0. Arkkitehtuuri. Esimerkki arkkitehtuurit Esimerkki arkkitehtuurit Sivu 2/8 Sisällysluettelo 1. Johdanto... 3 1.1. Termejä... 3 2. Web hosting ilman kuormantasausta... 4 3. Web hosting kuormatasaus ja bastion... 5 3.1.... 5 3.2. Kuvaus... 5 4.

Lisätiedot

Paikkatiedon tulevaisuus

Paikkatiedon tulevaisuus Paikkatiedon tulevaisuus Yksityismetsätalouden metsänhoitajien vierailu TE:llä 11.10.2007 Juhani Tervo Pääarkkitehti, GIS Iso skaala erilaisia paikkatietojärjestelmiä Paikkatieto tietojärjestelmissä Paikkatietojärjestelmä

Lisätiedot

Ohjelmistojen suorituskyky, Kurssin tavoitteet

Ohjelmistojen suorituskyky, Kurssin tavoitteet Ohjelmistojen suorituskyky, Kurssin tavoitteet Luento 1 58153003 Ohjelmistojen suorituskyky 1 SUORITUSKYKY 58153003 Ohjelmistojen suorituskyky 2 Helsingin Yliopisto / Tktl 1 Suorituskyky 58153003 Ohjelmistojen

Lisätiedot

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu Tietokoneen muisti nyt ja tulevaisuudessa Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu Yleisesti Muisti on yksi keskeisimmistä tietokoneen komponenteista Random Access Memory on yleistynyt

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

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

UML:n yleiskatsaus. UML:n osat:

UML:n yleiskatsaus. UML:n osat: UML:n yleiskatsaus - voidaan hyödyntää hyvin laajasti. - sopii liiketoimintamallinnukseen, ohjelmistomallinnukseen sen jokaiseen vaiheeseen tai minkä tahansa pysyviä ja muuttuvia ominaisuuksia sisältävän

Lisätiedot

Verkottunut suunnittelu

Verkottunut suunnittelu Rintekno Oy / JMM / 10.1.2002 Verkottunut suunnittelu DOKUMENTTI- POHJAINEN Tarkastus ja hyväksyntä Automaattinen dokumenttien luonti MALLIPOHJAINEN 2D:SSÄ JA 3D:SSÄ Tarkastus ja hyväksyntä Virtuaaliset

Lisätiedot

Ohjelmistojen suunnittelu

Ohjelmistojen suunnittelu Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer

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

Mobiilin ekosysteemin muutos - kuoleeko tietoturva pilveen?

Mobiilin ekosysteemin muutos - kuoleeko tietoturva pilveen? Mobiilin ekosysteemin muutos - kuoleeko tietoturva pilveen? Erkki Mustonen Tietoturva-asiantuntija Lapty Rovaniemi 3.11.2011 Suojaa korvaamattoman f-secure.fi F-Secure tietoturvan globaali toimija Perustettu

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

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita. Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita. Arkkitehtuuriin vaikuttavat ympäristötekijät Jo kehittämisen alkuvaiheessa on tarpeellista hahmotella arkkitehtuurin perusratkaisu. Lähtökohdat

Lisätiedot

Tekniset vaatimukset Tikon 6.4.1

Tekniset vaatimukset Tikon 6.4.1 Marraskuu 2014 1 (22) Tekniset vaatimukset Marraskuu 2014 2 (22) 1 Ohjelmapalvelin... 6 1.1 Ohjelmat... 6 1.1.1 Tuetut käyttöjärjestelmät... 6 1.1.2 Muut tarvittavat ohjelmat... 6 1.2 Palvelin (Suositus

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

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen

Lisätiedot

Palveluperustaiset arkkitehtuurityylit

Palveluperustaiset arkkitehtuurityylit Palveluperustaiset arkkitehtuurityylit Mukana palvelun tarjoajia ja palvelun käyttäjiä Perusajatuksena tyypillisesti tarjota johonkin resurssiin liittyviä palveluita 1 Asiakas-palvelin -arkkitehtuurit

Lisätiedot

Rinnakkaisuus. parallel tietokoneissa rinnakkaisia laskentayksiköitä concurrent asioita tapahtuu yhtaikaa. TTY Ohjelmistotekniikka

Rinnakkaisuus. parallel tietokoneissa rinnakkaisia laskentayksiköitä concurrent asioita tapahtuu yhtaikaa. TTY Ohjelmistotekniikka Rinnakkaisuus parallel tietokoneissa rinnakkaisia laskentayksiköitä concurrent asioita tapahtuu yhtaikaa Rinnakkaisuuden etuja: laskennan nopeutuminen (sarjoittuvat operaatiojonot) ilmaisuvoima (ongelman

Lisätiedot

Muutamia peruskäsitteitä

Muutamia peruskäsitteitä Muutamia peruskäsitteitä Huom. 1: nämä peruskäsitteet eivät muodosta hyvin määriteltyä keskenään yhteensopivien käsitteiden joukkoa, vaan käsitteet ovat osittain päällekkäisiä ja eri yhteyksissä niillä

Lisätiedot

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? 2013-2014 Lasse Lensu 2 Systeemiohjelmat ovat tietokoneen laitteistoa lähellä olevia ohjelmia,

Lisätiedot

Etäkäyttö onnistuu kun kamera on kytketty yleisimpiin adsl- tai 3G verkkoihin. Kts. Tarkemmin taulukosta jäljempänä.

Etäkäyttö onnistuu kun kamera on kytketty yleisimpiin adsl- tai 3G verkkoihin. Kts. Tarkemmin taulukosta jäljempänä. Foscam kameran etäkäyttö Etäkäyttö onnistuu kun kamera on kytketty yleisimpiin adsl- tai 3G verkkoihin. Kts. Tarkemmin taulukosta jäljempänä. Kamera sijoitetaan aina paikalliseen lähiverkkoon (LAN) jossa

Lisätiedot

Tietoliikenne II (2 ov)

Tietoliikenne II (2 ov) Tietoliikenne II (2 ov) Kevät 2001 Liisa Marttinen Kurssikirja: Tanenbaum, Computer Networks (3. Painos) Tietoliikenne II Kertausta ja täydennystä Tietoliikenne I - kurssin asioihin perusteellisemmin laajemmin

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

Tietoturvavinkkejä pilvitallennuspalveluiden

Tietoturvavinkkejä pilvitallennuspalveluiden Tietoturvavinkkejä pilvitallennuspalveluiden turvallisempaan käyttöön 11/2014 Sisällysluettelo Johdanto... 3 1 Mikä on pilvipalvelu?... 3 2 Mikä on pilvitallennuspalvelu?... 3 3 Ovatko pilvipalvelut turvallisia?...

Lisätiedot

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus Yhteenveto Ohjelmistotuotanto vs. muut insinööritieteet Monimutkaisuus Näkymättömyys (Usein näennäinen) luotettavuus ja edullisuus Muunnettavuus Epäjatkuvuus virhetilanteissa Skaalautumattomuus Copyright

Lisätiedot

Ohjelmistoarkkitehtuurit kevät

Ohjelmistoarkkitehtuurit kevät Ohjelmistoarkkitehtuurit Kevät 20-202 Johannes Koskinen http://www.cs.tut.fi/~ohar/ Viestinvälitysarkkitehtuurit Lähtökohta: Järjestelmä koostuu keskenään kommunikoivista komponenteista, mahdollisesti

Lisätiedot

Ohjelmistoarkkitehtuurit kevät

Ohjelmistoarkkitehtuurit kevät Ohjelmistoarkkitehtuurit Kevät 2011-2012 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit (rakenteen ositus) Tietovuoarkkitehtuurit

Lisätiedot

HELIA 1 (14) Outi Virkki Käyttöliittymät ja ohjlmiston suunnittelu

HELIA 1 (14) Outi Virkki Käyttöliittymät ja ohjlmiston suunnittelu HELIA 1 (14) Luento 7 Käyttöliittymäolio... 2 Olioajattelun perusteet... 3 Tavoitteet... 3 Peruskäsitteet... 4 Olio / Olioinstanssi / Olion esiintymä... 4 Ominaisuudet... 4 Toiminnot... 4 Olioluokka /

Lisätiedot

Ohjelmistoarkkitehtuurit. Kevät

Ohjelmistoarkkitehtuurit. Kevät Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Viestipohjaisten yritysjärjestelmien suunnittelumallit Viestinvälitykseen perustuvat yritysjärjestelmät Peruselementit:

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

Uudelleenkäytön jako kahteen

Uudelleenkäytön jako kahteen Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta

Lisätiedot

HSMT J2EE & EJB & SOAP &...

HSMT J2EE & EJB & SOAP &... HSMT J2EE & EJB & SOAP &... Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.1/15 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista

Lisätiedot

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

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

Johdatus rakenteisiin dokumentteihin

Johdatus rakenteisiin dokumentteihin -RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista

Lisätiedot

7 Viestipohjaisten yritysjärjestelmien suunnittelumallit

7 Viestipohjaisten yritysjärjestelmien suunnittelumallit 7 Viestipohjaisten yritysjärjestelmien suunnittelumallit Hohpe G., Woolf B.: Enterprise Integration Patterns. Addison-Wesley 2004. Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1 Viestinvälitykseen

Lisätiedot

Ohjelmistoarkkitehtuurit. Kevät 2012-2013

Ohjelmistoarkkitehtuurit. Kevät 2012-2013 Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Viestipohjaisten yritysjärjestelmien suunnittelumallit 1 Viestinvälitykseen perustuvat yritysjärjestelmät Peruselementit:

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

Selvitysraportti. MySQL serverin asennus Windows ympäristöön

Selvitysraportti. MySQL serverin asennus Windows ympäristöön Selvitysraportti MySQL serverin asennus Windows ympäristöön IIO30200 / Jouni Huotari Arto Sorsa / F3900 CREATIVE COMMONS LISENSOITU http://creativecommons.org/licenses/by-nc-sa/1.0/fi/ 26.4.2010 1 SISÄLTÖ

Lisätiedot

TeliaSonera. Marko Koukka. IT viikon seminaari 11.10. 2007 Identiteetin hallinta palveluna, Sonera Secure IDM

TeliaSonera. Marko Koukka. IT viikon seminaari 11.10. 2007 Identiteetin hallinta palveluna, Sonera Secure IDM TeliaSonera Marko Koukka IT viikon seminaari 11.10. 2007 Identiteetin hallinta palveluna, Sonera Secure IDM Sisällysluettelo Identiteetinhallinta operaattorin näkökulmasta Identiteetinhallinnan haasteet

Lisätiedot

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy Oracle10 g Web Services Sisältö Service Oriented Architecture (SOA) Web Services Service Oriented Architecture Service Oriented

Lisätiedot

Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun.

Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun. StorageIT 2006 varmuuskopiointiohjelman asennusohje. Hyvä asiakkaamme! Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun. Ennen asennuksen aloittamista Varmista, että

Lisätiedot

Web Services tietokantaohjelmoinnin perusteet

Web Services tietokantaohjelmoinnin perusteet ASP.NET Web Services Web Services tietokantaohjelmoinnin 2 (22) Sisällys Harjoitus 1: Tietokannat ja Web Services... 3 Harjoitus 2: Windows Client... 10 Harjoitus 3: Datan päivitys TableAdapterin avulla...

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

Dell Fluid Data TM solutions

Dell Fluid Data TM solutions Dell Fluid Data TM solutions Älykästä tallennuksen virtualisointia Dell Compellent Juha_Ekstrom@dell.com 2.11.2011 Virtualisointi & Älykkyys Virtualisointi tarkoittaa tietojenkäsittelyssä tekniikkaa, jolla

Lisätiedot

Tekniset vaatimukset Tikon 6.5.0

Tekniset vaatimukset Tikon 6.5.0 Toukokuu 2015 1 (23) Tekniset vaatimukset Toukokuu 2015 2 (23) 1 Ohjelmapalvelin... 6 1.1 Ohjelmat... 6 1.1.1 Tuetut käyttöjärjestelmät... 6 1.1.2 Muut tarvittavat ohjelmat... 6 1.2 Palvelin (Suositus

Lisätiedot