HOJ Kertausluento. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/58

Koko: px
Aloita esitys sivulta:

Download "HOJ Kertausluento. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/58"

Transkriptio

1 HOJ Kertausluento Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/58

2 Missä mennään 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 (1h) 10. Haja-aiheita (2h) 99. Kertausluento (2h) HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.2/58

3 Kurssin tavoitteita 1/2 Käydä läpi ohjelmointikielten ulkopuoliset modernit hajautettujen sovellusten tekemiseen liittyvät rajapinnat. Opetetaan asioita erityisesti Javan kannalta. Moni käsiteltävä asia on ratkaistu useassa ohjelmointikielessä samalla tapaa, mutta merkittäviä erojakin on. Voimakas sidos Javaan on hieman epätoivottava, mutta konkretisointi on välttämätöntä. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.3/58

4 Kurssin tavoitteita 2/2 Säikeet ja samanaikaisuuteen liittyvän problematiikan hallinta. Soketit. RMI Remote Method Invovation. RPC Remote Procedure Call Verkko: asiakas-palvelin sovelluksen välinen keskustelu; XML, JSON. Verkko: palvelinsovellukset ja tietokantapalvelimet. WWW+Java: Serveletit, Ajax Verkkoliikenteen turvallisuudesta. Dokumentointi, testaus,... HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.4/58

5 Asiakas-palvelin suhteesta Internet: maailmanlaajuinen alusta asiakas-palvelin tietokonesovelluksille. (Muita: DigiTV, mobiiliverkko.) WWW-selain: asiakas; http-palvelin, news-palvelin,... WWW:n idea: palvelimella html-dokumentteja & Java-appletteja; selain lataa niitä ja suorittaa itse. Yleisemmin: palvelin on tieto- ja palvelu varasto. Asiakaspuolen laskenta (client-side computing). Aiemmin keskuskoneessa tehtiin laskenta; nyt keskuskone jakaa laskettavaa. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.5/58

6 Missä mennään 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 (2h) 9. Pilvialustat (4h) 10. Haja-aiheita (2h) 99. Kertausluento (2h) HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.6/58

7 Yleistä säikeistä 1/4 Tutustuttu jo: tapahtumankäsittelysäie ja main -säie. Voidaan luoda ja käynnistää itse. Säie: peräkkäinen käskyvirta. Samanaikaisuus rinnakkaisuus. Säie prosessi. Monen ongelman ratkaisun ilmaiseminen rinnakkain luonnollista. Koneessa useita prosessoreita = aidosti samanaikaan suoritettavia prosesseja. Kyky reagoida moneen suuntaan. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.7/58

8 Yleistä säikeistä 2/4 Perustuu työn jakamiseen, mutta seurauksena on usein myös tietojen jakaminen. Javan säikeet jakavat muistiavaruuden. KJ:n prosessien muistiavaruus erillinen. Tiedon käytön koordinointi tärkeää: samanaikainen käyttö voi johtaa ongelmatilanteisiin. Samanaikaisten päivitysten seurauksena ehkä epäkonsistentti tila. Lukeminen: myös ongelmia. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.8/58

9 Yleistä säikeistä 3/4 Lukitsemalla tietorakenteita (olioita) tai estämällä usean säikeen pääsy samanaikaisesti metodiin voidaan ratkaista ongelmia. Mutta... lukitsemisen seurauksena voi tulla syklejä = jumiutuminen. Lisäksi: säikeille annettavaa aikaa pitää jotenkin kontrolloida. Kaikkien pitää saada aikaa, muuten starvation. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.9/58

10 Yleistä säikeistä 4/4 Käytännön seikkoja: Javaa suoritetaan usein tulkitsemalla. Tulkitseva JVM on yksi koneen KJ:n prosessi. Koneen KJ jakaa aikaa prosessien välillä. Javan säikeitä suoritetaan JVM:n sisällä. JVM:llä on KJ:n prosessien hallintaominaisuudet. (Tilanne on osin muuttunut: mahdollista käyttää useita KJ:n säikeitä.) Ei siis kovin helposti tehoa monesta prosessorista, mutta silti hyödyllistä esim. animoinnissa ja verkkoyhteyksissä. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.10/58

11 Raita: säikeiden tilat Suorituksen loppuminen normaalisti tai epänormaalisti Päättynyt (kuollut) Säie valitaan suoritukseen Valmis Säie käynnistetään start komennolla Suorituksessa Aikakvantti loppunut, yield, interrupt IO suoritettu, uniaika loppunut, notify, notifyall IO pyyntö, sleep, wait Estynyt Uusi Säie luodaan HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.11/58

12 Samanaikaisuuden ongelmista Halutaan jakaa tietoja, mutta tehdä niiden samanaikaiset muutokset kontrolloidusti. Miten välittää tietoa säikeeltä toiselle? Miten ajoittaa säikeiden suoritus? Esim. kuluttaja + tuottaja -tilanne. Miten taata, että säikeet saavat suoritusaikaa? Lukitusten avulla voidaan tehdä muutokset kontrolloidusti (olion eheys säilyy), mutta samanaikaiset lukot voivat johtaa lukkiumatilanteisiin. Valitettavasti yleistä lukkiumat välttävää ratkaisua ei ole. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.12/58

13 Javan ratkaisuista 1/2 Lukitus: olio voidaan lukita; siihen kiinnitetään monitori (mutex; mutually exclusive lock), joka sallii vain yhden säikeen operoivan oliolla kerrallaan. Varattu sana synchronized. Voidaan liittää metodeihin: kyseisiä metodeja saa käyttää vain yksi säie kerrallaan. Ei voida liittää luokka- tai instanssimuuttujiin. Voidaan liittää myös lausekkeeseen (olioon); sama vaikutus. Vaikka olioon on lukko, niin muut säikeet voivat käyttää olion ei-synkronoituja piireitä vapaasti. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.13/58

14 Javan ratkaisuista 2/2 Object.wait(... ): jäädään odottamaan jonkin asian/ehdon tapahtumista. Edellyttää lukkoa olioon; soveltaminen vapauttaa lukon. Object.notify(): ilmoitetaan, että asia tapahtunut. Edellyttää lukkoa olioon; antaa lukon jollekin sitä odottavista säikeistä. Object.notifyAll(): kaikki odottajat valmis -tilaan; joku saa lukon. Muut jäävät sitä odottamaan. Ongelma: kuka vapauttaa kaikki odottajat? Jonkun täytyy ensin ottaa lukko ja käyttää sitä sitten muiden vapauttamiseen. Vastuu!! wait & nofity:n idea on pyrkiä vähentämään lukkiumatilanteita. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.14/58

