Itv0120 2016

Allikas: Lambda
revolutsioon

Ainekood: ITV0120
Täielik nimi: Võrgurakendused II - hajussüsteemide tehnoloogia
Link: http://www.lambda.ee/index.php/V%C3%B5rgurakendused_II
Punkte: 5 EAP

Lektor: Priit Järv
Kontakt: priit at whitedb.org
Olemas on ka 2015 aasta materjalide arhiiv.

NB! See on 2016 aasta arhiiv, mitte 2018 kevadesemestri variant!

Aeg, koht

Semester: sügis
Tulemus: eksam
Hindamise meetod: praktikumide tulemused (pool) pluss eksam (teine pool)

Loeng: neljapäeval 8:00-9:30 ruumis CYB-VEENUS

IATM31, IAPB53, IAPB54 praktikum: esmaspäeval 19:30-21:00 arvutiklassis ICT-501

IAPB51, IAPB52 praktikum: kolmapäeval 17:45-19:15 arvutiklassis ICT-501


Eksamiajad:

  • 9. jaanuar 2017 kell 11 - ICT-A1
  • 18. jaanuar 2017 kell 18 - ICT-A1

registreeri ÕIS-is hiljemalt 24h enne eksamit.

Järeleksam:

  • 23. jaanuar 2017 kell 13 - ICT-312

Eksami kordamisteemad

Praktilised tööd ja tähtajad

Kokku on töid 2. Kumbki praktikum täismahus tehtuna annab 25 punkti, sellele võivad lisanduda ekstrapunktid. Puudulikult tehtud töö punktiarv jääb alla 25 punkti. Hilinenud kodutöö eest saab pooled muidu saadaolevad punktid.

  • 1. Tähtaeg 16-18. oktoober. Kaks alternatiivi, mille vahel võid ise valida:
    • 1 praks (individuaalne)
    • Teha kokkuleppel õppejõuga ~30 min ettekanne loengus (vabu teemasid enam pole). Ettekanne toimub esialgse kava järgi 27. oktoobril.
  • 2. Tähtaeg 5.-7. detsember. Grupitöö 1-3 inimest. Kaks alternatiivi, mille vahel võid ise valida:

Tulemused

Hinded ei ole veel sisse kantud ning võivad eksamisessiooni jooksul või järeleksami tõttu muutuda/täieneda.

matrikkel 1kt 2kt eksam hinne
134108
135056 25 25 50 5
153604 25 25 47 5
153667 13 25 49 4
153525 25 25 48 5
142379
142458
143056
167764 25 25 43 5
155377
142772 25 15 47 4
143076 25 25 32 4
142852 25 25 45 5
142684 25 15 49 4
143068 25 28 49 5
134574
142653 25 30 50 5
164127 25 25 50 5
134437 10 16 32 1
144114 25 25 42 5
162043
142463 25 30 1
134296 25 16 46 4
142855
155133 25 12 47 4
120951 13 10 42 2
142853 25 25 50 5
134666 25
166667 15 25 43 4
166566 15 25 36 3

Loengukava

Kursus jaguneb laias laastus neljaks teemaks:

  • Protokollid ja P2P (neil teemadel - pluss veidi andme-apidest- esimene praks),
  • Andme-apid, autentimine ja pilvekeskkonnad
  • Paralleelrehkendused
  • Andmete hajutamine ja hajutatud andmete koondamine


Ülevaade kursuse sisust, sissejuhatus 1. praktikumi, protokollide algus, http, json

Http ja json: võrgurakenduste protokollid 1
Üldist materjali ja kursusi mujalt:
http://en.wikipedia.org/wiki/Distributed_computing
http://dcg.ethz.ch/lectures/podc_allstars/index.html
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-824-distributed-computer-systems-engineering-spring-2006/index.htm
http://www.stanford.edu/class/cs244b/

Protokollide jätk

