Универзитет у Новом Саду Технички Факултет "Михајло Пупин" Зрењанин

Distribuirani informacioni sistemi


29
МАР
2020

Plan nastavnih sadrzaja, zadataka i seminarskog radau sk 2019-20 sa online nastavom

FINALNI plan nastavnih sadržaja i zadataka (nastava, domaći zadaci, seminarski rad) u okviru 2019-20 školske godine može se pogledati OVDE.

27
МАР
2020

Ocenjivanje kombinovanog nacina rada (redovna i on-line nastava)

SUMARNI PREGLED KOMBINOVANOG OCENJIVANJA SA REDOVNE I ON-LINE NASTAVE

1. Aktivnost na casovima (5 bodova prisustvo na predavanjima, 5 bodova zadaci na vezbama, 2 zadatka po 5 bodova svaki za domaci rad sa on-line nastave - max 10 bodova) - max do 10 bodova

2. Bonus bodovi (dodatna aktivnost - interacija, odgovori na pitanja, predlozi novih resenja, bolja resenja u okviru domaceg rada, bolja resenja u okviru  seminarskog rada) - do 10 bodova

3. Seminarski rad u 2 dela (distribucija podataka - distribuirane baze podataka i XML, distribucija procesiranja)  .... do 60 bodova

4. Usmeni ispit - do 30 bodova

Elektronski materijali za predavanja

Sadržaj predavanja može se pogledati iz skripte.

Elektronski materijal za redovne vezbe (zakljucno sa 9.3.2020)

 

1. čas (10.2.2020)- Kreiranje horizontalne i vertikalne particije podataka, realizacija veb aplikacije za snimanje u centralnu bazu podataka

17.2.2020. - neradni dan, praznik

2. čas (24.2.2020)- snimanje podataka u particionisanim bazama podataka, kreiranje i korišćenje kataloga distribuirane baze podataka

3. čas (2.3.2020)- tabelarni prikaz objedinjenih podataka iz horizontalno particionisanih baza podataka, spajanje memorijskih kolekcija iz pojedinačnih baza podataka

4. čas (9.3.2020)- primena timestamp za praćenje verzija zapisa, radi omogućavanja oporavka baze podataka nadoknadom nedostajućih zapisa, snimanje i čitanje timestamp podatka

REŠENJE ZADATAKA OD 1. DO 4. ČASA može se pogledati OVDE.

Elektronski materijali za ON-LINE vežbe (počev od 16.3.2020)

 

5. čas vežbi (16.3.2020)

Realizacija utvrdjivanja statusa svih particionisanih baza podataka - da li imaju potreban broj zapisa u odnosu na centralnu bazu podataka.

ZADATAK I PRIKAZ RESENJA

RESENJE

6. čas vežbi (23.3.2020) 

Realizovati  paketnu dopunu zapisima za baze podataka kojima podaci nedostaju (oporavak baze podataka) uz primenu transakcija - realizovati za vertikalno particionisane baze podataka.

ZADATAK I OBJASNJENJE RESENJA

RESENJE

7. čas vežbi (30.3.2020)  - izrada 1. DOMAĆEG ZADATKA samostalnim radom studenata, po uzoru na urađen zadatak sa 6. časa

ZADATAK I OBJAŠNJENJE OČEKIVANOG NAČINA RADA

napomena: Poslati domaći zadatak u obliku Word dokumenta poštujući template dokumentacije (videti OVDE) na e-mail ljubica.kazi@gmail.com najkasnije 5.4.2020. Produžen rok do 7.4.2020. u 08h.

Resenje 1. domaceg zadatka: Dokumentacija domaceg zadatka PDF   Izvorni kod

Spisak studenata koji su predali prvi domaći zadatak u predviđenom roku: Gecin Goran, Zubac Jelena, Tomić Stefan, Šašić Vladimir, Nadrljanski Slobodan, Jašić Aleksandar, Ćirin Miroslav,  Adamov  Jelena, Krstin Aleksandar, Marić Aleksandar.

8. čas vežbi (6.4.2020)

ZADATAK: Realizovati unapredjenje aplikacije dodavanjem dodatne tabele TIP PREVOZA (ID, Tip, BrojDece). Povezati relacijom i realizovati transakciju kojom se prilikom unosa deteta azurira i ukupan broj dece prema navedenom tipu prevoza za to dete. Primeniti na sve horizontalno i vertikalno particionisane baze podataka.