15 Yhteenveto Säikeet ovat olioita. JVM:n tapa käsitellä säikeitä. Luonti: Thread, Runnable. Tilat, siirtymien syyt. Tiedon jakaminen ja sen hallinta: lukitukset. synchronized. Prioriteetti. Säieryhmä. Demoni. Soveltaminen? GUIhin? Verkkosovellusten yhteydessä? Animointi? HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.15/58

16 Missä mennään 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 (2h) 9. Pilvialustat (4h) 10. Haja-aiheita (2h) 99. Kertausluento (2h) HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.16/58

17 Yleistä Hajautettu sovellus: joukko erillisiä ohjelmia, jotka keskustelevat toistensa kanssa. Ohjelmat voivat toimia eri koneissa. Kommunikointi: verkon yli, jollakin keskustelukielellä. Mahdollisesti erikielisiä ohjelmia. Yleensä kommunikoivilla ohjelmilla hyvin erilainen rooli. Asiakas- ja palvelinsovelluksia. Palvelin: sovellus, joka kuuntelee yhteydenottoja. Asiakas: aloittaa kommunikaation; kommunikaation suunnan painopiste vaihtelee tapauskohtaisesti. Yleensä välitetään passiivista tietoa; ei niinkään pyritä vaikuttamaan toisen ohjelman suoritukseen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.17/58

18 Ongelmia? Miten välittää tietoa? Miten asiakas tietää, missä palvelin on? Miten palvelin osaa vastata? Yhteyden muodostaminen & lopetus? Useita asiakkaita? Useita palvelimia? Ongelmia samanaikaisuudesta? Palvelin: miten palvella kaikkia tasapuolisesti? Miten hallita hajautetun sovelluksen siirtymistä tilasta toiseen? Periaatteessa kaikki samat ongelmat kuin säikeiden tapauksessakin. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.18/58

19 Kommunikoinnista lisää Porttinumerot: TCP:hen (ja UDP:hen) liittyvä numero; väliltä ; kertoo, missä koneen sisällä vastaanottaja on. Lähettäjä samoin. Soketit: sovellustason yhteys (IP-osoite & portti), jota Java-ohjelmassa voidaan käsitellä tiedostovirran tapaan. Toisen osapuolen ei tarvitse olla Java-ohjelma RMI (Remote Method Invocation): tapa välittää metodin kutsuja asiakkaalta palvelimelle. Kutsu = tietoa asiakkalta + ohjaus; takaisin tietoa palvelimelta. Molemmat osapuolet ovat Java-ohjelmia. CORBA, RPC,... HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.19/58

20 Soketit: tilanne Ohjelma Ohjelma Tietokone Ohjelma Portti Portti Portti Verkko Porttinumerot: Tietokoneella IP-osoite. Ohjelma voi käsitellä useampaa porttia samanaikaisesti. Koneen käyttöjärjestelmä välittää verkkokortin ottaman tiedon porttiin kytkeytyneelle ohjelmalle. Lähettäminen vastaavasti : standardoitu merkitys. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.20/58

21 Soketit Soketti kytkös: (kone1, portti1) (kone2, portti2) niin, että kumpikin kone tietää kytköksen. UDP-pohjainen tiedon välitys: DatagramPacket ja DatagramSocket. Miten käyttää? TCP-pohjainen välitys: Socket ja ServerSocket. Miten käyttää? Streamit InputStream, DataInputStream, ObjectInputStream. Useita asiakkaita? Monilähetys (ryhmälähetys, multicast): useita vastaanottajia. Yleislähetys (broadcast). Paketissa java.net. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.21/58

22 TCP-pohjaiset soketit TCP: pakettien järjestys ja perille pääsy taataan. Idea: yhteydellinen 2-suuntainen tietovirta. Käytetään kuten muitakin Javan tiedostovirtoja. Asiakas luo: Socket-olion kohteeseen. Palvelin luo: ServerSocket-olion, joka kautta muodostetaan Socket-olio. Soketteihin liittyy sisään- ja ulosmenevät tiedostovirrat. Paketit: ei eksplisiittisiä paketteja. Kirjoitetaan vain tiedostovirtaan! HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.22/58

23 Palvelimen toiminnasta Socket clientsocket = serversocket.accept(); Palvelin usein palvelee useita asiakkaita. Ei voi asiakas-soketin muodostamisen jälkeen keskittyä kokonaan siihen. Ratkaisu: asiakas-soketin käsittely siirretään sitä varten tehtävälle säikeelle. (Hyvin samantapaista kuin Unix:ssa inetd.) HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.23/58

24 Palvelimen ydin while (true) { Socket clientsocket = serversocket.accept(); CommHandler c = new CommHandler(clientSocket); c.start(); } // while HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.24/58

25 Missä mennään Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h) 5. Soketit (3h) 6. RMI ja J2EE (2h) 7. RPC (1h) 8. WWW-sovellustekniikoista (2h) 9. Pilvialustat (4h) 10. Haja-aiheita (2h) 99. Kertausluento (2h) HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.25/58

26 Remote Method Invocation: Yleistä 1/2 Palvelinsovellus kuuntelee yhteydenottoja; yhteydenotto = metodin kutsu ja suorittaminen palvelimessa. Asiakas kutsuu palvelinsovellusta suorittamaan jokin etäolion jotain tiettyä metodia (parametrit). Parametrit: tietoa asiakkaalta palvelimelle. Tulos: tietoa palvelimelta asiakkaalle. Tietoa välitetään Javan olioina! Palvelin- & asiakassovellus: Java-ohjelmia. Yleisesti: useita palvelimia ja asiakkaita. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.26/58

27 RMI: Yleistä 2/2 Etäolio (server object): palvelimessa oleva olio. Paikallinen olio (client object): asiakassovelluksessa. Edustajaolio (stub): asiakkaalla on olio, joka edustaa palvelimessa olevaa etäoliota. Tukee turvallisuusominaisuuksia ja roskien keruuta (yms). Asiakkaan ja palvelimen roolit eivät kiinteitä: osapuoli voi olla molemmissa rooleissa. Paketit java.rmi (asiakas); java.rmi.server (palvelin); java.rmi.registry (rekisteri: nimiä palvelimen olioille);... HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.27/58

28 RMI:n kulisseissa tapahtuu (asiakas) (palvelin) rekisteri palvelinohj. asiakasohj. etäolio luonti etäoliota vastaava edustajaolio rekisteristä etäolion rekisteröinti metodin kutsu paikalliselle ohjelmalle edustajaolio kutsun + param. ohjaus eteenpäin tulosten välittäminen edustajaoliolle kutsun suoritus edustajaolion olion kutsuja odottava säie tulokset takaisin HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.28/58

