Razvoj WEB aplikacija – I dio

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.

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.

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 localhost 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 wampserver 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

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s