razvoj web aplikacija - ii dio

Upload: sasa-tadic

Post on 03-Apr-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 Razvoj Web Aplikacija - II Dio

    1/4

    1

    Saa Tadi, dipl ing raunarske tehnikeweb site: http://sasatadic.net46.net/Crvanje-mail:[email protected]

    RAZVOJ WEB APLIKACIJA (osnove, dio II)

    U prethodnoj sesiji smo identifikovali osnovne pojmove koji su relevantni za web razvoj i postavili elementeokruenja unutar kojeg moemo da pristupimo realizaciji nae web aplikacije.

    U nastavku emo se pozabaviti nainom na koji komuniciraju dijelovi programskog koda u naoj datotecikoju postavljamo na web server i kako se u praksi na realnom primjeru realizuje client / server paradigma.

    KOJE PROGRAMSKE JEZIKE TREBA DA KORISTIMO

    U ovoj fazi razvoja emo koristiti 3 alata:

    - HTML (Hypertext Markup Language) je standardizovani jezik koji se koristi za struktuiranje tekstova,medijuma i ugraenih objekata na web stranicama i u elektronskoj poti. HTML posjeduje instrukcijekoje se mogu koristiti za formiranje izgleda web stranice. HTML ete najee koristiti da bidizajnirali zaglavlja, paragrafe, tabele, forme za obuhvat podataka, slike za Vau web stranicu

    - PHP (PHP: Hypertext Preprocessor) je skriptni programski jezik koji ete upotrebljavati da napieteprogramski kod koji e se izvravati na serveru a koji vri procesiranje korisnikih zahtjeva.Procesiranje zahtjeva realizuje na nain toizvrava odreene raunske operacije, obavlja validacijupodataka, donosi odluke, ita i upisuje podatke u i iz baza podataka ili datoteka

    PHP je server- side scripting language.

    Skriptni jezikje programski jezik iji se kod najee izvrava interpretiranjem. Skriptni jezici sekoriste najee za pisanje manjih programa (skripti) koji se brzo piu i slue za obavljanje manjihposlova. Skriptni jezici su postali popularni i u web programiranju, zbog svoje prenosivosti i

    jednostavnosti u realizaciji u njima najee ne postoje napredne mogunosti koje imaju drugiprogramski jezici, poput pokazivaa, direktnog pristupa memoriji, sistemskih funkcija itd.

    Da bi mogao da se izvri, PHP program ne zahtjeva kompajlerve kao veina drugih skriptnih jezikazahtjeva interpleter - server na kojem e se izvravati. Server-side znai da se PHP programiizvravaju na serveru a da se rezultati tj. izlazni podaci iz PHP programa alju klijentu. U sluajuHTML-a i PHP-a, klijent je web browser.

    - JavaScript je takoe skript programski jezik koji ete upotrebljavati da napiete programski kod kojie se izvravati na klijentskoj radnoj stanici. Dakle, JavaScript je client side scripting language (kaonpr VBScript ili JScript). Iako u svom imenu sugerie da ima korjene u JAVA programskom jeziku,JavaScript sa JAVOM nema nikakvih dodirnih taaka (JAVA je klasini programski jezik a ne script

    jezik). JavaScript je inicijalno razvio NetScape a sada je u vlasnitvu Oracle-a.

    HTML, PHP i JavaScript su besplatne tehnologije. Informacije o HTML-u moete pronai nahttp://www.w3.org/MarkUp a o PHP-u na http://www.php.net.

    Kada se dodje u fazu da treba napisati programski kod, sav programski kod (i za HTML, i za PHP i zaJavaScript) se moe realizovati koristei obini tekst editor (recimo Notepad++). Treba imati u vidu daNotepad++ ne provjerava sintaksu onoga to piemo. To znai da tek kada se to to smo ispisali kaoprogramske direktive poalje serveru i kada na serveru pokrenemo i testiramo programski kod moemokonstatovati da li u programskom kodu ima greaka ili ne. Naravno, ukoliko imamo kvalitetniji editor (sa vieugraenih arobnjaka) postajemo produktivniji u radu jer se kod ovakvih (sloenijih) editora vri u njimasamima neka vrsta sintaksne i semantike kontrole ispravnosti programskog koda.

    SERVERSKI DIO PROCESA

    Web stranice, u zavisnosti od toga da li se njihov sadraj moe mjenjati na osnovu akcija koje preduzmekorisnik, se dijele na statike i dinamike.

    http://sasatadic.net46.net/Crvanjehttp://sasatadic.net46.net/Crvanjehttp://sasatadic.net46.net/Crvanjehttp://sasatadic.net46.net/Crvanjehttp://sasatadic.net46.net/Crvanje
  • 7/28/2019 Razvoj Web Aplikacija - II Dio

    2/4

    2

    Na poetku svog razvoja, web sajtovi su bili statini. Imali su jednostavnu strukturu sa malim brojem webstrana i skoro u potpunosti su bili realizovani u HTML-u. Svi korisnici koji pristupaju statikim stranicama,web stranice vide na istovjetan nain.

    Kako je vrijeme prolazilo, sajtovi su postajali sve sloeniji. Poeli su se javljati problemi kako u razvoju novihtako i u odravanju uraenih web site-ova. Alat HTML bez pomoi drugih tehnologija nije mogao da odgovorinarastajuim zahtjevima korisnika interneta. Zbog toga se pojavio PHP koji se smatra (izmeu ostalog)nadogradnjom HTML-a.

    PHP je mnogo fleksibilniji od HTML-a. Web aplikacije pisane PHP-om daju dinamike web straniceodnosno, omoguavaju da korisnici vide razliite informacije na razliite naine u zavisnosti od svojih elja ipotreba.

    PHP je dizajniran i usko specijalizovan za rad sa HTML-om i njega treba posmatrati kao nadgradnju HTML-a. Linije PHP koda mogu biti ugraene u HTML kod i/ili PHP programi mogu na izlazu davati HTML kod.

    U sutini PHP funkcionie tako to korisnik preko web browser-a zada neki upit, server primi upit, prosljediga PHP-u koji ga obradi i onda vraa nazad informacije klijentu odnosno web bowseru.

    Za komunikaciju izmedju klijenta i servera se koristi standardizovani HTTP protokol (Hypertext Transfer

    Protocol). Uzmimo tipinog HTTP klijenta, Va Web browser. Kada posjetite koristei Web Browser nekuweb stranicu, recimo (radiemo na naem lokalnom web serveru) http://localhost/test.php, Va browseralje HTTP zahtjev web serveru (u naem primjeru je taj web serverlocalhost). Najjednostavniji oblik togzahtjeva je :

    GET / HTTP/1.1

    Host: localhost

    Web server je sposoban da odgovori na ovaj zahtjev aljui klijentu resurs (web stranicu) koja se trai.Primjer odgovora na postavljeni zahtjev bi mogao biti:

    HTTP/1.1 200 OK

    Content-Type: text/html

    Content-Length: 419

    Primjer Web Stranice

    Dosli ste na ovu web stranicu kucajuci "test.php",

    u Vasem web browseru.

    Ovo je testna stranica i namjenjena je za edukacione svrhe

    Kao to moete primjetiti, glavninu odgovoraini sadraj stranice, odnosno HTML kod. U ovaj kod je izmedjutagova umetnut kod koji interpletira PHP procesor. Unutar ovih tagova se mora nalazitispecifikacija komandi po sintaksi koja vai za PHP (u tom smislu, komanda echo iz prethodnog scripta jePHP komanda a ne HTML komanda a znak ; na kraju ove komande je na tom mjestu jer to zahtjeva PHP).

    Prethodni programski kod se nalazi na web serveru. Poslije obrade od strane web servera, on dobija formukoja je prihvatljiva web browser-u kod klijenta. Taj oblik je sljedei:

    Primjer Web Stranice

    Dosli ste na ovu web stranicu kucajuci "test.php",

    u Vasem web browseru.

    Ovo je testna stranica i namjenjena je za edukacione svrhe

  • 7/28/2019 Razvoj Web Aplikacija - II Dio

    3/4

    3

    Ovaj red je ispisao PHP procesor

    Kao to se moe primjetiti na serveru su se izvrile sve promjene koje su diktirane PHP jezikom i u datotecije ostao samo HTML kod

    Kada Va browser dobije odgovor, on poinje da iscrtava sadraj web strane (pogledajte Sliku 1).

    Slika1 Browser iscrtava web stranicu

    Kada se sadraj nacrta u web browser-u, moete ak i iskljuiti Va raunar sa interneta a da to neprouzrokuje nikakve probleme sve dok Va browser ne dodje u situaciju da mora da poalje novi HTTPzahtjev serveru.

    Gdje se u ovakvom procesu pojavljuje PHP?

    PHP rolu je najlake shvatiti kao pomo web serveru dok on vri generisanje HTTP odgovora.To znai da jefunkcija PHP-a ve okonana kada se vri slanje odgovora od strane web servera web browseru. Rezultatrada PHP-a je ukljuen u konaan rezultat koji se alje klijentu. Obzirom da aktivnost PHP-a okupiraServerske resurse, PHP je primjer tehnologije koja je razvijena za server.

    Pogledajmojojedan primjer

    Slika2 Sadraj iste web stranice prije i poslije zahtjeva korisnika

    Na slici 2 su prikazane 2 web stranice. Prva web stranica se generie iz istog HTML koda koji je lociran udatoteci koja ima kao nastavak svog imena ekstenziju .html na web serveru. HTML kod u ovoj datoteci jerealizovan na nain da prikae web stranicu koja sadri zaglavlje, formu sa 2 labele i 2 polja za unospodataka i dva dugmeta. Kada korisnik unese podatke i pritisne taster Get your wage report now,browser alje korisnikove podatke (10.75 i 25 u ovom sluaju) serveru sa zahtjevom da ga procesira.

    Browser vrlo esto prosljedjuje i ime programskog modula (ime PHP modula) koji treba da obradi podatke.Posao realizacije dobija datoteka na web serveru koja sadri PHP kod. Programski kod u PHP datoteciobezbjeuje instrukcije za:

  • 7/28/2019 Razvoj Web Aplikacija - II Dio

    4/4

    4

    - prijem podataka iz web forme (u primjeru iz prve web forme);- izraunavanje koja se trae zahtjevom;- generisanje nove HTML strane za prikaz rezultata.

    Druga web stranica prikazana na prethodnoj slici se kreira PHP kodom a web server ju vraa browseru kakobi ju ovaj prikazao korisniku.

    Da rezimiramo

    Na sljedeem dijagramu smo vizuelno prikazali put kojim prodje jedan zahtjev generisan od strane korisnika:

    Slika3 Interakcija izmeu web browsera i serverskih komponenti

    Korisnik preko svog web browser-a alje zahtjev za prikazom neke stranice.

    Web Server (u naem sluaju Apache) trai php stranicu koja se nalazi u fajl sistemu na server raunaru.Kada je nae prosleuje je PHP-u ili tanije PHP parser-u. Sa desne strane bloka Procesiraj PHP nalazi seblok Baza podataka. U naem primeru nismo koristi bazu podataka ali treba naglasiti da mo PHP-aupravo lei u povezivanju internet tehnologija i baza podataka. Za sada treba rei samo jo to da je ovaj blokbaze podataka najee MySQL baza podataka.

    Po izvravanju PHP koda generie se HTML kod koji se vraa nazad web browser-u.

    KLIJENTSKI DIO PROCESA

    Na drugoj strani, bilo kakvo procesiranje podataka kod klijenta poslije prijema podataka od strane browseraspada u tehnologiju clienta. JavaScript je iroko rasprostranjena opcija skripting jezika za klijentskookruenje. JavaScript programski kod ima drugaije karakteristike od ostalog djela programskog koda ali iod PHP-a kao scripting jezika na server strani. Ono to se vidi kao programski kod web stranice je sadrajHTTP zahtjeva. Ovaj sadraj je generisan na serveru a to znai da je eventualno PHP koriten za formiranjeHTML koda. Korienjem PHP-a je mogue izgenerisati i JavaScript kod.Ipak, mnogo ea varijanta je dadeveloperi unutar posebnih HTML tagova (na poetku ili na kraju HTML dokumenta ili u posebnom JSdokumentu) ispiu JavaScript programski kod kojeg je u stanju da interpletira klijentski web browser i koji seizvrava na klijentu kada se ispune odredjeni uslovi definisani HTML kodom (najee kada nastupi neki

    dogadjaj kada korisnik preduzme neku akciju)

    Komunikacija JavaScript-a sa PHP-om je mnogo kompleksnija obzirom da ona zahtjeva da se poalje jedandodatni HTTP zahtjev serveru kao zahtjev clienta JavaScript-a prema serverskoj komponenti PHP-u. Usvakom sluaju, dokle god ovaj zahtjev ili neka druga akcija korisnika na dodje se web browsera, zadatakPHP-a je realizovan i web server mirno oekuje novi zahtjev. Dok se JavaScript izvrava nema potrebe dapostoji ak ni konekcija izmedju klijenta (web browsera) i servera.

    Malo detaljnije o tome kako JavaScript, PHP i HTML izmedju sebe razmjenjuju podatke bie objanjeno usljedeem nastavku