29 Sovellusten keskustelusta Kaksi palvelinsovellusta voi keskustella keskenään. RMI: metodin kutsu = vaikuttamisen yhteydessä pitää huolehtia, ettei tule avoimien kutsujen sykliä. Tavallaan kutsut tarkoittavat vuoron siirtämistä toiselle. Molemmat osapuolet aktiivisia: ei syklejä, jos metodin kutsu tarkoittaa palvelupyynnön välittämistä. Riittää kun vain toiseen suuntaan palvelupyyntöjä! Ratkaisu: molemmilla itsenäinen säie & RMI-kutsut ainakin toiseen suuntaan palvelupyyntöjä. Paljon säikeitä: main, itsenäinen säie (+ ilm. Remote-oliota varten syntyy oma säie). HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.29/58

30 Turvallisuudesta Mahdollista kryptata RMI-liikenne (voidaan vaihtaa RMI:n käyttämät tavalliset soketit SSL-soketeiksi). Palvelimen puolella ei ole tukea sille, että rajoitettaisiin oikeutta tehdä kutsu edustaolion kautta (miten palvelin tietää kuka sitä kutsuu? edustaolio voidaan välittää eteenpäin...). Palvelimeen voidaan tehdä login-osuus, jonka jälkeen saa varsinaisen etäolion palveluiden käyttämiseksi. Kyseinen olio voi olla erilainen eli käyttäjille. Palvelimen pitää varautua siihen, että asiakas häiriköi. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.30/58

31 Jakamisesta ja lukoista RMI ei varsinaisesti tunne lukkoja, mutta... RMI:n yhteydessä on mahdollista soveltaa lukkoja palvelipäässä. RMI-palvelin on monisäikeinen (kutakin samanaikaista kutsua toteuttaa eri säie). Määritellään kriittiset etäolion operaatiot sychronized-suojatuiksi. Suojaa etäoliokutsujen kautta tapahtuvaa samanaikaista käyttöä (sekä muuta palvelimessa etäolioon tapahtuvaa käyttöä). Asiakas ei siis suoraan saa lukkoa etäolioon (vaan sen edustaja etäkutsua suorittava säie palvelimessa). wait()/notify() hankalia mutta mahdollisia lähinnä vain estetään samanaikainen jaetun datan käyttö. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.31/58

32 Yhteenveto RMI = Remote Method Invocation. Etäolio + edustaolio. Kutsulla saadaan aikaan tiedon siirto molempiin suuntiin voidaan välittää olioita kopioimatta. Edustaolioiden == eri kuin etäolioiden ==!! Kutsuja aktiivinen; kutsuttava passiivinen. Pitää varoa avoimien kutsuketjujen sykliä. Palvelin vs useita asiakkaita: helppo. Palvelin & palvelin: vaikeampi. Toteutettu säikeillä ja soketeilla. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.32/58

33 Missä mennään Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h) 5. Soketit (3h) 6. RMI (2h) 7. RPC (1h) 8. WWW-sovellustekniikoista (2h) 9. Pilvialustat (4h) 10. Haja-aiheita (2h) 99. Kertausluento (2h) HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.33/58

34 Remote Procedure Call, RPC RPC:n (Remote Procedure Call) idea on välittää (TCP avulla) verkon yli proseduurin kutsu(ja) argumentteineen ja palauttaa takaisin etäällä suoritetun proseduurin tulos. Syy irrottaa proseduuri etäproseduuriksi liittyy yleensä työmäärään tai keskitettyyn suureen tietomäärään (jota ei ole järkevä kopioida moneen paikkaan). RPC:ssä, etäproseduurin kutsu näyttää ohjelmassa tavalliselta metodin kutsulta. Toteutus (kommunikointi verkon yli) on näkymätön ohjelmoijan kannalta. C-pohjainen ei olioita kuten RMI:ssä. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.34/58

35 Parametriongelmia Etäproseduurikutsujen toteuttaminen olisi helppoa, jos kaikki parametriarvot olisivat skalaariarvoja ja molemmat RPC-järjestelmät olisivat samoja. RPC-toteutukset perustuvat usein alla olevaan käyttöjärjestelmään ja siinä tiedon esitysmuoto voi vaihdella. Parametrien koodauksen (mashalling) täytyy ottaa tämä huomioon. (XDR) Jotkin paikalliset parametrit voivat olla viiteparametrejä. Jos sallittua, marshallointi tarkoittaa viitatun rakenteen kopiointia. Tulisiko muutosten heijastua takaisin? Mahdollista! Copy/restore-parametrit! HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.35/58

36 Huomioita RPC:stä RPC:n kirjasto tarjoaa suuren määrään proseduureja asiakkaita ja palvelimia varten. Parametrien koodausstandardi: XDR (external Data Representation). Asiakkaan ja palvelimen voi tehdä alusta alkaen itse tai ne voi toteutusympäristöstä riippuen osittain generoida. IDL-kieli on kohtuullisen rikas. TCP:n tilalla voi olla jokin muu kuljetusmekanismi (XML-RPC: HTTP). RPC ei ole vain C-kielisille ohjelmille esim. XML-RPC toteutuksia on useille kielille: Java, C/C++, Perl, PHP, Python. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.36/58

37 Lopuksi RPC on esitelty välitystekniikkana. Sovellusten tekemisen problematiikka samanlaista kuin RMI:n kohdallakin. Etäproseduurit eivät ole mitään aktiivista, vaan passiivisia palveluita. Ja yleisemmin monisäiesovellusten ongelmat koskien tiedon samanaikaista käsittelyä ovat myös RPC-sovellusten ongelmia. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.37/58

