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

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

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

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

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

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

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

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

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

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

6. Arkkitehtuurityylit

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

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

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

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

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

Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest).

Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest). 1 Virtualisoinnin avulla voidaan purkaa suora linkki suoritettavan sovelluksen (tai käyttöjärjestelmän tms.) ja sitä suorittavan laitteiston välillä. Näin saavutetaan joustavuutta laitteiston käytössä.

Lisätiedot

Suunnitteluvaihe prosessissa

Suunnitteluvaihe prosessissa Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet

Lisätiedot

Algoritmit 1. Luento 2 Ke Timo Männikkö

Algoritmit 1. Luento 2 Ke Timo Männikkö Algoritmit 1 Luento 2 Ke 11.1.2017 Timo Männikkö Luento 2 Algoritmin esitys Algoritmien analysointi Suoritusaika Asymptoottinen kertaluokka Peruskertaluokkia NP-täydelliset ongelmat Algoritmit 1 Kevät

Lisätiedot

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

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

Lisätiedot

Pilottipalvelun esittely johtopäätökset

Pilottipalvelun esittely johtopäätökset 1 Pilottipalvelun esittely johtopäätökset Paikkatiedot palveluväylässä -loppuseminaari Paikkatietoverkoston kevätseminaari 18.5.2016 Pekka Latvala, Jari Reini Pilottipalvelu Pilottipalvelun lähtöasetelmana

Lisätiedot

Navigointi- ja taktiikkaohjelmistot. X Sail Racing Team Christer Baggström

Navigointi- ja taktiikkaohjelmistot. X Sail Racing Team Christer Baggström Navigointi- ja taktiikkaohjelmistot X Sail Racing Team Christer Baggström Ohjelmistojen tarkoitus Tukevat päätöksentekoa radalla ja avomerellä Nopeuttavat prosessia Tarjoavat ratkaisuja, joihin päätyminen

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

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

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

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

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

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

ONKI-projekti JUHTA KANSALLISKIRJASTO - Kirjastoverkkopalvelut

ONKI-projekti JUHTA KANSALLISKIRJASTO - Kirjastoverkkopalvelut ONKI-projekti JUHTA 31.10.2013 Ontologia Jonkin aihealueen käsitteiden eksplisiittinen määrittely Käsitehierarkia, joka kuvaa käsitteiden väliset suhteet Ontologia Jos eri organisaatiot käyttävät sisällönkuvailussaan

Lisätiedot

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu HELIA 1 (8) Luento 1 Johdatusta tietokannan suunnitteluun... 2 Tietokantasuunnittelu?... 2 Tietokanta?... 2 Tieto?... 2 Tietokantasuunnittelun tavoite, v.1... 2 Luotettavuus?... 3 Tietokantasuunnittelun

Lisätiedot

Suomi.fi-palveluväylä. Palvelulupaus ja tiekartta 5.4.2016

Suomi.fi-palveluväylä. Palvelulupaus ja tiekartta 5.4.2016 Suomi.fi-palveluväylä Palvelulupaus ja tiekartta 5.4.2016 Sisältö Mitä palveluväylä tarjoaa? Mitä palveluväylä ei tarjoa? Suorituskyky ja suositukset Palveluväylän kehittämisen tiekartta 2016-2017 Suomi.fi-palveluväylä

Lisätiedot

JHS 179 Kokonaisarkkitehtuurin suunnittelu ja kehittäminen Liite 9. Virtualisointi ja pilvipalvelut teknologia-arkkitehtuurin suunnittelussa

JHS 179 Kokonaisarkkitehtuurin suunnittelu ja kehittäminen Liite 9. Virtualisointi ja pilvipalvelut teknologia-arkkitehtuurin suunnittelussa JHS 179 Kokonaisarkkitehtuurin suunnittelu ja kehittäminen Liite 9. Virtualisointi ja pilvipalvelut teknologia-arkkitehtuurin suunnittelussa Versio: Palautekierros, 2. palautekierros Julkaistu: Voimassaoloaika:

Lisätiedot

3 Verkkopalveluarkkitehtuuri

3 Verkkopalveluarkkitehtuuri 3 Verkkopalveluarkkitehtuuri Verkkopalvelun arkkitehtuuri perustuu yleisesti asiakas-palvelin -malliin Tietokantapohjaisessa (verkko)palvelussa asiakas-palvelin -malli toimii seuraavasti: 1. Käyttäjä käyttää

Lisätiedot

Action Request System

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

Lisätiedot

Harjoitustyö Case - HelpDesk

Harjoitustyö Case - HelpDesk Harjoitustyö Case - HelpDesk Harjoitustyön Case: HelpDesk -sovellus Tietotekniikkatoimittaja AB ja asiakas X ovat viime vuonna sopineet mikrotukiyksikön ulkoistamisesta X:ltä AB:n liikkeenjohdon vastuulle.

Lisätiedot

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

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

Lisätiedot

Langattoman kotiverkon mahdollisuudet

Langattoman kotiverkon mahdollisuudet Langattoman kotiverkon mahdollisuudet Tietoisku 5.4.2016 mikko.kaariainen@opisto.hel.fi Lataa tietoiskun materiaali netistä, kirjoita osoite selaimen osoitelokeroon: opi.opisto.hel.fi/mikko Tietoverkot

Lisätiedot

REST an idealistic model or a realistic solution?

REST an idealistic model or a realistic solution? REST an idealistic model or a realistic solution? 17.10.2006 Jari Aarniala jari.aarniala@cs.helsinki.fi Johdanto Representational State Transfer, eli REST Arkkitehtuurinen tyyli hajautetuille (hypermedia)järjestelmille

Lisätiedot

Miksi ja miten siirtyä käyttämään nykyistä ERP-järjestelmää pilvessä?

Miksi ja miten siirtyä käyttämään nykyistä ERP-järjestelmää pilvessä? Miksi ja miten siirtyä käyttämään nykyistä ERP-järjestelmää pilvessä? Sisällys Lukijalle 3 Mitä pilvipalveluilla tarkoitetaan? 4 Toiminnanohjausjärjestelmä pilvessä 5 Miksi siirtyä pilvipalveluihin? 6

Lisätiedot

Harjoitustehtävät ja ratkaisut viikolle 48

Harjoitustehtävät ja ratkaisut viikolle 48 Harjoitustehtävät ja ratkaisut viikolle 48 1. Tehtävä on jatkoa aiemmalle tehtävälle viikolta 42, missä piti suunnitella älykodin arkkitehtuuri käyttäen vain ennalta annettua joukkoa ratkaisuja. Tämäkin

Lisätiedot

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

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

Lisätiedot

Tinkimätöntä tietoturvaa kaikkiin virtuaaliympäristöihin

Tinkimätöntä tietoturvaa kaikkiin virtuaaliympäristöihin Tinkimätöntä tietoturvaa kaikkiin virtuaaliympäristöihin SECURITY FOR VIRTUAL AND CLOUD ENVIRONMENTS Suojaus vai suorituskyky? Virtuaalikoneiden määrä ylitti fyysisten koneiden määrän jo vuonna 2009. Tällä

Lisätiedot

Peliohjelmointi: Kontrollilaitteet. Teppo Soininen

Peliohjelmointi: Kontrollilaitteet. Teppo Soininen Peliohjelmointi: Kontrollilaitteet Teppo Soininen Lähteet: Core Techniques and Algorithms in Game Programming, MSDN, www.xbox.com, www.playstation.com Arsenaali Tietokonepeleissä käytettäviä kontrollilaitteita

Lisätiedot

Mobiilin videonkatselun käyttäjäkokemuksen analyysi. Risto Hanhinen Valvoja: Kalevi Kilkki Diplomityön seminaariesitelmä 20.1.

