Verkkosovellusten mallintaminen
|
|
- Niilo Järvenpää
- 8 vuotta sitten
- Katselukertoja:
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ö Luento 3 58153003 Ohjelmistojen suorituskyky 1 Skenaarioiden suorituksen kuvaaminen OHJELMASUORITUSMALLI SOFTWARE EXECUTION MODEL 58153003 Ohjelmistojen suorituskyky
LisätiedotSuorituskykydatan 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ätiedotJä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ätiedotSuorituskyky ja ohjelmistokehitys Suorituskykymallit
Suorituskyky ja ohjelmistokehitys Suorituskykymallit Luento 2 58153003 Ohjelmistojen suorituskyky 1 SUORITUSKYKYISTEN OHJELMISTOJEN KEHITTÄMINEN 58153003 Ohjelmistojen suorituskyky 2 Helsingin Yliopisto
LisätiedotEsimerkki 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ätiedotJä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ätiedotSovellusarkkitehtuurit
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ätiedotIntegrointi. 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ätiedotJä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ätiedotArkkitehtuurikuvaus. 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ätiedotTiedonsiirto- ja rajapintastandardit
Tiedonsiirto- ja rajapintastandardit Viitekehys Julkishallinnon perustietovarantojen rajapinnat (PERA) työryhmän tulokset valmiit syksyllä 2011 Määrittelee teknisen arkkitehtuuriratkaisun tietovarantojen
Lisätiedot14. 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ätiedotOhjelmistojen mallintaminen, sekvenssikaaviot
582104 - Ohjelmistojen mallintaminen, sekvenssikaaviot 1 Vuorovaikutussuunnittelu Oliojärjestelmän toiminta perustuu olioiden vuorovaikutukseen ja yhteistyöhön Olioiden yhteistyö toteutuu operaatioiden
LisätiedotViestinvä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ätiedotCisco 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ätiedotSuorituskyvyn 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ätiedotOsittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit
6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit Tietovuoarkkitehtuurit Palveluihin perustuvat arkkitehtuurityylit Asiakas-palvelin arkkitehtuurit Viestinvälitysarkkitehtuurit
LisätiedotViestinvä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ätiedotAJAX-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ätiedotPalomuurit. 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ätiedotJä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ätiedotHOJ 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ätiedotConcurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo
Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...
LisätiedotOppimistavoitteet 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ätiedotTekninen 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ätiedotSeminaari: 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ätiedotTä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ätiedotFuturaPlan. 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ätiedotSiemens 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ätiedotAgenda. 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ätiedotGree 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ätiedotPUSH 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ätiedotRinnakkaisuuden 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ätiedot6. Arkkitehtuurityylit
6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit - Kerrosarkkitehtuurit - Tietovuoarkkitehtuurit Palveluihin perustuvat arkkitehtuurityylit - Asiakas-palvelin arkkitehtuurit - Viestinvälitysarkkitehtuurit
LisätiedotHaaga-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ätiedotOhjelmistojen 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ätiedotTekninen 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ätiedotJHS 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ätiedotTietojä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ätiedotOhjelmiston 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ätiedotTIES530 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ätiedotTaustaa. 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ätiedotKaikki 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ätiedotHyö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ätiedot10.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ätiedotKODAK 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ätiedotInteraktiivisten 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ätiedotJä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ätiedotRinnakkaistietokoneet 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ätiedot582203 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ätiedotAlgoritmit 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ätiedotTiedon 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ätiedotVerkottunut 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ätiedotOhjelmistojen 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ätiedotLiite 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ätiedotPerusarkkitehtuurin 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ätiedotOliosuunnitteluesimerkki: 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ätiedotHajautettujen 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ätiedotVisualStudio 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ätiedotTIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO
TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO TEHTÄVÄ 2: Symantec Endpoint Protection Manager, SEPM keskitetyn tietoturva hallintaohjelmiston asennus, sekä vaadittavien palveluiden/roolien käyttöönottaminen
LisätiedotEtä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ätiedotPalveluperustaiset arkkitehtuurityylit
Palveluperustaiset arkkitehtuurityylit Mukana palvelun tarjoajia ja palvelun käyttäjiä Perusajatuksena tyypillisesti tarjota johonkin resurssiin liittyviä palveluita 1 Asiakas-palvelin -arkkitehtuurit
LisätiedotPaikkatiedon 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ätiedotSeminaari: 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ätiedotTietokoneen 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ätiedotPilvi 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ätiedotOhjelmistojen 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ätiedotMuutamia 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ätiedotOhjelmistoarkkitehtuurit kevät
Ohjelmistoarkkitehtuurit Kevät 2011-2012 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit (rakenteen ositus) Tietovuoarkkitehtuurit
LisätiedotCase TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999. ! Java luokkia n. 5000
Case TUHTI 17.12.2002 1 TietoEnator 2002 Projektin tunnuslukuja! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999! Otettu tuotantokäyttöön syksyllä 2001! Proof of Concept (5 henkilöä 4 kk) ->
LisätiedotUML: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ätiedotTietoturvavinkkejä 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ätiedotTikon 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ätiedotHSMT 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ätiedotUudelleenkä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ätiedotMobiilin 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ätiedotHELIA 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ätiedotT-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ätiedotSelvitysraportti. 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ätiedotTekniset 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ätiedotAmazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita.
1 2 Amazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita. 3 4 Region vastaa palvelun fyysistä sijaintipaikkaa (AWS
LisätiedotTeliaSonera. 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ätiedotInteraktiivisten 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ätiedotJärjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri
Järjestelmäarkkitehtuuri (TK081702) ja Järjestelmäarkkitehtuuri Sovellukset ovat olemassa Järjestelmien uudistaminen vie yleensä arvioitua enemmän resursseja ja kestää arvioitua kauemmin Migration (Migraatio
Lisätiedotwww.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ätiedotWeb 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ätiedotTietoliikenne 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ätiedotOngelma(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ätiedotOhjelmistojen 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ätiedotOlet 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ätiedotZENworks 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ätiedotAlgoritmit 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ätiedotTestauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori
Testauksen tuki nopealle tuotekehitykselle Antti Jääskeläinen Matti Vuori Mitä on nopeus? 11.11.2014 2 Jatkuva nopeus Läpäisyaste, throughput Saadaan valmiiksi tasaiseen, nopeaan tahtiin uusia tuotteita
LisätiedotTenttikysymykset. + 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ätiedotOhjelmistotuotanto 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ätiedotOhjelmistoarkkitehtuurit 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ätiedotOhjelmistoarkkitehtuurit. 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ätiedotMiten 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ätiedotOhjelmistoarkkitehtuurit. 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ätiedotTenttikysymykset. + 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