38 Corba yleiskatsaus CORBA (Common Object Request Broker Architecture) on ryhmän nimeltä OMG (Object Management Group) määrittelemä. OMG perustettu ( Tavoitteena on mahdollistaa hajautettujen järjestelmien kehittäminen kieliriippumattomuutta tukien. Ensimmäinen versio Versio 2.0 vuonna 1996 ja versio 3.0 vuonna Määrittely on n sivua. Tehty ennen RMI:tä ja Javaa. RMI:tä laajempi. Soveltuu myös muille kuin OO-kielille. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.38/58

39 jatkuu... CORBAn ydin on ORB (Object Request Broker), joka on alustaja kieliriippumaton taso etäkutsujen tekemiseksi. Huolehtii mm. marshalloinnista. Sovelluksissa olevat ORBit keskustelevat GIOP:llä (General Inter-ORB Protocol). Sen TCP/IP-mukaelma on IIOP (Internet Inter-ORP Protocol). Asiakas/palvelin rajapinnat kuvataan Corbassa IDL:llä (Interface Description Language). HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.39/58

40 Muita CORBAn ominaisuuksia Tukee lukkoja ja transaktioita. Tukee replikointia (ja cachea). Tukee vikasietoisuutta. Tukee kryptausta, autentikointia, paljon muuta. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.40/58

41 Lopuksi Hyvin samanlainen kuin RMI, mutta yleisempi. Tosin kaikkia ominaisuuksia ei kaikissa toteutuksissa. RMI:n ja RPC:n ja samanaikaisuuden ongelmat ovat myös CORBAn ongelmia. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.41/58

42 Missä mennään 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 (4h) 10. Haja-aiheita (2h) 99. Kertausluento (2h) HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.42/58

43 Luennon rakenne Protokollista Yleistä Protokolla asiakkaan ja palvelimen kannalta; tilat Kuvaaminen Muodostaminen Protokollasta luokiksi XML sopii mm. protokollan viestien esittämiseen Mikä XML on? Käsitteitä: XML, XSL, DTD, skeema,... XML:n käyttötilanteita, XML-esimerkkejä DOM ja SAX: XML-dokumentit Java-ohjelmissa. Esittäminen, jäsentäminen ja antijäsentäminen. Esimerkkejä. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.43/58

44 Protokollista: muodostaminen Pitää miettiä läpi kaikki asiakkaan ja palvelimen väliset keskustelut. Kirjataan keskustelun vaiheet viesteiksi; vältä turhia viestejä. Pitäisi pyrkiä minimoimaan erilaisten viestien määrää. Tärkeää huomioida erilaiset kuittaukset sekä virhetilanteista ilmoittaminen. Todellisuudessa keskustelu ei aina etene niin kuin toivotaan: virheistä toipumisen eräs keskustelun muoto (viestejä). HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.44/58

45 Protokollista: viestien koodaus Binäärisessä muodossa, esim. kirjoitetaan olioita TCP-sokettien virran päällä. Tekstimuodossa (perinteinen vaihtoehto): suunnitellaan itse viestien muoto ja koodaus. Moderni variaatio: esitetään viestit XML:llä. Kaikkien edellisten vaihtoehtojen yhteydessä on hyvinkin järkevää esittää viestit ohjelmassa erilaisilla Java-olioilla. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.45/58

46 Protokollista: kuvaaminen Muodostetaan sovellukselle tiloja. Tilat ovat hajautetun järjestelmän kokonaistiloja, mutta usein liittyvät johonkin osapuoleen. Tilakaavio: Tilasta toiseen siirrytään vaihtamalla viestejä tekemällä keskustelu. Yksittäiset tilasiirtymät (keskustelu) voidaan kuvata UML:n sekvenssikaaviolla. Yleisemmin sekvenssikaaviolla voidaan kuvata tyypillisiä keskusteluja. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.46/58

47 Missä mennään 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 (2h) 99. Kertausluento (2h) HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.47/58

48 Rakenne Yleiskuva Web 2.0: WWW-sovellusten luonne WWW:n RIA-tekniikoista yleisesti Vaadin Servlet-tekniikasta HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.48/58

49 Yleiskuva Pohditaan: Mitä osapuolia hajautetun järjestelmän kannalta web-sovelluksissa? Mikä muuttuu web:n myötä? Mihin tekniikan oikeastaan kohdistuvat? Mitä resursseja web-sovellusten osapuolilla on? HTML5:n tuoma muutos... HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.49/58

50 Vaadin IT Mill Oy (Turku). Katsotaan kuvia 3.1 ja 4.1 Vaadin-kirjasta. Vaadin-sovelluksen tekeminen näyttää standalone-sovelluksen (Swing:n tapainen) tekemiseltä. Pääpaino on GUI-asioissa. Palvelin puolella Vaadin-sovellus on servletti. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.50/58

51 Servletit Tilanne: Mikä servletti oikein on? WWW ja HTML-tiedostojen rakenne HTTP-protokolla Miten välittää tietoa? Lomakkeet Luokat Servlet ja HttpServlet Luokat HttpServletRequest ja HttpServletResponse sekä Cookie Esimerkkejä (Kirja: Java Servlet Programming, Jason Hunter & William Crawford, 1998.) HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.51/58

52 Missä mennään 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 (1h) 10. Haja-aiheita (2h) 99. Kertausluento (2h) + 1h pelivaraa HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.52/58

53 Palvelumallit SaaS (Software as a Service) Valmiiden sovellusten tarjoamista palveluna. Esim. Google Apps. PaaS (Platform as a Service) Tarjoaa sovellusten suoritusalustan. Esim. Google AppEngine, Windows Azure, Amazon EC2. IaaS (Infrastructure as a Service) Tarjoaa alustan, jonka päälle pystyttää resursseja (koneita, tietovarastoja). Esim. Amazon AWS?? (vai PaaS) IaaS:n ja PaaS:n on esitetty yhtyvän. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.53/58

54 Pilvilaskennan ja HOJ:n suhde Pohditaan! Pilvialustojen suhde käyttöjärjestelmiin? Pilvisovellusten yhteyskeinot pilven sisällä/ulkopuolelle toisiin sovelluksiin / resursseihin? Entä toisinpäin? Osapuolten nimeäminen pilvessä? Onko nykytilanne rajoittunut mitä tulevaisuus tuo tullessaan? HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.54/58

55 Luvun rakenne Mitä on pilvilaskenta? Tarkoitus, tavoitteet,... Pilvialustat Pilvialustojen ominaisuuksia Sovellusten tekemisestä Suhde hajautettuihin järjestelmiin? HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.55/58

56 Tenttimateriaali Kalvot (moodle). Moniste, luvut 1-9 (moodle). HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.56/58

57 Vanhoja tenttikysymyksiä Miten TCP-pohjainen sokettiyhteys luodaan? Mitä huomionarvoisia seikkoja palvelinpuolen toteutukseen liittyy? Toteuta tuottaja-kuluttaja tilanteen mukainen ohjelma, jossa tuottajasäie tuottaa yhden kerrallaan satunnaisia luokan Piste alkioita, joita kuluttajasäie kuluttaa sitä mukaa kuin niitä tulee. Tuottaja tuottaa uuden vasta kun edellinen on kulutettu. Rajoitetaan satunnaisuutta niin, että tuotettaville pisteille on voimassa 0 x, y 10. Sovitaan, että kuluttaminen tarkoittaa tässä yhteydessä pisteen koordinaattiarvojen tulostamista. Kun kuluttajasäie saa pisteen (0, 0), sen tulee aiheuttaa tuottajasäikeen ja itsensä suorituksen loppuminen kuitenkaan lopettamatta taustalla olevaa sovellusta. Kirjoita luokka tuottaja- ja kuluttajasäikeitä varten sekä hallitse niiden välinen tiedonsiirto. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.57/58

58 The End Kiitoksia mielenkiinnostanne! Toivottavasti kurssi avasi teille uusia näkymiä hajautettujen sovellusten tekemiseen. Kurssi Käyttöliittymät jatkaa 3. periodilla asiakaspuolen tekniikoiden läpikäyntiä (tapahtumaohjattua ohjelmointia). Tsemppiä tenttiin!.. ja harjoitustyöhön (DL, Osa II: ). HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.58/58

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

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

Lisätiedot

HSMT J2EE & EJB & SOAP &...

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

Lisätiedot

DTEK1047: Hajautet ohjelmistojärjestelmät (HOJ)

DTEK1047: Hajautet ohjelmistojärjestelmät (HOJ) DTEK1047: Hajautet ohjelmistojärjestelmät (HOJ) Johdatus kurssiin Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/15 HOJ (Java-kielellä) Aineopintotasoinen kurssi, 5op. Luennot: Ville

Lisätiedot

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 HOJ Haja-aiheita Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)

