Võrgurakendused 2 eksamiteemad 2018
Eksamil tuleb neli kirjalikku küsimust alltoodud teemade kohta, seejuures ühe teema kohta ei tule mitut küsimust. Vastuses on sul vaja selgitada ja/või tuua näiteid ja/või pseudokoodi. Otseseid programmeerimisülesandeid ei tule.
Alltoodud materjalid ei ole nö kohustuslikud, vaid ainult soovituslikud: hea mõte on otsida ja lugeda ise juurde. Samuti leiad siintoodud materjalides - näiteks wikipedia artiklites - väga spetsiifilist tausta ja detaile: seda eksamil ei küsita. Küsimuste fookus on olulistel toimimispõhimõtetel - et sa saaksid aru, mis asi on ja kuidas põhimõtteliselt käib - ning veidi ka rakendamisvaldkondadest/fookusest (ehk, milleks hea).
1) API protokollid, konkreetsemalt HTTP 1.0, JSON, XML-RPC, SOAP, REST (põhipunktid). HTTP 2.0, XML Schema, websockets, WSDL, UDDI, WS-I jne küsimusi ei tule.
- Memod ja lingikogud loengust: võrgurakenduste protokollid 1,võrgurakenduste protokollid 2, võrgurakenduste protokollid 3
- Otsi ja loe veidi ise juurde.
2) Vanemate P2P süsteemide põhimõtted, konkreetsemalt arusaamine järgmiste süsteemide põhimõtetest: Esialgne Napster, Gnutella, superpeer mehhanism (näiteks vana Skype).
3) DHT (näiteks Chord või Kademlia), Bittorrent ja TOR. Mehhanismid ja eri arhitektuuride eesmärgid/fookused/eelised. Bittorrenti mehhanism ja optimeeringud. NB! Mix networkinduse kohta küsimusi ei tule, erandina võib tulla küsimus TORi kohta.
- Sama Loengus tehtud ülevaade eri P2P tehnoloogiatest: järgmised osad
- DHT ülevaade wikipedias
- Chord:
- Chord wikipedias
- Põhimaterjal - Chordi põhimõtted - lugeda kuni Ivy osani (Ivy on antud juhul teemaväline)
- Kademlia:
- Bittorrenti andmevahetuspõhimõtted
- TOR
4) Blockchain ja bitcoin.
- Wikipedia ülevaade kogu teemast
- Gentle intro 1
- Gentle intro 2
- Gentle intro 3
- Bitcoini klientide leidmine
- Blockchaini demo: vajuta üleval "Hash", "Block", "Blockchain" linkidele ja proovi igal lehel ise datat muuta ja "Mine" nupule vajutada. "Mine" teeb proof-of-worki ehk otsib random stringi (nonce) mille lisamisel datale saame mitme nulliga algava hashi.
5) Paralleelrehendused (sh Lukustamine, transaktsioonid, spinlock, optimistlik paralleelsuskontroll)
- Põhiline Paralleelsus andmebaasides: slaidid.
- Lisaks võib lugeda
6) Mapreduce ja memcached: mis need on ja tööpõhimõtted.