Mobiilin videonkatselun käyttäjäkokemuksen analyysi. Risto Hanhinen Valvoja: Kalevi Kilkki Diplomityön seminaariesitelmä 20.1. Mobiilin videonkatselun käyttäjäkokemuksen analyysi Risto Hanhinen Valvoja: Kalevi Kilkki Diplomityön seminaariesitelmä 20.1.2016, Espoo Sisällysluettelo Sisällysluettelo..d. 2 Työn tausta ja ongelmanasettelu

Lisätiedot

Nimettömien tietojen lähettäminen Lenovolle

Nimettömien tietojen lähettäminen Lenovolle Nimettömien tietojen lähettäminen Lenovolle Sisältö Nimettömien tietojen lähettäminen Lenovolle... 1 Harmony... 1 Lenovo Companion 3.0... 2 Lenovo Customer Engagement Service... 3 Lenovo Experience Improvement

Lisätiedot

Aditro Tikon ostolaskujen käsittely versio SP1

Aditro Tikon ostolaskujen käsittely versio SP1 Toukokuu 2012 1 (8) Aditro versio 6.1.2 SP1 Päivitysohje Toukokuu 2012 2 (8) Sisällysluettelo 1. Tehtävät ennen versiopäivitystä... 3 1.1. Ohjelmistomuutosten luku... 3 1.2. Application Pool Identity...

Lisätiedot

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi 5. Luento: Rinnakkaisuus ja reaaliaika Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Perusongelmat Jako prosesseihin Reaaliaika Rinnakkaisuus Rinnakkaisuus tarkoittaa tässä yhteydessä useamman kuin yhden

Lisätiedot

Finnan ja kirjaston palveluiden ohjeita

Finnan ja kirjaston palveluiden ohjeita Finnan ja kirjaston palveluiden ohjeita Sisältö 1. Kirjautuminen Haka-kirjautumisella... 2 2. Kirjastokortin liittäminen... 6 3. Lainojen uusiminen... 7 4. Teoksen varaaminen... 8 5. Hyllyvarauksen tekeminen...

Lisätiedot

Ohjelmistoarkkitehtuurit

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

Lisätiedot

Ohjelmistoarkkitehtuurit Johannes Koskinen. Osittavat arkkitehtuurityylit

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

Lisätiedot

Käytännön haasteita ja ratkaisuja integraation toteutuksessa. Jukka Jääheimo Teknologiajohtaja Solita Oy

Käytännön haasteita ja ratkaisuja integraation toteutuksessa. Jukka Jääheimo Teknologiajohtaja Solita Oy Käytännön haasteita ja ratkaisuja integraation toteutuksessa Jukka Jääheimo Teknologiajohtaja Solita Oy 13.03.2008 Sisältö 2 Alustus Integraation haasteet Integraatioarkkitehtuuri Hyvän integraatioarkkitehtuurin

Lisätiedot

Liiketoimintasovellusten modernisointi - Anna sovelluksillesi uusi elämä. Sofor varmistaa investointiesi tehokkaan hyödyntämisen

Liiketoimintasovellusten modernisointi - Anna sovelluksillesi uusi elämä. Sofor varmistaa investointiesi tehokkaan hyödyntämisen Liiketoimintasovellusten modernisointi - Anna sovelluksillesi uusi elämä Sofor varmistaa investointiesi tehokkaan hyödyntämisen 1 Syitä liiketoimintasovellusten modernisointiin Sovellusten käyttötarkoitus

Lisätiedot

Hajautettujen järjestelmien rakentaminen - Jini. Ohjelmistotuotantovälineet-seminaarin esitelmä

Hajautettujen järjestelmien rakentaminen - Jini. Ohjelmistotuotantovälineet-seminaarin esitelmä Hajautettujen järjestelmien rakentaminen - Jini Ohjelmistotuotantovälineet-seminaarin esitelmä Anu K. Leponiemi (anu@lepo.net) Helsingin yliopisto Tietojenkäsittelytieteen laitos Helsinki 2000 SISÄLLYSLUETTELO

