UNIVERZITET U NOVOM SADU TEHNIČKI FAKULTET MIHAJLO PUPIN ZRENJANIN TEHNOLOGIJE DISTRIBUIRANIH INFORMACIONIH SISTEMA - Skripta za teorijski deo (RADNA VERZIJA) Autori: Ljubica Kazi Biljana Radulovic Dalibor Dobrilovic Dragica Radosav Branko Markoski Zrenjanin, 2017. Recenzenti: Prof. dr Ivana Berković Doc. dr Vladimir Šinik Doc. dr Željko Stojanov
PREDGOVOR Publikacija je nastala kao rezultat višegodišnjeg nastavnog i naučnog rada autora u oblasti razvoja informacionih sistema, distribuiranih informacionih sistema, kao i geografskih informacionih sistema. Predstavlja osnovni udžbenik za predmet DISTRIBUIRANI INFORMACIONI SISTEMI na master studijama studijskog programa "Informacione tehnologije" i pomoćni udzbenik za predmet GEOGRAFSKI INFORMACIONI SISTEMI na master studijama studijskog programa "Informacione tehnologije u e-upravi i poslovnim sistemima". Posebnu zahvalnost dugujemo recenzentima na kritičkom pregledu materijala i korisnim sugestijama. U Zrenjaninu, maja 2017. godine Autori
SADRŽAJ 1. Definicija i karakteristike distribuiranih sistema 2. Kategorizacija distribuiranih sistema 2.1. Paralelno i distribuirano računarstvo 2.2. Tipovi distribuiranih sistema 2.2.1. Distribuirani računarski sistemi 2.2.2. Distribuirani informacioni sistemi 2.2.3. Distribuirani integrisani ("embedded") sistemi 3. Arhitektura distribuiranog informacionog sistema 3.1. Arhitektura informacionog sistema 3.2. Klijent-server arhitektura 3.3. Višeslojne objektno-orjentisane arhitekture 3.4. Servisno-orjentisane arhitekture 3.4. UML za distribuirane sisteme 4. Sloj računarsko-komunikacione infrastrukture 4.1. Sinhrona i asinhrona komunikacija 4.2. Wireless tehnologija 4.3. Bluetooth 4.4. GPS 4.5. Mobilni uređaji 5. Distribuirani operativni sistemi 5.1. Operativni sistemi za distribuirane sisteme 5.2. Operativni sistemi za mobilne uređaje 6. Sloj podataka 6.1. Interoperabilnost aplikacija i formati datoteka za razmenu podataka JSON, XML 6.2. Distribuirane baze podataka- distribuirane transakcije, upiti nad distribuiranom bazom podataka, replikacija, particionisanje, oporavak baze 6.3. "Big data" sistemi u distribuiranom okruženju 7. Sloj aplikativne logike 7.1. Srednji sloj - Middleware 7.2. Web servisi SOAP, REST 7.3. Algoritmi distribuirane obrade podataka 7.4. Analiza podataka u distribuiranom okruženju
8. Prezentacioni sloj 8.1. Web aplikacije 8.2. Mobilne aplikacije programski jezici i razvojni alati 8.3. Vizualizacija prostornih podataka 9. Performanse i bezbednost 9.1. Pouzdanost podataka 9.2. Bezbednost podataka 9.3. Kvalitet sistema 10. Primene 10.1. Internet of Things - Senzorske mreže, udaljeno upravljanje uređajima 10.3. Smart home, smart city 10.4. Upravljanje vozilima 10.5. ehealth sistemi 10.6. Dokument menadžment sistemi 10.2. Geografski informacioni sistemi 10.6. Ostale primene 12. Pravci razvoja distribuiranih sistema 12.1. Adaptibilnost distribuiranih sistema 13. Ispitna pitanja 14. Literatura
POJMOVNIK OSNOVNI POJMOVI Distribuirani sistem Paralelno računarstvo Distribuirano računarstvo Distribuirani računarski sistem Distribuirani informacioni sistem Distribuirani integrisani sistem Arhitektura informacionog sistema Klijent-server arhitektura Višeslojna objektno-orjentisana arhitektura - MVC pristup (Model View Controller) - Prezentacioni sloj Sloj poslovne logike (Middleware) radni tokovi, poslovni entiteti, poslovna pravila - Sloj podataka baze podataka, datoteke Servisno-orjentisana arhitektura - Web servisi - SOAP - REST - Uređivanje web servisa za podršku poslovnim procesima (orkestracija) UML modeli - Dijagram komponenti - Dijagram razmeštaja Uređaji i komunikacije - Asinhrona komunikacija - Sinhrona komunikacija - Wireless tehnologija - Bluetooth - GPS - Mobilni uređaji Distribuirani operativni sistemi - Operativni sistemi za mobilne uređaje Interoperabilnost aplikacija - XML - JSON Distribuirane baze podataka - Sistemi za upravljanje distribuiranim bazama podataka - Katalog distribuirane baze podataka - Distribuirane transakcije - Upiti nad distribuiranim bazama podataka
- Replikacija - Participnisanje - Oporavak baze podataka Web aplikacije Mobilne aplikacije - Programski jezici - Razvojni alati Primene - Internet of Things - Smart Home - Smart City - Geografski informacioni sistemi NAPREDNE TEHNIKE Big data sistemi Algoritmi distribuirane obrade podataka Analiza podataka u distribuiranom okruženju Vizualizacija prostornih podataka Performanse i bezbednost - Pouzdanost podataka - Bezbednost podataka - Kvalitet podataka Primene - Upravljanje vozilima - ehealth sistemi - Dokument menadžment sistemi Pravci razvoja - Adaptibilnost distribuiranih sistema
ISPITNA PITANJA - Definicija distribuiranog informacionog sistema - Razlika paralelnog i distribuiranog računarstva - Razlika distribuiranog sistema i distribuiranog informacionog sistema - Tipovi distribuiranih sistema - Osnovne komponente arhitekture informacionog sistema. - Karakteristike klijent-server arhitekture. - Osnovni slojevi višeslojne objektno-orjentisane arhitekture. - MVC pristup. - Osnovne komponente sloja poslovne logike (Middleware). - Kako se najčešće implementira middleware (srednji aplikativni sloj)? - Osnovne karakteristike servisno-orjentisane arhitekture. - Šta znači servisno-orjentisana arhitektura? - Čemu služi web servis? - Kako se web servis integriše sa web aplikacijom u Visual Studio NET okruženju? - Koja je razlika SOAP i REST web servisa? - Kako se web servisi koriste za podršku poslovnim procesima? - Koji su najvažniji UML modeli za predstavljanje distribuiranih sistema? - Koja je razlika između sinhrone I asinhrone komunikacije? - Koje su osnovne karakteristike wireless tehnologije. - Koja je razlika između Bluetooth i GPS uređaja? - Kako funkcioniše GPS? - Koja su ograničenja Bluetooth razmene podataka? - Navesti primere i karakteristike operativnih sistema za mobilne uređaje. - Šta znači interoperabilnost aplikacija? - Koji su najčešći formati podataka za razmenu? - Koja je razlika između XML i JSON fajlova, navesti primer. - Šta je katalog distribuirane baze podataka? - Koja je razlika između transakcija nad jednom bazom podataka i distribuiranih transakcija? - Kako se implementira distribuirana transakcija u Visual Studio NET okruženju? - Kako se mogu postavljati upiti nad distribuiranim bazama podataka? - Šta znači replikacija podataka? - Šta znači particionisanje baze podataka? - Koje vrste particionisanja se najčešće koriste? - Šta znači oporavak baze podataka? - Koji su najčešćći jezici za razvoj mobilnih aplikacija? - Koji su najćešći razvojni alati za razvoj mobilnih aplikacija? - Šta znači GIS Geografski informacioni sistem?
- Šta znači IOT Internet of Things? - Koje su osnovne karakteristike Smart home? - Koje su osnovne karakteristike Smart City?
LITERATURA Udžbenici 1. George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair: "Distributed Systems: Concepts and Design", Addison Wesley, 2012. 2. Tanenbaum A, Van Steen M: Distributed systems, Principles and Paradigms, VrijeUniversiteit, Amsterdam, Pearson Prentice Hall, 2007. 3. Ajay D. Kshemkalyani, Mukesh Singhal: "Distributed Computing, Principles, Algorithms, and Systems", Cambridge University Press 2008 4. Mogin Pavle, Lukovic Ivan, Govedarica Miro: Principi projektovanja baza podataka, Fakultet tehničkih nauka, Novi Sad, 2000. Dodatna literatura 1. Journal of Parallel and Distributed Computing, http://www.sciencedirect.com/science/journal/07437315/99 2. Distributed Computing Journal, http://link.springer.com/journal/446 3. Active distributed computing projects, http://www.distributedcomputing.info/projects.html 4. Portal distributed computing, http://www.distributedcomputing.info/ 5. Java Distributed Computing Book, http://docstore.mik.ua/orelly/javaent/dist/index.htm 6. Ozsu, Valduries, Principles of Distributed Database Systems, 3.ed, Springer, 2011. [2.ed, Prentice Hall, 1999.] 7. Helal, Heddaya, Bhargava, Replication Techniques in Distributed Systems, Springer, 1996.