razvoj web aplikacija - 1 dio

3
1 Saša Tadić, dipl ing računarske tehnike web site: http://sasatadic.net46.net/Crvanj e-mail:[email protected] Podgorica RAZVOJ WEB APLIKACIJA (osnove, dio I) U tekstu koji je pred Vama a koji pretstavlja prvi dio sesije o internet razvoju pokušaćemo da razjasnimo neke elementarne pojmove: - šta je client / server paradigma - web server i internet browser međusobne relacije - kako su organizovana dokumenta na web serveru - šta je lokalni web server i kako postaviti lokalni web server U tekstovima koji će usljediti ćemo vidjeti kako se koristeći tehnologiju proizašlu iz ovih osnovnih pojmova razvijaju aplikacije za web. CLIENT / SERVER paradigma U client / server okruženju, klijentski programi šalju zahtjeve svojim serverskim „partnerima“ da za njih urade određene usluge. Serveriski programi prihvataju zahtjeve od klijenata i vrše njihovu realizuju. Serverski programi se izvršavaju na mrežnim računarima - serverima i u stanju su, svaki pojedinačno, da odgovori na veliki broj zahtjeva koji dolaze od strane nekoliko stotina ili hiljada korisnika kompijuterski povezanih ili na globalnu svjetsku mrežu (internet) ili na mrežu računara neke kompanije (lokalni internet - intranet). Primjer jedne ovakve klijent / server aplikacije je npr. OnLine prodavnica čiji serverski dio je sposoban da svakog trenutka prihvati zahtjeve velikog broja klienata sa bilo kojeg od klijentskih računara povezanih na internet bilo gdje u svijetu. Web aplikacija je tipičan primjer implementacije client / server dizajna u internet okruženju. U slučaju Web aplikacije, klijentski program je web browser (Internet explorer, FireFox, Google Chrome itd). Web browser se izvršava na korisnikovom personalnom računaru ili na računaru u kancelariji neke kompanije na nečijem radnom mjestu. Svaki put kada korisnik ukuca neku URL adresu ili kad mišem pritisne na neki link na web stranici, ili kada mišem pritisne na taster unutar grafičkog interfejsa a pošto je u neku formu tog istog interfejsa prethodno unio podatke, browser šalje korisnički zahtjev preko interneta odgovarajućem web serveru. Web server prima i procesira zahtjev a potom vraća odgovor browser-u u obliku nove web stranice koju web browser treba da prikaže korisniku na ekranu njegovog računara. Web server se može nalaziti bilo gdje u svijetu i može odgovoriti na bilo koji zahtjev klijenta koji ima pristup internetu. Naravno, klijent, odnosno korisnik koji radi na klijentskom računaru mora znati kako da „prozove“ serverski računar i kako da mu uputi korektan zahtjev. Za krajnjeg korisnika je to sve pojednostavljeno jer se on „kreće kroz internet“ koristeći miš ili “touch screen” a u pozadini, klijentske i serverske komponente razrješavaju njegove zahtjeve. Serverski program da bi uspješno procesirao korisnikov zahtjev, može da komunicira sa drugim serverskim programima ali i da pristupa bazama podataka i datotekama. Da bi programeri realizovali kompijuterske aplikacije zasnovane na web tehnologiji, moraju kreirati fajlove - datoteke koji treba da sadrže programske instrukcije za prikaz web stranice kao i instrukcije za procesiranje korisnikovih zahtjeva tokom korisnikove komunikacije sa web stranicom. Programske instrukcije treba da budu pisane u nekom od programskih jezika koji podržavaju web tehgnologiju (HTML, PHP, JAVA, JavaScript, .NET, VBScript itd). Ove fajlove programeri moraju smjestiti na odgovarajuće mjesto na web serveru. Na taj način, kada se pojavi potreba za prikazom neke web stranice (odnosno kada neki korisnik sa interneta ispostavi zahtjev za njenim prikazivanjem), “prozvani” web server pronalazi u svom file sistemu traženu datoteku sa programskim kodom, šalje je web browseru koji vrši njeno čitanje i počinje da prezentira njen sadržaj klijentu na njegovom GUI-u. Web server ima određena pravila u pretraživanju dokumenata koje klijenti traže a koje kroz zahtjev dolaze od browser-a.

Upload: sasa-tadic

Post on 17-Feb-2015

110 views

Category:

Documents


9 download

DESCRIPTION

Osnovni pojmovi vezani za razvoj web aplikacija

TRANSCRIPT

Page 1: Razvoj Web Aplikacija - 1 Dio

1

Saša Tadić, dipl ing računarske tehnike web site: http://sasatadic.net46.net/Crvanj e-mail:[email protected] Podgorica

RAZVOJ WEB APLIKACIJA (osnove, dio I) U tekstu koji je pred Vama a koji pretstavlja prvi dio sesije o internet razvoju pokušaćemo da razjasnimo neke elementarne pojmove:

- šta je client / server paradigma

- web server i internet browser – međusobne relacije