Lisätiedot

HOJ J2EE & EJB & SOAP &...

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

Lisätiedot

HOJ RPC = Remote Procedure Call (ja Common Object Request Broker Architecture)

HOJ RPC = Remote Procedure Call (ja Common Object Request Broker Architecture) HOJ RPC = Remote Procedure Call (ja Common Object Request Broker Architecture) Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/36 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3.

Lisätiedot

HOJ Säikeet (Java) Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/55

HOJ Säikeet (Java) Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/55 HOJ Säikeet (Java) Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/55 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)

Lisätiedot

Integrointi. Ohjelmistotekniikka kevät 2003

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

Lisätiedot

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Concurrency - 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ätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 19: Rinnakkaisuus Riku Saikkonen (merkityt ei-laajan kurssin kalvot: Otto Seppälä) 24. 3. 2011 Sisältö 1 Säikeet 2 Lukot 3 Monitorit 4 Muuta säikeisiin

Lisätiedot

Verkko-ohjemointia. TCP vs. UDP Socket, ServerSocket Datagrammit RMI

Verkko-ohjemointia. TCP vs. UDP Socket, ServerSocket Datagrammit RMI 15.3.2005 Verkko-ohjemointia TCP vs. UDP Socket, ServerSocket Datagrammit RMI 1 Javaa verkossa Sovelmat - appletit ajetaan www-selaimessa peritään jawa.awt.applet tai javax.swing.japlet (vrt. JFrame) http://java.sun.com/docs/books/tutorial/applet/

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

HOJ RMI = Remote Method Invocation

HOJ RMI = Remote Method Invocation HOJ RMI = Remote Method Invocation Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/37 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702)

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri (TK081702) yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,

Lisätiedot

582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus 582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus Sisältö Mikä on web-sovellus? Selaimen rooli web-sovelluksessa Palvelimen rooli web-sovelluksessa Aineistopyynnöt Tiedon välittäminen

Lisätiedot

Etäproseduurikutsu, Remote Procedure Call (RPC) Etäproseduurikutsu. Poissulkeminen moduulin sisällä?

Etäproseduurikutsu, Remote Procedure Call (RPC) Etäproseduurikutsu. Poissulkeminen moduulin sisällä? Etäproseduurikutsu Andrews 8.1, 10.3, Stallings 13.3 RPC Toteutus Virhesemantiikka Etäproseduurikutsu, Remote Procedure Call (RPC) Palvelu etäkoneessa, ei yhteistä muistia Asiakkaat pyytävät palvelua prosedurikutsumekanismilla

Lisätiedot

Etäproseduurikutsu. Etäproseduurikutsu, Remote Procedure Call (RPC)

Etäproseduurikutsu. Etäproseduurikutsu, Remote Procedure Call (RPC) Etäproseduurikutsu RPC Toteutus Virhesemantiikka Andrews 8.1, 10.3, Stallings 13.3 Etäproseduurikutsu, Remote Procedure Call (RPC) Palvelu etäkoneessa, ei yhteistä muistia Asiakkaat pyytävät palvelua prosedurikutsumekanismilla

Lisätiedot

Sovellusarkkitehtuurit

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

Lisätiedot

HSMT Web-sovellustekniikoista

HSMT Web-sovellustekniikoista HSMT Web-sovellustekniikoista Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.1/29 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista

Lisätiedot

Tiedonsiirto- ja rajapintastandardit

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

Lisätiedot

Etäproseduurikutsu. RPC Toteutus Virhesemantiikka. Andrews 8.1, 10.3, Stallings 13.3

Etäproseduurikutsu. RPC Toteutus Virhesemantiikka. Andrews 8.1, 10.3, Stallings 13.3 Etäproseduurikutsu RPC Toteutus Virhesemantiikka Andrews 8.1, 10.3, Stallings 13.3 Etäproseduurikutsu, Remote Procedure Call (RPC) Palvelu etäkoneessa, ei yhteistä muistia Asiakkaat pyytävät palvelua prosedurikutsumekanismilla

Lisätiedot

3. Kuljetuskerros 3.1. Kuljetuspalvelu

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end 3. Kuljetuskerros 3.1. Kuljetuspalvelu prosessilta prosessille looginen yhteys portti verkkokerros koneelta koneelle IP-osoite peittää verkkokerroksen puutteet jos verkkopalvelu ei ole riittävän

Lisätiedot

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti Rinnakkaisohjelmointi kurssi Opintopiiri työskentelyn raportti Opintopiiri: Heikki Karimo, Jesse Paakkari ja Keijo Karhu Päiväys: 15.12.2006 Ohjelmointitehtävä C i C i : Säikeet ja kriittisen vaiheen kontrollointi

Lisätiedot

in condition monitoring

in condition monitoring Etäteknologioiden automaatiosovellukset Using e-speak e in condition monitoring tutkija professori Hannu Koivisto Sisältö Tausta Globaali kunnonvalvontajärjestelmä E-speak globaalissa kunnonvalvontajärjestelmässä

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

Palveluperustaiset arkkitehtuurityylit

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

Lisätiedot

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen

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

Lisätiedot

OHJ-5010 Hajautettujen järjestelmien perusteet

OHJ-5010 Hajautettujen järjestelmien perusteet OHJ-5010 Hajautettujen järjestelmien perusteet Arkkitehtuureista (1/2) Kari Systä Kari.systa@tut.fi 1 Yleistä Uusimman tiedon mukaan ensimmäinen tentti on 19.5.2012 kello 09-12. Kurssin kotisivuilla http://www.cs.tut.fi/~hajap/

Lisätiedot

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Tentti Tentti Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Omia koneita ei saa käyttää. Sähköisessä tentissä on paperitentin tapaan osaamisen

Lisätiedot

Luento 6. T Ohjelmoinnin jatkokurssi T1 & T Ohjelmoinnin jatkokurssi L1. Luennoitsija: Otto Seppälä

