University of Belgrade, Faculty of organizational sciences

Department for e-business

Internet tehnologije

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. doi:10.4018/978-1-4666-5784-7. ISBN: 978-1-4666-5784-7.