- kako su organizovana dokumenta na web serveru

- šta je lokalni web server i kako postaviti lokalni web server U tekstovima koji će usljediti ćemo vidjeti kako se koristeći tehnologiju proizašlu iz ovih osnovnih pojmova razvijaju aplikacije za web.

CLIENT / SERVER paradigma U client / server okruženju, klijentski programi šalju zahtjeve svojim serverskim „partnerima“ da za njih urade određene usluge. Serveriski programi prihvataju zahtjeve od klijenata i vrše njihovu realizuju. Serverski programi se izvršavaju na mrežnim računarima - serverima i u stanju su, svaki pojedinačno, da odgovori na veliki broj zahtjeva koji dolaze od strane nekoliko stotina ili hiljada korisnika kompijuterski povezanih ili na globalnu svjetsku mrežu (internet) ili na mrežu računara neke kompanije (lokalni internet - intranet). Primjer jedne ovakve klijent / server aplikacije je npr. OnLine prodavnica čiji serverski dio je sposoban da svakog trenutka prihvati zahtjeve velikog broja klienata sa bilo kojeg od klijentskih računara povezanih na internet bilo gdje u svijetu. Web aplikacija je tipičan primjer implementacije client / server dizajna u internet okruženju. U slučaju Web aplikacije, klijentski program je web browser (Internet explorer, FireFox, Google Chrome itd). Web browser se izvršava na korisnikovom personalnom računaru ili na računaru u kancelariji neke kompanije na nečijem radnom mjestu. Svaki put kada korisnik ukuca neku URL adresu ili kad mišem pritisne na neki link na web stranici, ili kada mišem pritisne na taster unutar grafičkog interfejsa a pošto je u neku formu tog istog interfejsa prethodno unio podatke, browser šalje korisnički zahtjev preko interneta odgovarajućem web serveru. Web server prima i procesira zahtjev a potom vraća odgovor browser-u u obliku nove web stranice koju web browser treba da prikaže korisniku na ekranu njegovog računara. Web server se može nalaziti bilo gdje u svijetu i može odgovoriti na bilo koji zahtjev klijenta koji ima pristup internetu. Naravno, klijent, odnosno korisnik koji radi na klijentskom računaru mora znati kako da „prozove“ serverski računar i kako da mu uputi korektan zahtjev. Za krajnjeg korisnika je to sve pojednostavljeno jer se on „kreće kroz internet“ koristeći miš ili “touch screen” a u pozadini, klijentske i serverske komponente razrješavaju njegove zahtjeve. Serverski program da bi uspješno procesirao korisnikov zahtjev, može da komunicira sa drugim serverskim programima ali i da pristupa bazama podataka i datotekama. Da bi programeri realizovali kompijuterske aplikacije zasnovane na web tehnologiji, moraju kreirati fajlove - datoteke koji treba da sadrže programske instrukcije za prikaz web stranice kao i instrukcije za procesiranje korisnikovih zahtjeva tokom korisnikove komunikacije sa web stranicom. Programske instrukcije treba da budu pisane u nekom od programskih jezika koji podržavaju web tehgnologiju (HTML, PHP, JAVA, JavaScript, .NET, VBScript itd). Ove fajlove programeri moraju smjestiti na odgovarajuće mjesto na web serveru. Na taj način, kada se pojavi potreba za prikazom neke web stranice (odnosno kada neki korisnik sa interneta ispostavi zahtjev za njenim prikazivanjem), “prozvani” web server pronalazi u svom file sistemu traženu datoteku sa programskim kodom, šalje je web browseru koji vrši njeno čitanje i počinje da prezentira njen sadržaj klijentu na njegovom GUI-u. Web server ima određena pravila u pretraživanju dokumenata koje klijenti traže a koje kroz zahtjev dolaze od browser-a.

Page 2: Razvoj Web Aplikacija - 1 Dio

2

