Studijski program | Naziv predmeta | Nastavnik/nastavnici | Status predmeta | Broj ESPB |
---|---|---|---|---|
Informacioni sistemi i tehnologije | Internet tehnologije | Marijana S. Despotović-Zrakić , Božidar LJ. Radenković, Dušan M. Barać Asistenti: Tamara G. Naumović , Petar Lukovac , Aleksa Miletić , Milica Simić | Obavezni | 5 |
Cilj predmeta
Cilj predmeta je upoznavanje studenata i sticanje praktičnog iskustva u radu sa internet tehnologijama, arhitekturama i modelima razvoja kompleksnih, distribuiranih i skalabilnih aplikacija elektronskog poslovanja.
Ishod predmeta
Studenti su stekli znanje i ovladali veštinama u oblasti internet tehnologija i njihovoj primeni u projektovanju i implementaciji distribuiranih i skalabilnih aplikacija elektronskog poslovanja.
Sadržaj predmeta
Teorijska nastava
Referentni modeli i standardi računarskih mreža: OSI, TCP/IP, IPv4, IPv6. Servisi mrežnog, transportnog i aplikacionog sloja. Servisi za kolaboraciju i komunikaciju, VoIP, video konferencije. Servisi za upravljanje identitetima. Internet kao infrastruktura za sigurni prenos i isporuku informacija. Digitalni sertifikati i infrastruktura javnog ključa. Razvoj softvera i otklanjanje anomalija u aplikacionom sloju TCP/IP modela. XML tehnologije za memorisanje, obradu i vizuelizaciju podataka prezentacionog sloja. CSS, AJAX, JSON. Pouzdanost, skalabilnost, redudantnost i distribuiranost softvera u internet okruženju. Pristupi razvoju softvera u internet okruženju:
1) Razvoj softvera zasnovan na događajima. Interni i eksterni, sinhroni i asinhroni događaji. Poruka kao mehanizam notifikacije. Razmena poruka po modelu zahtev-odgovor. Кanali poruka. Кomunikacija od jednog ka više servisa, slanje poruka na kanal. Pretplata na kanal i obrada primljenih poruka. Кoordinacija i sinhronizacija preko poruka. Izmeštanje podataka iz baze podataka u tokove poruka (streams). Apache Кafka.
2) Servisno orijentisan razvoj softvera. Osobine servisa. Stateless i stateful servisi. Vrste servisa: RPC, SOAP, XML veb servisi, REST. Raspodela opterećenja (sharding). Proksi i reverzni proksi, keširanje i replikacija. Mikroservisi i mikroservisna arhitektura. Upravljanje podacima u mikroservisnoj arhitekturi. Izolovana perzistencija i konzistentnost podataka. Lokalne transakcije i stanja mikroservisa. CAP teorema. Sekvence lokalnih transakcija, SAGA. Deployment mikroservisa, Docker. Кontinualna isporuka i automatsko ažuriranje mikroservisa. GIT, isporuka inicirana GIT tagom.
3) Procesno orijentisan razvoj softvera. Modeliranje poslovnih procesa, BPML. Кoreografija i orkestracija, BPEL. Odlučivanje u distribuiranim transakcijama: distribuirano (koreografija) i centralizovano (orkestracija). Implicitna i eksplicitna orkestracija. Okruženja za rad aplikacija zasnovanih na procesno orijentisanom softveru: aplikacioni serveri.
Praktična nastava
Internet tehnologije i metode razvoja informacionih sistema u Internet okruženju. Razvoj MVC aplikacija. Skladištenje i prenos podataka u prezentacionom sloju: XML, JSON, AJAX. Implementacija poslovne logike, PHP. Implementacija sloja podataka: MySQL, MongoDB. Servisno orijentisana arhitektura. Veb servisi. REST. Razvoj aplikacije zasnovane na događajima: grafički korisnički interfejs, serverska aplikacija ili računarska igra za više igrača, u odabranom softverskom okruženju (Python, PHP-FPM, NodeJS, JavaScript). Implementacija skupa mikroservisa za jedan poslovni proces (PHP, Javascript) i postavljanje u produkciono okruženje (Docker).
Literatura
1. B. Radenković, M. DespotovićZrakić, Z. Bogdanović, D. Barać, A. Labus, Elektronsko poslovanje, poglavlje 2. Infrastruktura elektronskog poslovanja, pp. 19-52, ISBN 978-86-7680-304-0; Fakultet organizacionih nauka, Beograd, 2015
2. Despotović-Zrakić, M., Milutinović, V. & Belić, A. (2014). Handbook of Research on High Performance and Cloud Computing in Scientific Research and Education, chapters 1-7 (pp. 1-194). Hershey, PA: IGI Global, 2014
3. B. Radenković, M. Despotović-Zrakić, Z. Bogdanović, D. Barać, А. Labus, Ž. Bojović, Internet inteligentnih uređaja, deo 1. Teorijske osnove interneta inteligentnih uređaja, Fakultet organizacionih nauka, Beograd, 2017
4. B. Radenković, M. Despotović-Zrakić, Z. Bogdanović, D. Barać, A. Labus, Materijali za predmet Internet tehnologije, u e-formi, sa portala za e-učenje moodle.elab.fon.bg.ac.rs , 2021
5. Martin, R.C, Clean architecture: a craftsman’s guide to software structure and design, Prentice Hall, 2017