Luento 6. T Ohjelmoinnin jatkokurssi T1 & T Ohjelmoinnin jatkokurssi L1. Luennoitsija: Otto Seppälä Luento 6 T-106.1240 Ohjelmoinnin jatkokurssi T1 & T-106.1243 Ohjelmoinnin jatkokurssi L1 Luennoitsija: Otto Seppälä Kurssin WWW: http://www.cs.hut.fi/opinnot/t-106.1240/s2007 Oma Grafiikka Swing-käyttöliittymässä

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

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

8/20: Luokat, oliot ja APIt

8/20: Luokat, oliot ja APIt Ohjelmointi 1 / syksy 2007 8/20: Luokat, oliot ja APIt Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Kohti

Lisätiedot

4. Luento: Prosessit ja säikeets. Tommi Mikkonen, tommi.mikkonen@tut.fi

4. Luento: Prosessit ja säikeets. Tommi Mikkonen, tommi.mikkonen@tut.fi 4. Luento: Prosessit ja säikeets Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Prosessi Säikeet Keskeytykset Keskeytyskäsittely Käyttöjärjestelmäkutsut Prosessielementti Prosessin hallinta Suunnittelunäkökohtia

Lisätiedot

T-111.361 Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

T-111.361 Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot T-111.361 Hypermediadokumentin laatiminen -Ohjelmointi Peruskäsitys www-ohjelmoinnin kentästä Tekniikat interaktiivisuuden toteuttamiseen tekniikat tekniikat Tietokannat Juha Laitinen TKK/TML juha.laitinen@hut.fi

Lisätiedot

Projekti 1 Säikeet ja kriittisen vaiheen kontrollointi javalla

Projekti 1 Säikeet ja kriittisen vaiheen kontrollointi javalla Projekti 1 Säikeet ja kriittisen vaiheen kontrollointi javalla Lasse Leino ja Marko Kahilakoski Helsingin Yliopisto Tietojenkäsittelytieteen laitos Rinnakkaisohjelmointi 18. joulukuuta 2006 Sisältö 1 Säikeet

Lisätiedot

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Tentti Tentti Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Omia koneita ei saa käyttää. Sähköisessä tentissä on paperitentin tapaan osaamisen

Lisätiedot

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen

Lisätiedot

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

Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit Konnektorit ohjelmistoarkkitehtuurissa 18.9.2012 1 Konnektorit (connectors) Konnektori (connector) (liitos) Arkkitehtuurielementti, jonka tehtävänä on mahdollistaa ja hallita komponenttien

Lisätiedot

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

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

Lisätiedot

T Harjoitustyöluento

T Harjoitustyöluento 29. syyskuuta 2010 Luennon sisältö 1 2 3 Simulaatiopalvelin Moodle Harjoitustyön demoaminen 4 Aikataulu Kysyttävää? Harjoitustyössä toteutetaan ohjelma, joka simuloi reititintä: ohjelma vastaanottaa reititysdataa

Lisätiedot

Verkkoliikennettä Java[ssa lla] Jouni Smed

Verkkoliikennettä Java[ssa lla] Jouni Smed Verkkoliikennettä Java[ssa lla] Jouni Smed 9.2.2001 1 Perusteita 1 (2) tarvittavat luokat paketissa MDYDQHW IP-osoitteita käsitellään,qhw$gguhvv-olioina luonti (huom. ei konstruktoria):,qhw$gguhvvdggu,qhw$gguhvvjhw%\1dphdgguhvv

Lisätiedot

ZENworks Application Virtualization 11

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

Lisätiedot

Tietoliikenne II (2 ov)

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

Lisätiedot

Käyttöjärjestelmät: prosessit

Käyttöjärjestelmät: prosessit Käyttöjärjestelmät: prosessit Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Käyttöjärjestelmä

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 11: Rinnakkaisuus Riku Saikkonen (osa kalvoista on suoraan ei-laajan kurssin luennoista) 25. 4. 2012 Sisältö 1 Rinnakkaisuusmalleja: säie ja prosessi 2

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 10: Aliohjelmat, foreign function interface Riku Saikkonen (osa kalvoista on suoraan ei-laajan kurssin luennoista) 25. 3. 2013 Sisältö 1 Aliohjelmien käyttäminen

Lisätiedot

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti5004000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 4.6.2007,

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

Hajautettujen sovellusten muodostamistekniikat (Java-kielellä), TKO_2014 Aineopinnot, syksy 2009 Turun yliopisto / Tietotekniikka

Hajautettujen sovellusten muodostamistekniikat (Java-kielellä), TKO_2014 Aineopinnot, syksy 2009 Turun yliopisto / Tietotekniikka Hajautettujen sovellusten muodostamistekniikat (Java-kielellä), TKO_2014 Aineopinnot, syksy 2009 Turun yliopisto / Tietotekniikka c Ville Leppänen This page is intentionally left blank. Esipuhe Tämän oppimateriaalin

Lisätiedot

Web Service torilla tavataan!

Web Service torilla tavataan! Web Service torilla tavataan! Jari Putula Avarea Oy COPYRIGHT BY AVAREA 2009 1 Google Trends COPYRIGHT BY AVAREA 2009 2 1 1. Mahdollistajat 2. Web service? 3. KISS 4. Miksi? 5. Analogia 6. Ajax 7. Esimerkki

Lisätiedot

T-110.4100 Harjoitustyöluento

T-110.4100 Harjoitustyöluento 1. lokakuuta 2009 Yhteenveto 1 2 3 Linkkitilaprotokolla 4 5 6 DL! Ensimmäinen deadline lähestyy: harjoitustyön suunnitelma pitäisi palauttaa 15.10 klo 12 mennessä. Itse harjoitustyöstä lisää tuota pikaa..

Lisätiedot

Monitorit. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5

Monitorit. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5 Monitorit Monitori Synkronointimenetelmiä Esimerkkejä Andrews 5.1-5.2, Stallings 5.5 Tavoite Minimoi virhemahdollisuuksia poissulkeminen ohjelmoijan vastuulla P():t ja V():t siellä, täällä ja tuolla -

Lisätiedot

Monitorit. Tavoite. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5. Minimoi virhemahdollisuuksia

Monitorit. Tavoite. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5. Minimoi virhemahdollisuuksia Monitorit Monitori Synkronointimenetelmiä Esimerkkejä Andrews 5.1-5.2, Stallings 5.5 Tavoite Minimoi virhemahdollisuuksia poissulkeminen ohjelmoijan vastuulla P():t ja V():t siellä, täällä ja tuolla -