LOCIRANJE DOKUMENATA I FOLDERA NA WEB SERVERU Pretpostavićemo da ste upoznati sa organizacijom podataka na windows operativnom sistemu i da ste familijarni sa folderima i podfolderima, windows datotekama i windows sistemom označavanja diskova. Vjerovatno ste navikli da odredjenim vrstama dokumenata dodajete odgovarajuću vrstu postfix imena ukoliko to sam program u kojem se dokumenat formira već nije uradio umjesto Vas (word dokumenat ima nastavak doc ili docx, ASCII tekst dokumenat – txt, excel – xls ili xlsx). Za potrebe razvoja web aplikacija trebamo uvesti još nekoliko postfiks notacija za neke nove vrste datoteka koje će nam trebati npr: - php – za datoteke koje sadrže programe pisane u jeziku PHP, - html – za datoteke koje sadrže instrukcije za web stranice realizovane u HTML jeziku. Windows operativni sistem dodjeljuje slovnu oznaku svakom disk drive-u koji se nalazi na računaru. Ova slovna oznaka formira dio adrese za svaku datoteku koja se nalazi na konkretnom disku računara. Nažalost, ova adresna šema nije dovoljno dobra za internet okruženje koje se sastoji od miliona diskova koji pripadaju milionima računara razbacanih svuda po svijetu. Adresa koja bi počinjala u obliku D:\xxx bi referisala drugačiji disk na svakom od računara kojem bi korisnici pristupili. Umjesto oznaka zasnovanih na diskovima, internet se zasniva na IP (internet protocol) adresnoj šemi. Svaka IP adresa referencira specifičnu folder lokaciju na specifičnom disku koji je dodjeljen specifičnom računaru koji se ponaša kao web server negdje u svijetu. Svaka IP adresa je jedinstvena i stoga je nemoguće da jedna IP adresa referencira dvije različite lokacije. Primjer IP adrese je 128.30.52.31 a ona ukazuje na web site world wide web konzorcijuma koji razvija i publikuje standarde za web. Svakodnevno korišćenje brojeva kao akronima IP adrese a sa namjerom da se pristupi site-ovima određenih institucija koje su nam potrebne bi bilo jako zamorno. Stoga su uvedeni tzv Internet domeni imena koji pretstavljaju zamjenu za IP adrese. Za naš prethodni primjer, zamjena za one 4 cifre IP adrese je www.w3.org što pretstavlja ime domena za specificiranu IP adresu. Sada smo samo na korak od hijerarhije foldera na web serveru za čuvanje programerskih specifikacija. Internet adrese specifičnih datoteka ili foldera obično kombinuju ime domena, ime datoteke i opciono ime jednog ili više foldera koji ukazuju na lokaciju tražene datoteke u hijerarhiji foldera na web serveru. Npr www.w3.org/markup/guide/style.html ukazuje na web adresu dokumenta koji se zove style.html a koji je lociran u folderu guide (inače lociranom u folderu markup domena www.w3.org). Kompletan ovaj string – web adresa se naziva još i URL (Uniform Resource Locator). U slučaju da se dokumenat prenese na neki drugi web server, dovoljno je promjeniti samo IP adresu koja je sinonim za www.w3.org tako da se URL ne treba mjenjati.

RAD SA LOKALNIM WEB SERVEROM Web server nije neko čudovište od tehnike i za potrebe razvoja testne aplikacije se obično konfiguriše na istom računaru na kojem se razvija testna aplikacija. To znači da smo u mogućnosti da razvijemo web aplikaciju bez bilo kakvih zahtjeva za pristup internetu. Sva potrebna internet infrastruktura će se nalaziti na našoj razvojnoj stanici. Prema ovom scenariju, naš web server će djeliti računarske resurse sa klijentskim programom – web browserom. Da bi se tokom realizacije testne aplikacije fokusirali na suštinu njene funkcionalnosti i da se ne bi opterećivali ko i šta na web-u treba da radi, potrebno je da imate alat koji će pouzdano razrešavati sve zadatke koje ima realni web server i koji će u potpunosti pokrivati njegove funkcionalnosti. Iako će ovaj web server biti instaliran lokalno, on se nipočemu drugom neće razlikovati od bilo kog drugog web servera koji radi na Internetu. Ovaj lokalni web server će prihvatati zahtjeve od Vašeg web browsera, procesirati zahtjeve i vraćati odgovor klijentu. Vaši programi i datoteke će biti lokalno dostupni. Ukoliko programe i datoteke kasnije (poslije testiranja sa Vaše strane) kopirate na web server na internetu, Vaša aplikacija će se ponašati na potpuno istovjetan način. Na internetu postoji nekoliko alata koji u sebi integrišu funkcije web servera ali i drugih alata koji su vam neophodni za web razvoj (baze podataka – najčešće MySQL baze i programskog jezika PHP). Ovi alati su najčešće besplatni i jednostavno se instaliraju na radnu stanicu. Jedan od takvih alata je, npr. WampServer.

Page 3: Razvoj Web Aplikacija - 1 Dio

3

Tokom procesa instalacije npr. WampServera izvršiće se konfigurisanje Apache-a (kao jedne od njegove 3 komponente). Apache je program koji vrši funkciju web servera i on će na Vašem lokalnom računaru obavljati funkciju lokalnog web servera. IP adresa Vašeg lokalnog web servera će biti 127.0.0.1 a ime domena localhost. Ovo je specijalna ne-jedinstvena IP adresa i ime domena koji omogućuju da referencirate Vaš računar umjesto da se povezujete na internet. Ovim postupkom se uspostavlja veza izmedju loaclhost imena domena i apsolutne putanje do foldera u Windows operativnom sistemu koji pretstavljaju sinonim za localhost domen. To je najšečće putanja: C:\wamp\www. Ukoliko ste instalirali wempserver i ukoliko ukucate npr web adresu

http://localhost/Webtech/samples/myWeb1.php Vaš web server će u folderu Webtech/samples pokušati da otvori datoteku myWeb1.php. Pri tome se webtech folder treba nalaziti ispod c:\wamp\www jer je to localhost domen