Xml põhised protokollid, REST ja binaarsed protokollid
xml protokollid xml-rpc, soap ja seotud tehnoloogiad: võrgurakenduste protokollid 2
Probleemidest: veebiteenuste võlu ja valu ja s stands for simple
REST, binary protokollid, XMPP: võrgurakenduste protokollid 3
Gaffer on games: UDP vs TCP ja selle jätk
Veidi seotud asi ad hoc networks vt ka Defendeci ja Jürgo Predeni patent

2016 eri: paralleelprogrammeerimine

Java näide loengust

Thread, Queue ja Lock Pythonis

C: alguses oli fork(), hea pthreads tutorial.

P2P esimene osa

P2P sissejuhatus:
vikipeedia ülevaade
ülevaade eri P2P tehnoloogiatest

P2P teine osa: DHT (distributed hash tables) ja bittorrent

ülevaade wikipedias
Chord:
Põhimaterjal - Chordi põhimõtted - lugeda kuni Ivy osani (Ivy on antud juhul teemaväline)
Lisaks tasuks veidi uurida artikleid wikipedia sissekande lõpus (external links)
Kademlia:
Põhimaterjal presentatsioon autoritelt
Täiendavalt autorite artikkel
Bittorrent:
bittorrenti protokoll ja ülevaade
täiendavalt wikipediast
TOR:
TOR wikipedias

Suured avalikud andme-apid

Andme-apide märkmed loengust
Read an OK short book on web api design
Check out odata.org

X-tee, RIHA ja riigi IT-infrastruktuur

Big official picture of the state IT-architecture
Ahto Kalja detailne ülevaade X-tee projektist aastast 2004
X-road official page
X-road security server manual (detailed)
X-tee from the Finnish perspective and the X-tee/Json gateway and a nice REST api example from Finland
newest X-road message protocol and corresponding metainfo protocol
Example: X-road oriented Soap call tool for Python
RIHA ja jutud RIHA kohta

Autentimine 1. osa

facebook, google, pangalink.
Autentimise märkmed: facebook ja google

Autentimine 2. osa ja veebiserver

veebiserveri seadistamine id-kaardi jaoks ja abistavad koodijupid
taustaks id-kaardi kasutusstsenaariumid

Autentimine 3. osa

Autentimise märkmed: mobiil-ID

Pilvekeskkonnad

Understanding cloud computing

Suured:

Pilveteenuse tarkvara:

OpenStack

Näide: Azure

Azure märkmed

Google appengine, database api, google bigtable and file system stack

http://cloud.google.com/appengine/ AppEngine on nüüd osa Google Cloud platvormist

Hajutatud failisüsteemide märkmed loengust

Paralleliseerimine ja efektiivsus

Loengunäide: TCP (HTTP) socket server

Kuidas TCP server elementaarsel tasemel töötab (Java tutorialid): Socket serveri sissejuhatus, threadidega server.

Skaleeruvus praktikas: Causality of Scalability, Designing for Scalability.

Paralleliseerimise automatiseerimine ja klastrid

Mapreduce framework
Mapreduce katsetused Azure platvormil
Mapreduce klassikaline põhiartikkel
memcached
memcached ülevaade

Lisamaterjalid

here be dragonsSiit edasi on materjalid revideerimata ning 2016 aasta kursuses ei sisaldu

Paralleelrehkendused 1. osa

Paralleelsus andmebaasides: slaidid.

Lisaks võib lugeda:

Konspekt, käsitleb teemat oluliselt põhjalikumalt kui loeng/slaidid
Introduction to Transactions (slaidid)

Paralleelrehkendused 2. osa

Sünkroniseerimisprimitiivid: slaidid

Mittekohustuslik lisalugemine:

Konspekt pikemalt ja põhjalikumalt loengus läbitud teemadest.
T.Tammeti slaidid


Andmelaod

Hajutatud andmekogude integreerimine

Postgres replication intro
Postgres clustering and replication
Postgres high availability
Integrating distributed sem web data
Oracle information integration

Varu