Download as pdf or txt
Download as pdf or txt
You are on page 1of 32

WEB BAZIRANI

INFORMACIONI SISTEMI
Arhitektura web aplikacija

dr Miloš Dobrojević
dr Miloš Dobrojević

Sadržaj
• Web aplikacije • MVC arhitektura
– Šta je to web aplikacija? – Šta je to MVC?
– Poslovna primena – Model, View, Controller
– Prednosti i nedostaci
• OOP
– Platforma
– Šta je to OOP?
– Frontend, Bakend
– Pravila formiranja klasa
– Kako rade web aplikacije?
– Metode
• Arhitektura • Literatura
– Slojevi
– Troslojne aplikacija • Korisni linkovi
– Višeslojne aplikacije

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

Web aplikacije
• Šta je to web aplikacija?
– Web aplikacije predstavljaju grupu aplikacija koje su nastale
popularizacijom Interneta.
– Web aplikacija je softver čiji se kod nalazi na web serveru.
– Korisnik pristupa aplikaciji

• Poslovna primena
– Upravljanje projektima
– Lanac nabavke
– HR, CRM, ERP, ...

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

Web aplikacije
• Prednosti
– Cross-platform. Kompatibilnost jedne aplikacije sa različitim
OS / platformama (Windows, Linux, Mac itd).
– Ažuriranje i održavanje na serveru, bez potrebe da se
distribuira i/ili instalira na računarima krajnjih korisnika. To je
velika prednost u organizacijama i sistemima sa velikim brojem
korisnika.
– Podaci se takođe nalaze na serveru.
– Po kvalitetu su ravnopravne desktop aplikacijama.
– HTML5 omogućava kreiranje bogatog interaktivnog okruženja u
okviru web pretraživača (video, audio, vizuelni efekti).
– Ne zauzimaju mesto na računaru korisnika.
– SaaS

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

Web aplikacije
• Prednosti
– Neuporedivo niža cena u odnosu na desktop aplikacije.
– Otežava softversko piratstvo i/ili reverse engineering.
– Laka integracija sa drugim web servisima.

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

Web aplikacije
• Nedostaci
– Aplikacija je neupotrebljiva u slučaju prekida Internet veze.
– Cross-browser kompatibilnost , JavaScript, CSS.
– Rad aplikacije u potpunosti zavisi od servera i kompanije koja je
vlasnik aplikacije (ASP = application service provider).
– U slučaju bankrota kompanije ili prestanka funkcionisanja
određene usluge, krajnji korisnik nema skoro nikakva prava.
– ASP može da prati sve što korisnici rade. Problem privatnosti i
zaštite poslovnih podataka.
– Ukoliko se objavi nova verzija aplikacije, korisnicima se često
ne ostavlja mogućnost izbora između nove i stare verzije.

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

Web aplikacije
• Nedostaci
– Sve manje otvorenog koda.
• Zatvoreni kod
• Zatvoreni hardver
• Licence.
– Sve više SaaS.

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

Web aplikacije
• Platforma
– OS Windows, Linux, ...
– Web server Apache, lighttpd, nginx
– Domen, hosting
– PHP
– Baza podataka MySQL, MsSQL, PostgreSQL...
– HTML HTML4, HTML5
– CSS CSS3
– JavaScript

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

Web aplikacije
• Iz čega se sastoje web aplikacije?
– Front-end
• HTML, CSS, JavaScript
– Back-end
• PHP, DB / SQL

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

Web aplikacije
• Kako rade web aplikacije?
– Korisnik šalje zahtev
• Korisnik u web pretraživač unosi adresu ili popunjava obrazac
• Kompjuter korisnika šalje HTTP ili HTTPS zahtev putem mreže
(preko interneta) do web servera na kome se nalaze HTTP server,
skripting jezik i web aplikacija.
– Web aplikacija analizira upućeni zahtev i po potrebi:
• Povlači i/ili obrađuje podatke
• Komunicira sa drugim web serverima ili web servisima
• Priprema redirekciju na drugi web server (primer: CDN)
– Rezultat rada web aplikacije može biti web stranica, CSS, XML, slika,
video, flash itd. koje web server šalje preko interneta do kompjutera
korisnika.

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

Arhitektura
• Slojevi
– Logički slojevi (Layers)
– Fizički nivoi (Tiers)

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

Arhitektura
• Logički slojevi (Layers)
– Način na koji se organizuje programski kod

• Zašto?
– Radi bolje preglednosti koda
– Skalabilnost
– Lakše održavanje
– Brži razvoj
– Smanjenje troškova razvoja i održavanja.

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

Arhitektura
• Primer
– Korisnički interfejs
– Funkcionalna logika
• Load balancing (softverski)
• Bezbednost
• Autorizacija
• Templejti
• ...
– Skladištenje podataka
– Pristup podacima
– ...

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

Arhitektura
• Fizički nivoi (Tiers)
– Mesta na kojima se slojevi nalaze i gde se izvršavaju.

• Zašto?
– Prvenstveno da bi se ostvarila ravnoteža između
• Performansi
• Skalabilnosti
• Tolerancije na greške
• Bezbednosti.

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

Arhitektura
• Primer
– Prezentacioni sloj
– Web server
– CDN
– email server
– DB server
– ...

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

Arhitektura
• Troslojne aplikacije

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

Arhitektura
• Višeslojne aplikacije

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

Arhitektura
• Prednosti
– Omogućava razvoj fleksibilnih aplikacija, čiji se delovi zajedno ili
nezavisno mogu iznova koristiti u različitim projektima.
– Izmene u jednom sloju su izolovane u odnosu na ostale slojeve.
– Protok informacija između slojeva je deo arhitekture i zasnovan
je na jednom ili više protokola (sockets, web servisi...).