Lisätiedot

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002 JReleaser Yksikkötestaus ja JUnit Mikko Mäkelä 6.11.2002 Sisältö Johdanto yksikkötestaukseen JUnit yleisesti JUnit Framework API (TestCase, TestSuite) Testien suorittaminen eri työkaluilla Teknisiä käytäntöjä

Lisätiedot

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta Jouni Huotari Martti Laiho (materiaali on osa virtuaaliammattikorkeakoulun Tietokantaosaaja-opintokokonaisuutta) opintokokonaisuutta)

Lisätiedot

ETÄPALVELU. HALTIK Videoportaali - osallistujan ohje

ETÄPALVELU. HALTIK Videoportaali - osallistujan ohje ETÄPALVELU HALTIK Videoportaali - osallistujan ohje 19.5.2015 Laitevaatimukset Tietokoneessa tulee olla asennettuna: Web-kamera Mikrofoni ja kaiuttimet tai kuulokkeet Tietokoneen internet selaimen tulee

Lisätiedot

7.4 Sormenjälkitekniikka

7.4 Sormenjälkitekniikka 7.4 Sormenjälkitekniikka Tarkastellaan ensimmäisenä esimerkkinä pitkien merkkijonojen vertailua. Ongelma: Ajatellaan, että kaksi n-bittistä (n 1) tiedostoa x ja y sijaitsee eri tietokoneilla. Halutaan

Lisätiedot

Palvelukuvaus LOUNEA VERKKOTURVA PALVELUKUVAUS.

Palvelukuvaus LOUNEA VERKKOTURVA PALVELUKUVAUS. Palvelukuvaus 1 LOUNEA VERKKOTURVA PALVELUKUVAUS 2 Sisällysluettelo 1 YLEISKUVAUS... 3 1.1 Verkkoturvapalvelu... 3 1.1.1 Verkkoturvapalvelun edut... 3 1.2 Palvelun perusominaisuudet... 3 1.2.1 Suodatettava

Lisätiedot

Tiedon suojaaminen ja hallinta. Sytyke seminaari 17.3.2016

Tiedon suojaaminen ja hallinta. Sytyke seminaari 17.3.2016 Tiedon suojaaminen ja hallinta Sytyke seminaari 17.3.2016 Pasi Parkkonen Ruuvari kourassa 80-luvulla C64, Amiga, Atari, Spectrum, MSX2+, kymmenien PC tietokoneiden kasausta Yliopisto-opintoja ja intti

Lisätiedot

Ohjelmistojen mallintaminen

Ohjelmistojen mallintaminen Ohjelmistojen mallintaminen - Mallit - Ohjelmiston kuvaaminen malleilla 31.10.2008 Harri Laine 1 Malli: abstraktio jostain kohteesta Abstrahointi: asian ilmaiseminen tavalla, joka tuo esiin tietystä näkökulmasta

Lisätiedot

Rakennusautomaation käytettävyys. Rakennusautomaatioseminaari 30.5.2013 Sami Karjalainen, VTT

Rakennusautomaation käytettävyys. Rakennusautomaatioseminaari 30.5.2013 Sami Karjalainen, VTT Rakennusautomaation käytettävyys Rakennusautomaatioseminaari 30.5.2013 Sami Karjalainen, VTT 2 Oma tausta Perusinsinööri DI, lvi-tekniikka, TKK 1993 Herääminen käytettävyysasioihin noin 2002 Tekniikan

Lisätiedot

DNA Prepaid WLAN Mokkula

DNA Prepaid WLAN Mokkula DNA Prepaid WLAN Mokkula Mokkula käyttää normaalikokoista / suurempaa SIM-korttia. Irrota SIM-kortti kokonaisena ja laita se Mokkulaan alla olevan kuvan mukaisesti. Jos irrotat vahingossa pienemmän SIM-kortin,

