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) 5. Soketit (3h) 6. RMI ja J2EE (3h) 7. RPC (1h) 8. WWW-sovellustekniikoista ja XML + protokollat (2h) 9. Pilvialustat (2h) 10. Haja-aiheita (1h) 99. Kertausluento (1h) HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.2/10
Luvun rakenne Testauksesta Turvallisuudesta Tietokannoista Hajautettujen järjestelmien yleisistä ongelmista HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.3/10
Testauksesta Keskustellaan testauksen toteuttamisesta ja yleisestä testauksen hankaluudesta. Paikoitellen hajautun järjestelmän testaus ymmärretään osapuolten erilliseksi testaamiseksi. Yleisemmin: Pitäisi voida suorittaa osapuolten välisiä tapahtumia (interaktiota) ja sitten havainnoida, että järjestelmän kokonaistila on muuttunut odotetulla tavalla. Tämä edellyttää osajärjestelmien instrumentointia tilan havainnointimahdollisuudella. Yksi testi tuottaisi instrumentoinnin kautta tapahtumia ja sitten havannoisi osapuolten tilaa tarkastaen testin toimivuuden. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.4/10
Turvallisuudesta Keskustellaan: mitä pitäisi turvata? Ja miten? Järjestelmän tieto? Liikuteltava tieto? Mitä ovat todelliset uhat? Verkkoliikenteen kuuntelua? Haittaohjelman toimintaa asiakaskoneessa? (MitB, MiUI) Haittaohjelma palvelinkoneessa? Palvelunesto? Salauksen osalta hyvät käytänteet olemassa. Suorituksen seuranta ja manipulointi liian helppoa nykyään! HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.5/10
Tietokannoista Tietokannan merkityksestä hajautetuissa järjestelmissä. Millainen relaatiotietokanta on? Mitä operaatioita kantaan voi kohdistaa? SQL Structure Query Language. JDBC Java DataBase Connectivity (API). Yhteys tietokantaan; ajurit. JDBC:hen liittyvät luokat. Olioiden persistenssi ja sen tuki ohjelmointikielissä: LINQ Language Integrated Query. ORM Object-Relational Mapping: useita hyvin kehittyneitä ratkaisuja! Aitoja oliotietokantojakin on. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.6/10
Merkitys haj. järjestelmissä Hajautetut järjestelmät lähes poikkeuksetta perustuvat tiedon keräämiseen ja/tai jakamiseen. (Verkko)Tietokanta toimii kolmikerrosarkkitehtuurin (3-tier) alimpana kerroksena. GUI pohjainen asiakassovellus palvelimen toiminnal lisuus JDBC ajuri Tietokanta soketit, RMI, HTTP,... tietokanta protokolla (SQL) HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.7/10
Relaatiotietokanta: käsitteitä Relaatiotietokanta on joukko tauluja. Kukin taulu koostuu riveistä jokainen rivi esittää yhtä tietokannan tietuetta. Taulun kussakin sarakkeessa on joka rivillä saman tyyppistä tietoa. (Olion kenttä.) Kahdessa (tai useammassa) taulukossa voi olla sarakkeita, joilla samaa tietoa. Kyseisiä sarakkeita voidaan käyttää liitoksen tekemiseen. Esimerkiksi KURSSI-taulussa on kenttä koodi, joka on samassa merkityksessä SUORITUS-taulun kentän kurssi kanssa. = voidaan tehdä kysely, jonka tuloksena pareja (kurssinimi, suorittaneen opiskelijan nimi). HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.8/10
Mitä operaatioita kantaan? Tietokantaa tyypillisesti käytetään joillakin oikeuksilla. Käyttäjätunnusten luonti ja käyttöoikeusten asettaminen on eräs osa tietokannan toimintaa. Tavallisen käyttäjän toimenpiteitä: Tietokannan luonti. Tietokantapalvelimessa voi olla useita tietokantoja. Tietokannan taulun luonti / tuhoaminen. Tietojen syöttö tauluun. Tauluissa olevien tietojen muuttaminen & tuhoaminen. Kyselyiden tekeminen! Taulujen olemassaolo, määritysten utelu, näkymät,... HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.9/10
HOJ yleisistä ongelmista Kommunikointi ja ajan käsite (loogiset kellot: Lamportin aikaleimat, vektorikellot) Nimeäminen osapuolet pitää yleensä voida identifioida Synkronointi miten synkronista toiminta voi olla / tulee olla Tiedon replikointi ja konsistenssimallit Vikasietoisuus Kuormantasaus ja toiminnan migraatio Turvallisuus HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.10/10