Professional Documents
Culture Documents
MySQL
AJAX HTML
Predavanje 1
PHP
jQuery CSS
dr Gabrijela Dimić
gdimic@gs.viser.edu.rs JScript
U naredna tri meseca zajedno ćemo
naučiti nešto sjajno
Pregled
Informacije o predmetu
Veb sajt ili veb aplikacija?
Primer online sistema
Veb aplikacija
Front – end tehnologije
Back – end tehnologije
Arhitektura veb aplikacija
Klijent server arhitektura
Troslojna arhitektura
MVC (Model – View – Kontroler)
MERN Stack arhitektura
Skriptni jezici
Pregled
Informacije o predmetu
Veb sajt ili veb aplikacija?
Primer online sistema
Veb aplikacija
Front – end tehnologije
Back – end tehnologije
Arhitektura veb aplikacija
Klijent server arhitektura
Troslojna arhitektura
MVC (Model – View – Kontroler)
MEAN Stack arhitektura
Skriptni jezici
PVA tim
Predmetni nastavnik:
• dr Gabrijela Dimić, gdimic@gs.viser.edu.rs
• Kabinet 513
• Konsultacije:
• sreda, 14.00 -16.00
• četvrtak, 15.00 -17.00
Predmetni saradnici:
• dipl.inž. Boško Bogojević, bosko.bogojevic@viser.edu.rs
• Kabinet 408
• Konsultacije – na sajtu Odseka
https://lectio2.viser.edu.rs/course/view.php?id=234
Nastava
Predavanja:
• Ponedeljak, 14.00 -16.25
• Gornja sala levo
Laboratorijske vežbe:
• Dve nedelje posle početka predavanja, od 24.10.2022.
• Utorak ILI Četvrtak ILI Petak
• Laboratorija ?
Laboratorijske vežbe
Obavezne: 80%
10 laboratorijskih vežbi
Maksimalno 10 poena
Nadoknade vežbi
• U januaru (na kraju semestra)
• Pred februarski ispitni rok
Mogućnost korišćenja na
kolokvijumima i ispitu.
Kolokvijumi
Nisu eliminatorni
• sakupljaju se poeni
Prvi kolokvijum :
• Maksimalno 30 poena (3 zadatka)
• U sedmici od 28.11.2022.
• Posle sedmog termina predavanja
Drugi kolokvijum:
• Maksimalno 60 poena (4 zadatka)
• U sedmici od 23. 01.2023.
Projekat
Nije obavezan
Ne isključuje prisustvo na laboratorijskim vežbama
Prijava putem Moodle kursa nakon postavljenog obaveštenja
Odbrana projekta:
• predaja projektne dokumentacije
• usmena odbrana
Teme za projekat
• unapred definisane,
• mogućnost predlaganje teme
Projekat se radi samostalno
Bodovna struktura
LABORATORIJSKE VEŽBE:
• Do 1O POENA
KOLOKVIJUMI:
• K1: maksimalno 30
• K2: maksimalno 60
PROJEKAT:
• MAKSIMALNO 90 POENA
INTEGRALNI ISPIT:
• MAKSIMALNO 90 POENA
Način polaganja ispita
Korisnički interfejs
HTML, CSS tehnologije
Baza podataka
MySQL
SQL Server
PostgreSQL
MongoDB....
Funkcionalnosti
Prikaz podataka
Unos podataka
Izmena podataka PHP
Primer – Studentski servisi
Podaci/Informacije:
• Osnovni podaci o studentima
• Predmeti po nastavnim planovima i
programima
Kada se ulogujete:
• Prikaz profila na osnovu unetih podataka
Unos podataka:
• Prijava predmeta za tekuću šk.godinu
• Prijava ispita za aktuelan ispitni rok
Osnovni pojmovi
Internet:
globalna mreža računara
WWW:
servis koji Internet pruža
HTTP:
Hypertext Transfer Protocol je protokol namenjen prenosu informacija putem WWW
( World Wide Web) servisa Interneta
Web klijent:
program koji služi kao intefejs za povezivanje i razmenu podataka sa serverom (Chrome,
Firefox, Opera itd.)
Web server:
program koji koristi HTTP protokol da isporuči(servira) fajlove koje zahtevaju udaljeni
korisnici putem klijentskih programa (najčešće web prikazivača – browsera)
Pregled
Informacije o predmetu
Veb sajt ili veb aplikacija?
Primer online sistema
Veb aplikacije
Front – end tehnologije
Back – end tehnologije
Arhitektura veb aplikacija
Klijent server arhitektura
Troslojna arhitektura
MVC (Model – View – Kontroler)
MEAN Stack arhitektura
Skriptni jezici
Veb aplikacije
Prednosti:
ne zahtevaju složenu proceduru implementacije i nadogradnje
mogućnost rada više korisnika bez smanjenja performansi
veliki broj platformi i razvojnih alata
rade bez obzira na operativni sistem
može se pristupiti sa bilo kog uređaja – nije potrebna instalacija
Veb aplikacije
Nedostaci:
sigurnost poverljivih privatnih i osetljivih podataka
brzina rada zavisi od brzine mrežne veze sa serverom
obavezno postojanje internet mreže
vlasnik aplikacije ima kontrolu nad podacima
potreba za usaglašavanjem veb standarda
Veb aplikacije
Primena:
Registracija i prijava na sisteme u privatne i poslovne svrhe
• Korisniku omogućeno da organizuje i kreira sadržaj koji želi da mu se prikaže
E – trgovina
Veb banking
Socijalne mreže
• Facebook, Twitter, YouTube, Wikipedia...
Gmail
Distance learning
Zdravstvo...
Veb aplikacije
Dvoslojna arhitektura:
Klijentski sloj:
• prezentacioni sloj ili interfejs prikazan na
klijentu
Sloj podataka:
• sloj za rad sa bazom podataka skladišten na
server zajedno sa aplikacijom
Arhitektura veb aplikacija
Problem skalabilnosti:
lošije performanse sa povećavanjem broja korisnika
Više vremena se troši na upravljanje procesima
nego na rešavanje zahteva
Veći troškovi održavanja
Arhitektura veb aplikacija
Prvi sloj:
Troslojna arhitektura:
prezentacioni sloj koji je u komunikaciji
sa korisnikom.
interfejs aplikacije za unos zahteve za
pristup određenim podacima.
Drugi sloj:
poslovna logiku sistema.
Treći sloj:
baza podataka
upiti kojima se rešava komunikacija sa
bazom podataka.
Arhitektura veb aplikacija
Troslojna arhitektura:
Prezentacioni sloj
• prezentaciona logike i korisnički interfejs
• obrađuje podatke unete od strane korisnika
• šalje sloju servisa koji dalje stupa u komunikaciju sa ostalim
slojevima.
MVC (Model–View–Controller)
Arhitektura veb aplikacija - MVC
Model
realizovan kao klasa, sadrži glavne programske podatke – atribute i metode
definiše i međusobne veze unutar modela.
korisnik ne može pristupati direktno, već samo preko kontrolora.
Arhitektura veb aplikacija - MVC
View
komponenta u kojoj se realizuje prikaz podataka korisniku.
korisnik može videti samo ono što je iz modela, preko kontrolora,
prosleđeno Prikazu.
u veb aplikacijama
najčešće preko HTML, CSS i JavaScript tehnologija.
Arhitektura veb aplikacija - MVC
Controller
posrednik između modela i prikaza
sadrži glavne mehanizme za kontrolu toka programa, ponašanje
aplikacije i upravljanje korisničkim zahtevima.
prima korisničke zahteve, obrađuje ih i prosleđuje modelu,
interpretira podatke dobijene od modela i prikazuje ih korisniku.
Arhitektura veb aplikacija – MEAN Stack
Skriptni jezici
PHP
upotreba otvorenog kôda
visok stepen integracije s HTML-om i potrebama veba
mogućnost upotrebe i u najsloženijim sistemima
vrlo dobra prenosivost
brzo izvršavanje
dobra podrška zajednice
Skriptni jezici
PHP
rekurzivni akronim za PHP - Hypertext Preprocessor
opšte namene, posebno prilagođen razvoju na internetu
interpretira se na strani servera
mora da bude instaliran na serveru koji pokreće kod
koristi tehnike proceduralnog i objektno-orijentisanog programiranja.
Skriptni jezici
PHP
1994 - Rasmus Lerdorf (PHP Personal Home page)
1998 - PHP 3 (PHP Hypertext Preprocessor)
2001 - PHP 4 (PHP 3 + manje izmene)
2004 - PHP 5, uvodi se objektno orjentisano programiranje i PHP
Data Objects (PDO)
2015 – PHP7
PHP 7.3 (od 7.3.2019.)
PHP 8 (2020)
PHP 8.1.0 RC 3 dostupna za testiranje od 30.09.2021.
PHP 9 (2025)
Skriptni jezici
PHP program
datoteke sa ekstenzijom php
čuva se u obliku teksta i tako se startuje
potrebno je da bude tretiran od strane PHP interpretera
PHP interpreter
program koji razume sintaksu PHP jezika
razume i druge tipove tekstualnih datoteka (. txt, .htm, .html ), ali
ih ne interpretira
prevodi kod koji smo napisali u jeziku koji računar razume (binarna
reprezentacija) u realnom vremenu
izvršava prevedeni kod odmah nakon prevođenja
Skriptni jezici
XAMPP
Koreni direktorijum je htdocs
Skriptni jezici
Skriptni jezici
Skriptni jezici