Cilj
Ishod
Metode izvođenja nastave
Sadržaj
Literatura
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. Kanali poruka. Komunikacija od jednog ka više servisa, slanje poruka na kanal. Pretplata na kanal i obrada primljenih poruka. Koordinacija i sinhronizacija preko poruka. Izmeštanje podataka iz baze podataka u tokove poruka (streams). Apache Kafka.
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. Kontinualna isporuka i automatsko ažuriranje mikroservisa. GIT, isporuka inicirana GIT tagom.
3)Procesno orijentisan razvoj softvera. Modeliranje poslovnih procesa, BPML. Koreografija 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). .
1. B. Radenković, M. DespotovićZrakić, Z. Bogdanović, D. Barać, A. Labus Elektronsko poslovanje, poglavlje 2: Infrastruktura elektronskog poslvanja, pp.19-52 ISBN 978-86-7680-304-0; Fakultet organizacionih nauka, Beograd 2015
2. Despotović-Zrakić, M., Milutinović, V., & Belić, A. Handbook of Research on High Performance and Cloud Computing in Scientific Research and Education Hershey, PA: IGI Global 2014
3. B.Radenković, M.Despotović-Zrakić, Z.Bogdanović, D.Barać, A.Labus, Ž.Bojović Internet inteligetnih uređaja, deo 1. Teorijske osnove interneta inteligentnih uređaja ISBN:978-86-7680-304-0; tiraž 500, odobreni univerzitetski udžbenik, FON, 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