Lisätiedot

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä Tietojenkäsittelyn perusteet 2 Lisää käyttöjärjestelmistä 2011-02-09 Leena Ikonen 1 Systeemiohjelmat Systeemiohjelmiin kuuluvat Kääntäjät ja tulkit (+debuggerit) Käyttöjärjestelmä Linkittäjät Lataajat

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

Sisältö. Työn idea Protokollat. Harjoitustyön käytäntöjä. Työn demoaminen. Etäisyysvektori Linkkitila. Palvelin Moodle SSH-tunnelit

Sisältö. Työn idea Protokollat. Harjoitustyön käytäntöjä. Työn demoaminen. Etäisyysvektori Linkkitila. Palvelin Moodle SSH-tunnelit Harjoitustyöinfo Sisältö Työn idea Protokollat Etäisyysvektori Linkkitila Harjoitustyön käytäntöjä Palvelin Moodle SSH-tunnelit Työn demoaminen 2 Työn idea Tehdään ohjelma, joka annetun reititysdatan perusteella

Lisätiedot

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin TEKNILLINEN KORKEAKOULU / VAASAN YLIOPISTO Diplomityöesitelmä Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin Timo Ahola 2006 Web sovellus Web palvelut joiden avulla laite voidaan liittää

Lisätiedot

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Graafisen käyttöliittymän ohjelmointi Syksy 2013 TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 10 Rinnakkaisuus käyttöliittymäohjelmoinnissa Juha-Matti Vanhatupa Rinnakkaisuus ja käyttöliittymäohjelmointi

Lisätiedot

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone ja ylläpito computer = laskija koostuu osista tulostuslaite näyttö, tulostin syöttölaite hiiri, näppäimistö tallennuslaite levy (keskusyksikössä) Keskusyksikkö suoritin prosessori emolevy muisti levy Suoritin

Lisätiedot

3. Kuljetuskerros 3.1. Kuljetuspalvelu

3. Kuljetuskerros 3.1. Kuljetuspalvelu 3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end lta lle looginen yhteys portti verkkokerros koneelta koneelle I-osoite peittää verkkokerroksen puutteet jos verkkopalvelu ei ole riittävän hyvä, sitä

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

Etäproseduurikutsu, Remote Procedure Call (RPC) Etäproseduurikutsu. Poissulkeminen moduulin sisällä?

Etäproseduurikutsu, Remote Procedure Call (RPC) Etäproseduurikutsu. Poissulkeminen moduulin sisällä? Etäproseduurikutsu, Remote Procedure Call (RPC) Etäproseduurikutsu Andrews 8.1, 10.3, Stallings 13.3 RPC Toteutus Virhesemantiikka Palvelu etäkoneessa, ei yhteistä muistia Asiakkaat pyytävät palvelua prosedurikutsumekanismilla

Lisätiedot

Taustaa. CGI-ohjelmointi

Taustaa. CGI-ohjelmointi Taustaa CGI-ohjelmointi CGI = Common Gateway Interface Hyvin yksinkertainen ja helppo tapa toteuttaa dynaamisuutta ja interaktivisuutta htmldokumentteihin Kehitetty tiedon siirtoon palvelimen ja asiakasselaimen

Lisätiedot

sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin

sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin Zyxel Prestige 645 ISP Zyxel Prestige 645 WEB Zyxel Prestige 645R Zyxel Prestige 645 Ennen aloitusta tarkista,

Lisätiedot

Palvelut. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät

Palvelut. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät Sulautetut järjestelmät Luku 2 Sivu 1 (??) Palvelut Käyttöjärjestelmän tehtävänä on tarjota ohjelmoijalla erilaisia palveluita Tyypillisin palvelu, jota sulautetut käyttöjärjestelmät tarjoavat on prosessien

Lisätiedot

Jaana Diakite Projekti 1 JAVA-Monitorit 1(13) Rinnakkaisohjelmointi Anu Uusitalo

Jaana Diakite Projekti 1 JAVA-Monitorit 1(13) Rinnakkaisohjelmointi Anu Uusitalo Jaana Diakite Projekti 1 JAVA-Monitorit 1(13) JAVA MONITORIT Monitorien käyttötarkoitus ja sovellusalue Monitorit ovat Java ohjelmointikielen sisäänrakennettu mekanismi säikeiden rinnakkaisuuden hallintaan.

Lisätiedot

Visma Nova Webservice Versio 1.1 /

Visma Nova Webservice Versio 1.1 / Visma Nova Webservice Versio 1.1 / 31.10.2018 pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri ilmoitusta. Oppaan ja siihen liittyvän muun

Lisätiedot

Pilvi mitä, miksi ja miten

Pilvi mitä, miksi ja miten Pilvi mitä, miksi ja miten We are stuck with technology when what we really want is just stuff that works. Douglas Adams Pekka Virtanen TTY/Ohjelmistoarkkitehtuurit 2010-10-07 Päivän menu Pilvilaskenta

Lisätiedot

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3 Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2

Lisätiedot

Harjoitustyö. Jukka Larja T Tietokoneverkot

Harjoitustyö. Jukka Larja   T Tietokoneverkot Harjoitustyö 1 Työn idea Protokollat Etäisyysvektori Linkkitila Harjoitustyö Harjoitustyön käytäntöjä Palvelin Moodle SSH-tunnelit Työn demoaminen Yleistä palautetta suunnitelmista 2 Gallup Osaatko seuraavaa

Lisätiedot

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro1 29.10.2013

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

Lisätiedot

