MTAT 03 230 Veebirakenduste loomine Suured ssteemid Siim
MTAT. 03. 230 Veebirakenduste loomine Suured süsteemid Siim Karus siim. karus@ut. ee kevad 2013
Tänases loengus • Suured süsteemid • Punktiülesanne • Rollid arendustiimis 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 2
SUURED SÜSTEEMID 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 3
Skaleeruvus Probleem Lahendused 26. 08. 2021 • Palju üheaegseid kasutajaid • Üks server ei jaksa kõiki ajakohaselt teenindada • Kasutame mitut serverit • Jaotame päringud serverite vahel MTAT. 03. 230 Veebirakenduste loomine 4
Koormuse jaotamine • DNS – Ühele nimele vastab mitu serverit – Olenevalt ajast tagastatakse neist üks • HTTP ümber suunamine (30? ) – Üks koduleheserver, mitu alamteenuse front-end serverit • Koormust tasakaalustav lüliti – Lüliti suunab päringud erinevatele serveritele – Lülitil üks virtuaalne aadress • Lüüsserver (HTTP proxy) – Üks front-end, mitu back-end-i 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 5
Seansihaldus Probleem Lahendused 26. 08. 2021 • Sama kasutaja erinevaid päringud võivad teenindada erinevad serverid • Teenindavad serverid võivad langeda rivist välja • Seansiinfot tuleb liigutada serverite vahel • Seanss jagatud hoidlas (failiserver, andmebaas) • Seanss küpsises • Võimalda serveritel leida eelmist päringut teenindanud server ja küsida sellelt seansiandmed MTAT. 03. 230 Veebirakenduste loomine 6
Seansihaldus • Seanss jagatud hoidlas (failiserver, andmebaas) – Võib olla kulukas (eraldi server, sisemine andmete liigutamine) • Seanss küpsises – Ebaturvaline – Suurendab välist andmemahtu • Võimalda serveritel leida eelmist päringut teenindanud server ja küsida sellelt seansiandmed – Lisakulu ja keerukus päringute jälgimise tarbeks 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 7
Andmete hoiusüsteemid • Relatsioonilised andmebaasid – Üks isend ei ole hästi skaleeruv – Mitu isendit võivad tekitada liigse ülalpidamiskulu • Lahendusi – Andmete partitsioneerimine andmebaaside vahel – Andmete vahemälu RAM-s (memcash, ADO. NET, …) – Virtuaalne RAM • 10 x kasvanud kasutajaskond toob kaasa andmete hoiusüsteemi ümberprojekteerimise (http: //www. stanford. edu/~ouster/cgi-bin/cs 142 fall 10/info. php ) 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 8
Skaleeruvuse probleemid • Algselt on skaleeruvuse saavutamine liiga kulukas • Suurem skaleeruvus = suurem keerukus • Datacenters • Paindlik võimsus – pilveteenused (nt. Amazon, Azure, …) 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 9
Andmete skaleeruvus • Jätkuvalt lahendamata probleem – Kiire kasv • Andmemahtude kasv • Kasutajate arvu kasv – – Rohkem inimesi Rohkem piirkondi Rohkem seadmeid Rohkem mitte-inimkasutajaid http: //infinitecat. com/ 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 10
PRAKTIKUMID 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 11
Ajakava • • Prototüüp HTML + CSS Java. Script Server HTML 5 Integratsioon Verifitseerimine 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 12
Kuidas praktikumid edenevad? 1. 2. 3. 4. 5. 6. 7. 8. 9. Suurepäraselt Väga hästi Oleme ajakavas Olen maha jäänud Raskusi programmeerimisel Raskusi projekteerimisel Ülesanded on segased Vajan rohkem praktikat Vajan muud abi 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 13
Mahud? ? ? • Suurim projekt: 2, 6 MLOC 8 6 4 2 0 0 -5 k. LOC 6 -10 k. LOC 10 -17 k. LOC 18 -30 k. LOC 31 -50 k. LOC 51 -100 k. LOC • Vaba. Vara. Veeb 17 k. LOC – Väiksem kui 56% projektidest 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine >100 k. LOC JS 2% XSL 33% PHP 65% 14
TRIKKE KLIENDI OPTIMEERIMISEKS 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 15
Eellaadimine (prefetch) • Viited ressurssidele, mis laetakse veebilehitseja jõudeoleku ajal • <link href="uudised_0. png" type="image/png" rel="prefetch" /> 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 16
Viited alternatiivsisule • Rel (ja rev) väärtusi: – Alternate • href viitab alternatiivsisule, hreflang ja media määravad alternatiivsisu laadi (tõlge, meedia) – – Stylesheet Start Next Prev 26. 08. 2021 – – – – – Contents Index Glossary Copyright Chapter Section Subsection Appendix Help Bookmark MTAT. 03. 230 Veebirakenduste loomine 17
Skriptide laadimise ajastamine • Luua javascript taimer, mis lisab HTML DOM-i uue <script/> elemendi. • Kasutada elemendi <script/> atribuuti defer. 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 18
Optimeerimine otsimootoritele (SEO) • Võtmesõnad metaandmetes • Lehekülje kirjeldus <meta/> elemendis • Metaandmed sisu kohta (Rich snippets) – XHTML 1. 1 + RDFa • www. google. com/webmasters/tools 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 19
Veebianalüütika • Usaldusväärne vaid otse kogudes – Välised kogujad filtreeritakse veebilehitsejate poolt välja IE jälgimiskaitse isikupärastatud loend filtreerib välja sagedalt esineva sisu Opera võimaldab filtreerida lehekülje sisu kasutades „Blokeeri sisu…“ funktionaalsust Enamik veebilehitsejaid blokeerivad kolmandate osapoolte küpsised 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 20
Vaba. Vara. Veebi moderniseerimine PUNKTIÜLESANNE 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 21
Statistika • 6 tööd • Üksiküritajaid 2 • 3 prototüüpi Keskmine tulemus 26. 08. 2021 2, 5 MTAT. 03. 230 Veebirakenduste loomine /3 22
John Cleese on Creativity • http: //www. youtube. com/watch? v=f 9 rtmx. Jr. Kwc 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 23
Millised on teie analüüsikogemused? 1. Esimene kogemus 2. 1 -2 varasemas kursuses 3. 3 või enam katsetust ülikoolikursustes 4. 1 -2 projekti väljaspool ülikooli 5. 3 või enam katsetust nii ülikoolis kui ka mujal 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 24
Lahenduste esitlused • ~10 min/töö (koos küsimustega) • Ettekandes: – Kuidas tegite? – Olulisemad tulemused/järeldused – Demo 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 25
ROLLID 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 26
Rolle tarkvaraprojektis • • • Kodeerija Testija Analüütik Arhitekt Juht 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 27
Etapid Väle või iteratiivne projekt Klassikaline ettevõttetarkvara projekt Kontroll 80%20% Teostus 26. 08. 2021 Analüüs 20%80% Disain MTAT. 03. 230 Veebirakenduste loomine 28
Martin http: //www. youtube. com/watch? v=Sg. Ki. IAjtr. R 4 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 29
ANALÜÜS 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 30
Analüütik • Suhtlemine kliendiga – Ärisuhtlus • Analüüsioskus – Statistika, andmeanalüüs • Tegelik vs. Näiline – Andmekaeve, masinõpe (äriteadmus) 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 31
Tähelepanelikkus 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 32
Täpsus ja usaldusväärsus http: //www. youtube. com/watch? v=z. M 6 HPe. Cg. GSo 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 33
Keelekasutus http: //www. youtube. com/watch? v=loc. F 0 tyy. Eg 0 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 34
Test-driven design 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 35
Larry http: //www. youtube. com/watch? v=4 e. Y 4 q. U 80 l. PM 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 36
DISAIN 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 37
Arhitekt http: //www. youtube. com/watch? v=Df 4 Rn. Vl 03 Es 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 38
Valikud • Platvorm – Windows/Linux/Mac OS/… – J 2 EE/ASP. NET/IIS/Apache/… • Kihid/komponendid • Keeled/tehnoloogiad – – HTML 4. 01/XHTML 1. 1/HTML 5/… Java. Script/ECMAScript/CSScript/VBScript/… j. Query/minimiser/… PHP/C#/Java/Python/… 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 39
Projektide klassid 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 40
Parimad lahendused http: //www. youtube. com/watch? v=mra. K-z. Rf. WL 0 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 41
Milliseid portaale regulaarselt külastate? 1. 2. 3. 4. 5. 6. uudised. err. ee postimees. ee delfi. ee ohtuleht. ee epl. ee minut. ee 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 42
Milliseid portaale regulaarselt külastate 2012 1. 2. 3. 4. 5. 6. uudised. err. ee (4) postimees. ee (1 -2) delfi. ee (1 -2) ohtuleht. ee (3) epl. ee (5) minut. ee (6) 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 43
TESTIJA 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 44
Testimine http: //www. youtube. com/watch? v=p. OJu. LAVo. Cw. U 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 45
Vead http: //www. youtube. com/watch? v=EMVBLg 2 Mr. Ls 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 46
KODEERIJA 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 47
Kodeerija 26. 08. 2021 http: //www. youtube. com/watch? v=PCik 3 RUo 6 n. Y MTAT. 03. 230 Veebirakenduste loomine 48
Programmeerija vs kodeerija • Programmeerija on laiem mõiste • Programmeerija osaleb aktiivselt arhitektuuri loomisel • Programmeerija osaleb aktiivselt testimisel • http: //www. youtube. com/watch? v=k-h. Yb. Ws 2 d. Pg 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 49
siim. karus@ut. ee http: //moodle. ut. ee TAGASISIDE 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 50
See loeng oli … 1. 2. 3. 4. 5. 6. 7. 8. Suurepärane Väga hea Igav Liiga kiire Liiga aeglane Liiga segane Liiga tehniline Muu 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 51
Klikkerite tagastamine • Palun klikkerid lahkudes panna ukse juures olevasse kotti • Kui leiate klikkeri, palun tooge see teaduskonna valvelauda 26. 08. 2021 MTAT. 03. 230 Veebirakenduste loomine 52
- Slides: 52