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
Uvod. 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 (PKI). 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 (event driven). Interni i eksterni, sinhroni i asinhroni događaji. Poruka kao mehanizam notifikacije događaja. 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). Proxy i reverzni proxy, keširanje i replikacija servisa. 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 kontejneri i virtuelne mašine. Kontinualna isporuka i automatsko ažuriranje mikroservisa. GIT, isporuka mikroservisa inicirana GIT tag-om.
3) Procesno orijentisan razvoj softvera. Modeliranje poslovnih procesa i BPML. Koreografija i orkestracija servisa, BPEL. Vrste odlučivanja u distribuiranim transakcijama: distribuirano (koreografija) i centralizovano (orkestracija). Implicitna i eksplicitna orkestracija bazirana na asinhronim porukama. Uloge servisa u eksplicitnoj orkestraciji: orkestrator, učesnik. Kanali komandnih poruka i kanali odgovora u eksplicitnoj orkestraciji. 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 tehnologije, JSON tehnologije, AJAX. Implementacija poslovne logike u PHP-u. Implementacija sloja podataka: MySQL, MongoDB. Servisno orijentisana arhitektura. Veb servisi. REST. Razvoj aplikacija zasnovanih 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 korišćenjem PHP ili Javascript jezika i postavljanje u produkciono okruženje korišćenjem Docker-a.
Literatura
1. B. Radenković, M. DespotovićZrakić, Z. Bogdanović, D. Barać, A. Labus, Elektronsko poslovanje, 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 (pp. 1-476). Hershey, PA: IGI Global. doi:10.4018/978-1-4666-5784-7. ISBN: 978-1-4666-5784-7.
3. B.Radenković, M.Despotović-Zrakić, Z.Bogdanović, D.Barać, A.Labus, Ž.Bojović, Internet inteligetnih uređaja, ISBN:978-86-7680-304-0; tiraž 500, odobreni univerzitetski udžbenik, FON, Beograd, 2017.
4. Materijali u e-formi, sa portala za e-učenje moodle.elab.fon.bg.ac.rs