• Mane
– Sa porastom broja slojeva, i što je aplikacija složenija, sve je
teže pratiti protok podataka kroz slojeve.

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

Arhitektura
• Izbor arhitekture
– Na osnovu trenutnih, ali i budućih potreba sistema.
– Za statičke web sajtove i jednostavne web aplikacije sa malim
brojem korisnika, dovoljna je dvoslojna arhitektura.
– Za web aplikacije sa većim brojem korisnika, SaaS ili poslovne
aplikacije, neophodni minimum je troslojna arhitektura.
– Kriterijumi za izbor
• Projektovani broj korisnika
• Primenjena platforma i softverski alati
• Tip i veličina baze podatak
• Broj i veličina dokumenata
• ...

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

MVC arhitektura
• Podsetnik: kako radi web aplikacija?
– Web aplikacija od korisnika prima neki zahtev ili podatke
– Web server prepoznaje zahtev i obrađuje podatke na osnovu
ugrađene poslovne logike
– Na kraju, web server generiše web stranicu koja će biti
prikazana korisniku.

• U čemu je onda problem?


– Zamislite da se poslovna logika, korisnički interfejs i
komunikacija sa bazom podataka nalaze u jednom fajlu.
– Šta ako poželite da izmenite dizajn jednog obrasca? Umesto da
posao poverite samo dizajneru, moraćete da angažujete i
programera kako biste bili sigurni da prilikom izmene neće biti
poremećen programski kod ili logika aplikacije.

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

MVC arhitektura
• Šta je to MVC?
– MVC arhitektura (engl. Model-View-Controller) je softverski
šablon (engl. software pattern) koji razdvaja aplikaciju na tri
međusobno povezana dela.
– Klasičan MVC pristup smešta svu logiku na web server, dok su
nove tehnologije (Ajax, AngularJS, EmberJS, JavaScriptMVC,
Backbone) omogućile da se MVC komponente delimično
izvršavaju i na strani klijenta.
– Primenom MVC-a se pruža mogućnosti prikaza modela na
različite načine, a olakšani su procesi dodavanja novih ili izmene
postojećih izveštaja, izmene interakcije sa korisnikom kao i
izmene poslovne logike.

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

MVC arhitektura
• Model
– Obrađuje podatke dobijene putem Controller-a.

• View
– Prikaz podataka, shodno promenama u modelu.

• Controller
– Tumači zahtev korisnika i prosleđuje ga na Model ili View
komponente.

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

OOP
Klase tipovi koji opisuju strukturu objekta
Objekti konkretni podaci

• Šta je to OOP?
– Objektno-orijentisano programiranje (OOP) je metod
programiranja upotrebom "objekata", koji su instance klasa i
poseduju.
• Skupove atributa (osobina) koji ih opisuju i
• Funkcije (operacije) - metode
– OO program obično sadrži različite tipove objekata, svaki sa
skupom podataka koji opisuju neku realnu pojavu:
• Automobil
• Račun u banci
• Profil sportiste
• ...

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

OOP
• Pravila formiranja klasa
– Razdvojiti bitno od nebitnog za dati problem. Ono što je bitno,
implementirati u klasi.
– Svi podaci u klasi su skriveni osim onih koji su eksplicitno
deklarisani kao javni.
– Enkapsulacija
• Kontrola pristupa komponentama objekta
• Public, private, protected
– Modularnost. Razbijanje koda na manje delove koji mogu
samostalno da funkcionišu.
– Nasleđivanje. Kada jedna klasa nasledi drugu ona zadržava
kompletan sadržaj klase koju nasleđuje, i taj sadržaj može
redefinisati ili proširiti.

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

OOP
• Metode
– Modifier
– Accessor

– Constructor se poziva prilikom kreiranja objekta


– Destructor se poziva prilikom gašenja objekta

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

OOP
• Motorno vozilo (osnovna)
– Tip auto, kombi, kamion
– Gorivo benzin, dizel, TNG
– Boja bela, crvena, ...
– Broj vrata 2, 3, 4, ...
– Težina x kg
– Godina proizvodnje godina
– Registarski broj
– Registracija datum

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

OOP
• Auto (extends)
– Karoserija sedan, hatch, karavan
– Broj sedišta 2, 3, 4, 5

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

OOP
• Kombi (extends)
– Tip putnički, teretni
– Broj sedišta 2, 3, 4, 5, 6, 7, ...
– Nosivost 500, 800, ...

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

OOP
• Kamion (extends)
– Tip tegljač, cisterna, ...
– Broj sedišta 2, 3
– Nosivost 1.5t, 5t, 7.5t, ...
– Max. doz. težina x kg
– Osovinsko
opterećenje x kg

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

OOP
• Motor (extends)
– Kubikaža x cm3
– Broj cilindara 2-12
– Ulje tip mineralno, sint.
– Ulje marka Castrol, Total, ...
– Ulje gradacija 5W40, 15W40, SAE30
– Svećice ...

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

Literatura
• Kako napraviti web aplikaciju
– M. Dobrojević, Magma, 2016
Poglavlja
1.1 Web server
1.2 Slojevi

• Razvoj aplikativnog softvera


– V. Tomašević, Singidunum, 2012.
Poglavlja
4.2.2 Slojevita arhitektura
4.2.6 Objektno-orijentisani pristup

WEB BAZIRANI INFORMACIONI SISTEMI


dr Miloš Dobrojević

Korisni linkovi
• Should all apps be n-tier?
• What's the difference between “Layers” and
“Tiers”?
• Classes and Objects
• OOP

WEB BAZIRANI INFORMACIONI SISTEMI

You might also like