KOMPLETNO OBJAŠNJENJE REŠENJA ZADATKA

REŠENJE ZADATKA

9. čas vežbi (13.4.2020)

Zadatak: realizovati brisanje i izmenu zapisa u osnovnoj bazi podataka i automatsko azuriranje stanja u svim distribuiranim bazama podataka. Obratiti paznju na time stamp.

DELIMIČNO REŠENJE ZADATKA (Napomena: namerno je dato samo delimično rešenje, jer studenti, koji žele više bodova u okviru seminarskog rada, treba da ga samostalno završe)

20.4.2020. - neradni dan, uskrs (pomereno za 21.4.2020.)

10. čas vežbi - 21.4.2020.

2. Domaći zadatak predviđen je za sedmicu od 20.4.2020. sa rokom izrade do 27.4.2020. do 12h. Naravno, studenti mogu i ranije početi sa izradom zadatka.

Tekst 2. domaćeg zadatka:

Realizovati refaktorisanje (preradu strukture bez izmene funkcionalnosti) programskog koda aplikacije nad rešenjem sa 8. časa (bez brisanja i izmene podataka) tako da se programski kod organizuje u slojeve:

1. Sloj za rad sa podacima - trenutno je samo SQLDBUtils biblioteka klasa, napraviti i :

a) biblioteku Klase podataka sa klasama tipa pojedinac (samo set i get metode), lista i DB koja koristi SQLDBUtils radi realizacije osnovnih CRUD operacija. Znaci, DB klasa sadrzi upite i pozive klasa iz SQLSBUtils.

b) biblioteku RadSaKatalogom a tu da se postavi klasa Katalog i sve operacije u vezi kataloga treba ovde da se realizuju - ucitavanje podataka iz XML kataloga, ukupan broj zapisa itd.

2. Sloj prezentacione logike - napraviti biblioteku klasa Prezentaciona logika i tu treba da je za svaku formu po jedna klasa, npr. za formu za unos podataka treba da se preuzmu podaci u njene atribute, a onda da se kasnije koriste prvo za formiranje upita, pa snimanje...

Napomene: 

1. Sloj servisa i sloj poslovne logike - ne radimo za sad.

2. Rešenje dostaviti u formi MS Word dokumenta prema ranije dostavljenom template za domaće zadatke.

3. Pogledati i raditi na osnovu primera: PRIMER APP SA SLOJEVIMA.

RADOVI STUDENATA - Drugi domaći zadatak su predali: Gecin Goran , Marić Aleksandar, Adamov Jelena, Krstin Aleksandar, Okuka Gordana, Nadrljanski Slobodan, Nestl Predrag, Šašić Vladimir, Tomić Stefan.

DELIMICNO RESENJE može se pogledati OVDE.

Finalno rešenje biće objavljeno do kraja semestra.


11. čas vežbi - 27.4.2020.

Tema: Realizacija poslovne logike primenom poslovnih klasa - implementiraju poslovne procese, dokumente, poslovna pravila, ograničenja, složenija izračunavanja i automatizme.

Cilj: U ovom zadatku dodaje se sloj poslovne logike, tj. biblioteke klasa koja ima kao klase poslovne entitete, koji realizuju dokumente, poslovna pravila (AKO uslov ONDA automatska akcija), ograničenja poslovnog domena i automatizme (automatske akcije u okviru realizacije poslovnih pravila) i slozenija izracunavanja. 

Zadatak: Nastaviti nad primerom sa 10. casa (znaci, nakon refaktorisanja dodavanjem slojeva). U bazu podataka dodati mesto stanovanja. Kreirati klase:

1. clsPutniNalog (poslovni entitet - dokument) - sadrzi tipiziranu listu objekata clsDete, atribut MestoStanovanja i atribut SkolskaGodina. Ima mogucnost serijalizacije u XML.

2. clsAutobuskiPrevozDece (poslovni entitet -poslovni proces) 

Klasa AutobuskiPrevozDece će imati:

* Atribute:

SkolskaGodina

Tipiziranu listu objekata klase clsPutniNalog.

* Metode:

1. DajTekucuSkolskuGodinu (na osnovu sadasnjeg datuma prepoznaje koja je tekuca skolska godina)

2. DajSpisakDeceZaAutobuskiPrevoz (primena poslovnog pravila) - radi se prema mestu stanovanja grupisanje i izdvajanje.

3. DajBrojPotrebnihAutobusa (složenije izračunavanje i primena ograničenja poslovnog domena),