Tietoliikenne II (2 ov)

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy IBM Collaboration Forum ٨.٣.٢٠١١ XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy ٢٠١١ IBM Corporation Domino-sovelluskehitys Nopea kehitysympäristö (Rapid application development,

Lisätiedot

S 38.1105 Tietoliikennetekniikan perusteet. Pakettikytkentäiset verkot. Helsinki University of Technology Networking Laboratory

S 38.1105 Tietoliikennetekniikan perusteet. Pakettikytkentäiset verkot. Helsinki University of Technology Networking Laboratory S 38.1105 Tietoliikennetekniikan perusteet Pakettikytkentäiset verkot Kertausta: Verkkojen OSI kerrosmalli Sovelluskerros Esitystapakerros Istuntokerros Kuljetuskerros Verkkokerros Linkkikerros Fyysinen

Lisätiedot

Visma Software Oy

Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri ilmoitusta. Oppaan ja siihen liittyvän muun materiaalin kopiointi on kielletty ilman :n

Lisätiedot

Käyttöjärjestelmät: poissulkeminen ja synkronointi

Käyttöjärjestelmät: poissulkeminen ja synkronointi Käyttöjärjestelmät: poissulkeminen ja synkronointi Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet

Lisätiedot

ELEC-C7241 Tietokoneverkot Ohjelmointiprojekti

ELEC-C7241 Tietokoneverkot Ohjelmointiprojekti ELEC-C7241 Tietokoneverkot Ohjelmointiprojekti Pasi Sarolahti, 7.2.2017 Tentti ti 14.2. klo 13 Paikkana AS2 Kesto 2 tuntia Neljä kysymystä Laskinta saa käyttää Alue Kolme ensimmäistä osiota (sovellukset,

Lisätiedot

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007 Jaetun muistin muuntaminen viestin välitykseksi Otto Räsänen 15. lokakuuta 2007 1 Motivaatio 2 Valtuuden välitys Peruskäsitteitä 3 Kolme algoritmia Valtuuden välitys käyttäen laskuria ilman ylärajaa Valtuuden

Lisätiedot

T harjoitustyö, kevät 2012

T harjoitustyö, kevät 2012 T-110.4100 harjoitustyö, kevät 2012 Kurssiassistentit T-110.4100@tkk.fi Tietotekniikan laitos Perustieteiden korkeakoulu Aalto-yliopisto 31.1.2012 Yleistä Kurssin osasuoritteita ovat kaksi osatenttiä,

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat Järjestelmäarkkitehtuuri (TK081702) SOA yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,

Lisätiedot

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

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

Lisätiedot

Ohjelmointi II. Erkki Pesonen Luennot ja harjoitukset. Itä-Suomen yliopisto Tietojenkäsittelytieteen laitos 2015

Ohjelmointi II. Erkki Pesonen Luennot ja harjoitukset. Itä-Suomen yliopisto Tietojenkäsittelytieteen laitos 2015 Ohjelmointi II Erkki Pesonen Luennot ja harjoitukset Itä-Suomen yliopisto Tietojenkäsittelytieteen laitos 2015 1 Johdantoa kurssilla opiskeluun: oppimistavoitteet. 1. Tiedän mitä asioita kurssilla opiskellaan

Lisätiedot

Hintatiedotus ja tietojen välitys. Loppuraportti

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

Lisätiedot

HAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely

HAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely HAAGA-HELIA Heti-09 1 (14) Transaktionkäsittely Transaktion / Tapahtuman hallinta... 2 Taustaa... 3 Tapahtuman käsite... 5 ACID-ominaisuudet... 7 Samanaikaisuuden hallinta... 8 Lukitukset... 9 Toipuminen...

Lisätiedot

Tietojärjestelmäarkkitehtuurit

Tietojärjestelmäarkkitehtuurit Tietojärjestelmäarkkitehtuurit ITK130 Johdatus ohjelmistotekniikkaan Syksy 2003 Sami Kollanus 1 Aluksi Tietojärjestelmäarkkitehtuurit vs. ohjelmistoarkkitehtuurit Pohjana Tietojärjestelmäarkkitehtuurit

Lisätiedot

Samanaikaisuuden hallinta

Samanaikaisuuden hallinta Samanaikaisuuden hallinta TIES542 Ohjelmointikielten periaatteet, kevät 2007 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 20. maaliskuuta 2007 Samanaikaisuus engl. concurrency useampaa

Lisätiedot

19/20: Ikkuna olio-ohjelmoinnin maailmaan

19/20: Ikkuna olio-ohjelmoinnin maailmaan Ohjelmointi 1 / syksy 2007 19/20: Ikkuna olio-ohjelmoinnin maailmaan Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007

Lisätiedot

Salausmenetelmät (ei käsitellä tällä kurssilla)

Salausmenetelmät (ei käsitellä tällä kurssilla) 6. Internetin turvattomuus ja palomuuri Internetin turvaongelmia Tietojen keruu turva-aukkojen löytämiseksi ja koneen valtaaminen Internetissä kulkevan tiedon tutkiminen IP-osoitteen väärentäminen Palvelunestohyökkäykset

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

The administrative process of a cluster. Santtu Rantanen Valvoja: Prof. Jorma Jormakka

The administrative process of a cluster. Santtu Rantanen Valvoja: Prof. Jorma Jormakka The administrative process of a cluster Santtu Rantanen Valvoja: Prof. Jorma Jormakka Sisällysluettelo Johdanto Yleistä HA klustereista Tietoturva klustereissa Hallintaprosessi Johtopäätökset Johdanto

Lisätiedot

Transaktiot - kertausta

Transaktiot - kertausta Hajautettujen järjestelmien perusteet Transaktiot - kertausta Distributed Systems, Concepts and Design, George Coulouris, Jean Dollimore, Tim Kindberg Addison-Wesley 1988,1994. Pearson Education 2001 ISBN:

Lisätiedot

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton 2015 syksy 2. vsk IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton Sisältö 1. Johdanto luontimalleihin 2. Proxy 3. Factory Method 4. Prototype 5. Singleton Suunnittelumallit Proxy et.

Lisätiedot

TIES542 kevät 2009 Yhteismuistisamanaikaisuus

TIES542 kevät 2009 Yhteismuistisamanaikaisuus TIES542 kevät 2009 Yhteismuistisamanaikaisuus Antti-Juhani Kaijanaho 9. maaliskuuta 2009 Tehtävät ovat samanaikaiset (engl. concurrent), jos ne etenevät yhtä aikaa samalla toistensa kanssa kommunikoiden.

Lisätiedot

815338A Ohjelmointikielten periaatteet

815338A Ohjelmointikielten periaatteet 815338A Ohjelmointikielten periaatteet 2015-2016 IX Rinnakkainen ohjelmointi Sisältö 1. Yleistä rinnakkaisuudesta 2. Prosesseista ja säikeistä 3. Rinnakkaisen ohjelman oikeellisuudesta 4. Rinnakkaisuuden

Lisätiedot

UML -mallinnus TILAKAAVIO

UML -mallinnus TILAKAAVIO UML -mallinnus TILAKAAVIO SISÄLLYS 3. Tilakaavio 3.1 Tilakaavion alku- ja lopputilat 3.2 Tilan nimi, muuttujat ja toiminnot 3.3 Tilasiirtymä 3.4 Tilasiirtymän vai tilan toiminnot 3.5 Tilasiirtymän tapahtumat

Lisätiedot

Laitteessa tulee olla ohjelmisto tai uudempi, tarvittaessa päivitä laite

Laitteessa tulee olla ohjelmisto tai uudempi, tarvittaessa päivitä laite TW-EAV510: PORTTIOHJAUS (VIRTUAL SERVER) ESIMERKISSÄ VALVONTAKAMERAN KYTKEMINEN VERKKOON Laitteessa tulee olla ohjelmisto 5.00.49 tai uudempi, tarvittaessa päivitä laite OPERAATTORIN IP---OSOITE - Jotta

Lisätiedot

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri

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

Lisätiedot