Lisätiedot

Esimerkkejä vaativuusluokista

Esimerkkejä vaativuusluokista Esimerkkejä vaativuusluokista Seuraaville kalvoille on poimittu joitain esimerkkejä havainnollistamaan algoritmien aikavaativuusluokkia. Esimerkit on valittu melko mielivaltaisesti laitoksella tehtävään

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

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

Lisätiedot

Tehosta valaistustoimintaasi

Tehosta valaistustoimintaasi Tehosta valaistustoimintaasi CityTouch workflow application Valaistusinfrastruktuurin hallinta CityTouch workflow application / OMAISUUDENHOITO 3 workflow application 04 Yksinkertaisuus 06 Läpinäkyvyys

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

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

Lisätiedot

Valtion konesali- ja kapasiteettipalvelut

Valtion konesali- ja kapasiteettipalvelut Valtion konesali- ja kapasiteettipalvelut Valtorin asiakaspäivä 30.10.2014 Palvelupäällikkö Timo Karppanen Käsiteltävät asiat Valtion konesali- ja kapasiteettipalvelut Valtion jaettu tuotantoympäristö

Lisätiedot

Toivakan kunnan teknologia-arkkitehtuuri

Toivakan kunnan teknologia-arkkitehtuuri Toivakan kunnan teknologiaarkkitehtuuri Iikka Virtanen, Teemu Uusitalo & Vesa Kakriainen Toivakan kunnan teknologia-arkkitehtuuri Johdanto Nykytilan kartoitus Tavoitetilan kuvaus 6.7.1 Teknologiapalvelut

Lisätiedot

1 YLEISKUVAUS Palvelun rajoitukset Valvonta Ylläpito Edellytykset PALVELUKOMPONENTIT...

1 YLEISKUVAUS Palvelun rajoitukset Valvonta Ylläpito Edellytykset PALVELUKOMPONENTIT... PALVELUKUVAUS 1 Sisällysluettelo 1 YLEISKUVAUS... 2 1.1 Palvelun rajoitukset... 2 1.2 Valvonta... 2 1.3 Ylläpito... 2 1.4 Edellytykset... 2 2 PALVELUKOMPONENTIT... 3 2.1 Liitäntä... 3 2.2 Nopeusluokat...

Lisätiedot

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta AVL-puut eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta pohjana jo esitetyt binäärihakupuiden operaatiot tasapainotus vie pahimmillaan lisäajan lisäys- ja

Lisätiedot

Integraatiotekniikan valinta - tie onnistumiseen.

Integraatiotekniikan valinta - tie onnistumiseen. Integraatiotekniikan valinta - tie onnistumiseen markus.andersson@commit.fi http://www.commit.fi 1 Agenda Järjestelmäintegroinnin nykytila Menestystekijät Teknologiatekijät Tekijöistä onnistunut projekti

Lisätiedot

Koodaamme uutta todellisuutta FM Maarit Savolainen https://blog.edu.turku.fi/matikkaajakoodausta/

Koodaamme uutta todellisuutta FM Maarit Savolainen https://blog.edu.turku.fi/matikkaajakoodausta/ Koodaamme uutta todellisuutta FM Maarit Savolainen 19.1.2017 https://blog.edu.turku.fi/matikkaajakoodausta/ Mitä on koodaaminen? Koodaus on puhetta tietokoneille. Koodaus on käskyjen antamista tietokoneelle.

Lisätiedot

JavaRMI 1 JAVA RMI. Rinnakkaisohjelmoinnin projekti 1 osa C Tekijät: Taru Itäpelto-Hu Jaakko Nissi Mikko Ikävalko