4. DajMaksimalniBrojDecePoAutobusu (cita iz ogranicenja - eksternog XML).

5. KreirajPutniNalog (primena poslovnog pravila, automatska akcija).

U odnosu na ukupan broj dece koja koriste autobuski prevoz, uporedjuje se sa maksimalnim brojem dece po autobusu i pravi spisak dece automatski i kreiraju putni nalozi automatski.   Svaki putni nalog se kreira za odgovarajuće mesto gde deca putuju.

DELIMIČNO REŠENJE može se pogledati OVDE.

Finalno rešenje biće objavljeno do kraja semestra.

12. čas vežbi - 4.5.2020.

 Tema: Kreiranje veb servisa SOAP tipa, implementacija tokena radi bezbednosnog pristupa

Ilustracija: Master rad Lidija Perišić 

ZADATAK: Kreirati web servis SOAP tipa pod nazivom MinistarstvoProsvete koji će omogućiti čitanje ograničenja za web aplikaciju evidencije o deci. Realizovati metodu veb servisa koja će dati maksimalni broj dece po prevoznom sredstvu u redovnom nastavnom radu.  Veb servis čita podatke iz XML. U ovom slučaju, koristi se podatak u okviru poslovne logike, th. poslovnog pravila u donosu za prevoz dece od kuće do vrtića. Obezbediti pristup metodama veb servisa putem tokena, tako što se kao još jedan parametar daje šifra za pristup. Ako šifra nije odgovarajuća, vratiti neuspeh izvršavanja metode (0 ako je neuspešno prepoznavanje tokena). 

REŠENJE veb servisa sa tokenom može se pogledati OVDE.

 

13. čas vežbi - 11.5.2020.

Tema

1. Pronalaženje, integracija i primena javno dostupnih veb servisa.

Ilustracija: Master rad Marko Blažić

ZADACI: 

1. Pronaći na Internetu kataloge sa javno dostupnim veb servisima. Utvrditi koje vrste usluga nude i da li imaju SOAP ili RESTful podršku.

REŠENJE: JAVNO DOSTUPNI VEB SERVISI - LISTA (sa proverenim primerom linka za asmx)

2. Pronaći institucije koje nude javne veb servise za korišćenje poslovnih podataka koje su u njihovoj nadležnosti. Videti primer Narodne Banke Srbije.

REŠENJE:  a) JAVNI VEB SERVISI NARODNE BANKE SRBIJE

b) GeoSrbija - portal i mogućnost korišćenja i deljenja podataka (Data set-ovi) : https://geosrbija.rs/usluge/

c) Portal otvorenih podataka (datoteke za download - XLS) - https://data.gov.rs/sr/

d) Otvorene baze podataka: https://www.cins.rs/otvorene-baze-podataka/

3. Integrisati javno dostupni veb servis u okviru prethodno realizovane veb aplikacije i iskoristiti njegove mogućnosti.

REŠENJE:  INTEGRACIJA JAVNOG BESPLATNOG VEB SERVISA - UPUTSTVO

PRIMER APLIKACIJE SA INTEGRACIJOM

Tema

2. Integracija više veb servisa

Osnova:

* Kompozicija veb servisa (rad KompozicijaVS)

* Automatizacija poslovnih procesa i BPEL (Prezentacija PoslovniProcesiBPEL)

* BPEL jezik (Slajdovi BPEL), (standard OASIS)

* koreografija i orkestracija veb servisa (WS BPEL i kompozicija veb servisa)

Ilustracija: Semantički veb servisi (rad INFOTEH Jahorina)

Tema

3. Simulacija integracije više veb servisa iste funkcionalnosti, alternativno pozivanje veb servisa boljih performansi

 Ilustracije:

Predikcija performansi veb servisa Dodatno o predikciji performansi veb servisa LINK

Softver za simulaciju web servisa i merenje performansi

Ubrzavanje rada veb servisa i radni tokovi

14. čas vežbi - 18.5.2020.

Tema:

1. Analiza primera aplikacije sa Restful veb servisom

Ilustracija: Master rad Viktor Mihai Baloš

Teorija: Restful veb servisi: https://www.oracle.com/technical-resources/articles/javase/restful.html

2. Analiza aplikacije realizovana primenom MVC dizajn paterna

Ilustracija: Master rad Tamaš Njari 

15. čas vežbi - 25.5.2020.

 Tema: Analiza primera mobilne aplikacije

Ilustracija: Master rad Mirko Mijajlović