JavaRMI 1 JAVA RMI. Rinnakkaisohjelmoinnin projekti 1 osa C Tekijät: Taru Itäpelto-Hu Jaakko Nissi Mikko Ikävalko JavaRMI 1 JAVA RMI Rinnakkaisohjelmoinnin projekti 1 osa C Tekijät: Taru Itäpelto-Hu Jaakko Nissi Mikko Ikävalko JavaRMI 2 Table of Contents...1 JAVA RMI...1 Yleistä...4 Arkkitehtuuri...5 Java RMI kerrosarkkitehtuuri...5

Lisätiedot

WL54AP2. Langattoman verkon laajennusohje WDS

WL54AP2. Langattoman verkon laajennusohje WDS WL54AP2 Langattoman verkon laajennusohje WDS Näitä ohjeita seuraamalla saadaan langaton lähiverkko laajennettua yksinkertaisesti kahden tai useamman tukiaseman verkoksi. Tukiasemien välinen liikenne(wds)

Lisätiedot

Skype for Business pikaohje

Skype for Business pikaohje Skype for Business pikaohje Sisällys KOKOUSKUTSU... 2 ENNEN ENSIMMÄISEN KOKOUKSEN ALKUA... 4 LIITTYMINEN KOKOUKSEEN SKYPE FOR BUSINEKSELLA... 5 LIITTYMINEN KOKOUKSEEN SELAIMEN KAUTTA... 6 LIITTYMINEN KOKOUKSEEN

Lisätiedot

Menetelmäraportti - Konfiguraationhallinta

Menetelmäraportti - Konfiguraationhallinta Menetelmäraportti - Konfiguraationhallinta Päiväys Tekijä 22.03.02 Ville Vaittinen Sisällysluettelo 1. Johdanto... 3 1.1 Tärkeimmät lyhenteet... 3 2. Konfiguraationhallinnan tärkeimmät välineet... 4 2.1

Lisätiedot

moppiminen Luovimalla verkkoon hankekokemuksia

moppiminen Luovimalla verkkoon hankekokemuksia moppiminen hankekokemuksia MYÖTÄTUULESSA toimintaa ja tuloksia ammatilliseen koulutukseen 19-21.3.2012 Vesa Pakarinen hanke hankkeen tavoitteena on kehittää uudentyyppisiä opetuskäytänteitä ammatillisen

Lisätiedot

Käyttötapausanalyysi ja testaus tsoft

Käyttötapausanalyysi ja testaus tsoft Käyttötapausanalyysi ja testaus tsoft 15.09.2004 http://cs.joensuu.fi/tsoft/ Johdanto Use Case analyysi (käyttötapausanalyysi) on yleisesti käytetty järjestelmälle asetettujen toiminnallisten vaatimusten

Lisätiedot

TIETOJÄRJESTELMIEN AMMATILLISET ERIKOISTUMISOPINNOT (30 op)

TIETOJÄRJESTELMIEN AMMATILLISET ERIKOISTUMISOPINNOT (30 op) 1 TIETOJÄRJESTELMIEN AMMATILLISET ERIKOISTUMISOPINNOT (30 op) 14.1. 16.12.2011 Aikuis- ja täydennyskoulutuspalvelut Linnankatu 6, PL 51, 87101 KAJAANI www.aikopa.fi 2 KAJAANIN AMMATTIKORKEAKOULU Tervetuloa

Lisätiedot

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

OSI ja Protokollapino

OSI ja Protokollapino TCP/IP OSI ja Protokollapino OSI: Open Systems Interconnection OSI Malli TCP/IP hierarkia Protokollat 7 Sovelluskerros 6 Esitystapakerros Sovellus 5 Istuntokerros 4 Kuljetuskerros 3 Verkkokerros Linkkikerros

Lisätiedot

SMART BUSINESS ARCHITECTURE

SMART BUSINESS ARCHITECTURE SMART BUSINESS ARCHITECTURE RAJATTOMAN VERKON ALUSTA Mihail Papazoglou, järjestelmäasiantuntija Agenda Markkinatrendit Miksi Smart Business Architecture? LAN Security Yhteenveto 2010 Cisco Systems, Inc.

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

Kiertokysely. Sulautetut järjestelmät Luku 2 Sivu 1 (??)

Kiertokysely. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut järjestelmät Luku 2 Sivu 1 (??) Kiertokysely Perinteiset ohjelmointikielet kuten C tukevat hyvin sekventiaalista ohjelmointia, jossa herätteisiin reagointi on helppoa toteuttaa pollauksella

Lisätiedot

Verkkoliikenteen rajoittaminen tietoturvasta huolehtimiseksi ja häiriön korjaamiseksi

Verkkoliikenteen rajoittaminen tietoturvasta huolehtimiseksi ja häiriön korjaamiseksi Julkinen Verkkoliikenteen rajoittaminen tietoturvasta huolehtimiseksi ja häiriön korjaamiseksi 20.11.2013 Julkinen 2 VML 131 Velvollisuus korjata häiriö Jos viestintäverkko tai laite aiheuttaa vaaraa tai

Lisätiedot

Yksityisautoilijoille ABAX AJOPÄIVÄKIRJA

Yksityisautoilijoille ABAX AJOPÄIVÄKIRJA The difference is ABAX Yksityisautoilijoille ABAX AJOPÄIVÄKIRJA The difference is ABAX 2 The difference is ABAX ABAX SÄHKÖINEN AJOPÄIVÄKIRJA Tähän esitteeseen on koottu vastauksia kysymyksiin, jotka liittyvät

Lisätiedot

XMLpss - Arkkitehtuuri. Juha Komulainen

XMLpss - Arkkitehtuuri. Juha Komulainen XMLpss - Arkkitehtuuri Juha Komulainen 13.10.2009 Mikä on XMLpss? 2 Hajautettu järjestelmä laitossuunnittelutiedon jakamiseksi monitoimijaympäristössä Versionhallinta paperitehtaalle Integraatiot CAD-järjestelmät

Lisätiedot

HELIA 1 (19) Outi Virkki Käyttöliittymät ja ohjelman suunnittelu

HELIA 1 (19) Outi Virkki Käyttöliittymät ja ohjelman suunnittelu HELIA 1 (19) Luento 10 Sovelluksen hajauttamisesta 2 Mitä kaikkea voi hajauttaa / keskittää? 2 Miksi hajauttaa / keskittää? 2 Hajautuksen edellytys: modulaarisuus 3 Hajautuksen mahdollisia toteutustapoja

Lisätiedot

Visma Nova. Visma Nova ASP käyttö ja ohjeet

Visma Nova. Visma Nova ASP käyttö ja ohjeet Visma Nova Visma Nova ASP käyttö ja ohjeet Oppaan päiväys: 2.2.2012. Helpdesk: http://www.visma.fi/asiakassivut/helpdesk/ Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai

Lisätiedot

HTML5 - Vieläkö. Antti Pirinen 15.1.2015

HTML5 - Vieläkö. Antti Pirinen 15.1.2015 HTML5 - Vieläkö perinteinen webtestaus riittää? Antti Pirinen 15.1.2015 Esittäjä Antti Pirinen Antti Pirinen Valmistunut TKK:lta 2006, pääaineena tietoliikenneohjelmistot, sivuaineena yritysturvallisuus.

Lisätiedot

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

Verkkosisällön saavutettavuusohjeet 2.0: hyviä ohjeita monimuotoisen sisällön suunnitteluun ja arviointiin Verkkosisällön saavutettavuusohjeet 2.0: hyviä ohjeita monimuotoisen sisällön suunnitteluun ja arviointiin Ossi Nykänen Tampereen teknillinen yliopisto, Hypermedialaboratorio, W3C Suomen toimisto Terveyden

Lisätiedot

Uutta Remote Support Platform 3.0 -versiossa

Uutta Remote Support Platform 3.0 -versiossa Uutta Remote Support Platform for SAP Business One Asiakirjaversio: 1.0 2012-10-08 Kaikki maat Typografiset merkintätavat Kirjasintyyli Esimerkki Näytöstä lainatut sanat tai merkit. Näitä ovat kenttien

Lisätiedot

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

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

Lisätiedot

Tutustu REMUC:illa ohjattavan laitteen käyttö-, huolto- ja turvaohjeisiin

Tutustu REMUC:illa ohjattavan laitteen käyttö-, huolto- ja turvaohjeisiin PIKAOPAS ESIVAATIMUKSET Tutustu REMUC:illa ohjattavan laitteen käyttö-, huolto- ja turvaohjeisiin Varmista, että REMUC-ohjaimeen on asennettu toimiva SIM-kortti, jossa on datapaketti kiinteällä kuukausimaksulla

Lisätiedot

Moderni käyttäjähallinta oppilaitosympäristössä. Korkeakoulujen IT-päivät Petri Karppinen

Moderni käyttäjähallinta oppilaitosympäristössä. Korkeakoulujen IT-päivät Petri Karppinen Moderni käyttäjähallinta oppilaitosympäristössä Korkeakoulujen IT-päivät 30-31.10.2012 Petri Karppinen Perustettu 1997 Otaverkko Oy Euroopan ensimmäinen Gigabit-kampusverkko Omistajina Aalto, AYY, CSC,

Lisätiedot

Dynaaminen analyysi I

Dynaaminen analyysi I Dynaaminen analyysi I Luento 6 Antti-Pekka Tuovinen 4 April 2013 1 Tavoitteet Testitapausten suunnittelun ja suorituksen perusteet Black-Box testitapausten suunnittelu Ekvivalenssiluokat Raja-arvo (reuna-arvo)

Lisätiedot

Objective Marking. Taitaja 2014 Lahti. Skill Number 205 Skill Tietokoneet ja verkot Competition Day 1. Competitor Name

Objective Marking. Taitaja 2014 Lahti. Skill Number 205 Skill Tietokoneet ja verkot Competition Day 1. Competitor Name Objective ing Skill Number 205 Skill Tietokoneet ja verkot Competition Day 1 Sub Criterion SRV01 palvelin Sub Criterion A1 ing Scheme Lock 08-04-2014 09:35:59 Entry Lock 08-04-2014 19:36:30 O1 0.50 Palvelimen

Lisätiedot

Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurit 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

Option GlobeSurfer III pikakäyttöopas

Option GlobeSurfer III pikakäyttöopas Option GlobeSurfer III pikakäyttöopas Laitteen ensimmäinen käyttöönotto 1. Aseta SIM-kortti laitteen pohjaan pyötätuen takana olevaan SIM-korttipaikkaan 2. Aseta mukana tullut ethernetkaapeli tietokoneen

Lisätiedot

HELIA 1 (11) Outi Virkki Tiedonhallinta

HELIA 1 (11) Outi Virkki Tiedonhallinta HELIA 1 (11) Luento Käyttöoikeuksista ja tiedon suojauksesta... 2 Käyttäjätunnukset... 3 Tunnuksen luominen... 4 Oikeudet / Valtuudet... 5 Oikeuksien hallinta SQL:ssa... 6 Suojaustarkkuus?... 7 Roolit...

Lisätiedot

Testaustyökalut. Luento 11 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science

Testaustyökalut. Luento 11 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science Testaustyökalut Luento 11 Antti-Pekka Tuovinen 25 April 2013 1 Tavoitteet Työkalutyyppejä Testauksen hallinta Testien määrittely Staattinen analyysi Dynaaminen testaus 25 April 2013 2 1 Työkalut ja testaus

Lisätiedot

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely 582101 - Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely 1 Vaatimukset ja käyttötapaukset Vaiheittainen mallintaminen ja abstraktiotasot Järjestelmän rajaaminen sidosryhmäkaaviolla

Lisätiedot