uvod u veb programiranje

12
WWW (World Wide Web) WWW (World Wide Web) ili samo Veb predstavlja kolekciju ogromnog broja elektronskih dokumenata sačinjenih od povezanih veb stranica napisanih u HTML-u. Veb se sastoji od mnoštva klijenata i servera povezanih preko interneta. Da bi se Veb implementirao na internetu potrebne su dve glavne komponente: Veb pregledač (browser) i Veb server. Veb pregledač/pretraživač (web browser) je aplikacija koja služi za pribavljanje i prikazivanje veb stranica. Najpoznatiji veb pregledači: Google Chrome, Mozilla, Internet Explorer, Opera... Veb pregledač ima ulogu klijenta koji stupa u vezu sa odgovarajućim Veb serverom da bi dobio primerak navedene stranice. Pregledač pribavlja traženu stranicu, interpretira tekst zajedno sa sadržanim komandama za formatiranje, i prikazuje ga na ekranu monitora. Kako se na Vebu nalazi ogroman broj elektronskih dokumenata (veb stranica), neophodno je organizovati i odgovarajući pristup stranici. Za imenovanje (adresiranje) stranica koristi se šema poznata pod nazivom URL (Uniform Resource Locator – jedinstveni lokator resursa). Tipičan primer URL – a: http://www.etsmijastanimirovic.edu.rs/index.html - http (HyperText Transfer Protocol) - naziv protokola pomoću koga računari komuniciraju na Internetu - www. etsmijastanimirovic.edu.rs simboličko (DNS) ime računara kome se pristupa - /index.htmlime datoteke koja sadrži stranicu Postupak preuzimanja stranice sa servera i prikazivanje u browseru prikazan je na sledećem primeru: Pretraživač se obraća DNS serveru tražeći od njega IP adresu hosta www.etsmijastanimirovic.edu.rs DNS server odgovara sa 194.9.93.213 Pretraživač uspostavlja TCP konekciju sa hostom 194.9.93.213 na portu 80. Preko otvorene TCP konekcije, pretraživač šalje zahtev tražeći fajl index.html. Server www.etsmijastanimirovic.edu.rs odgovara slanjem fajla index.html. TCP konekcija se zatvara. Pretraživač prikazuje tekst sadržan u fajlu /home/index.html. Pretraživač pribavlja i prikazuje sve slike iz ovog fajla.

Upload: degoranstat

Post on 03-Feb-2016

60 views

Category:

Documents


1 download

DESCRIPTION

Uvod u Veb Programiranje

TRANSCRIPT

Page 1: Uvod u Veb Programiranje

WWW (World Wide Web) WWW (World Wide Web) ili samo Veb predstavlja kolekciju ogromnog broja elektronskih dokumenata sačinjenih od povezanih veb stranica napisanih u HTML-u.

Veb se sastoji od mnoštva klijenata i servera povezanih preko interneta.

Da bi se Veb implementirao na internetu potrebne su dve glavne komponente: Veb pregledač (browser) i Veb server.

Veb pregledač/pretraživač (web browser) je aplikacija koja služi za pribavljanje i prikazivanje veb stranica. Najpoznatiji veb pregledači: Google Chrome, Mozilla, Internet Explorer, Opera...

Veb pregledač ima ulogu klijenta koji stupa u vezu sa odgovarajućim Veb serverom da bi dobio primerak navedene stranice. Pregledač pribavlja traženu stranicu, interpretira tekst zajedno sa sadržanim komandama za formatiranje, i prikazuje ga na ekranu monitora.

Kako se na Vebu nalazi ogroman broj elektronskih dokumenata (veb stranica), neophodno je organizovati i odgovarajući pristup stranici.

Za imenovanje (adresiranje) stranica koristi se šema poznata pod nazivom URL (Uniform Resource Locator – jedinstveni lokator resursa).

Tipičan primer URL – a:

http://www.etsmijastanimirovic.edu.rs/index.html - http (HyperText Transfer Protocol) - naziv protokola pomoću koga računari komuniciraju na Internetu - www. etsmijastanimirovic.edu.rs – simboličko (DNS) ime računara kome se pristupa - /index.html– ime datoteke koja sadrži stranicu

Postupak preuzimanja stranice sa servera i prikazivanje u browseru prikazan je na sledećem primeru: • Pretraživač se obraća DNS serveru tražeći od njega IP adresu hosta

www.etsmijastanimirovic.edu.rs • DNS server odgovara sa 194.9.93.213 • Pretraživač uspostavlja TCP konekciju sa hostom 194.9.93.213 na portu 80. • Preko otvorene TCP konekcije, pretraživač šalje zahtev tražeći fajl index.html. • Server www.etsmijastanimirovic.edu.rs odgovara slanjem fajla index.html. • TCP konekcija se zatvara. • Pretraživač prikazuje tekst sadržan u fajlu /home/index.html. • Pretraživač pribavlja i prikazuje sve slike iz ovog fajla.

Page 2: Uvod u Veb Programiranje

IP adresa je jedinstven broj koji koriste računari u medjusobnoj komunikaciji putem interneta uz korišćenje internet protokola. Primer IP adrese je 207.145.125.24. Konvertovanje ovih brojeva, koji su laki za komunikaciju računara ali ne i za ljude, u simboličke adrese (npr www.wikipedia.org) vrši se putem DNS-a.

DNS – Domain Name System je sistem u kome se nalaze informacije o povezanosti IP adresa i njihovih logičkih simboličkih imena. To je u stvari jedna baza podataka u kojoj su upisana sva imena računara (host name) i njihove odgovarajuće IP adrese.

TCP (Transmission Control Protocol) je jedan od osnovnih protokola na internetu. TCP podržava neke od najčešće korištenih aplikacijskih protokola kao što su HTTP (protokol za pregled veb stranica), SMTP (protokol za razmenu elektronske pošte), SSH (protokol za udaljeni rad na računaru) i brojne druge.

Da bi bio u mogućnosti da prikaže stranicu, veb pregledač mora da razume njen format. Kako bi se obezbedilo da svi veb pregledači razumeju sve veb stranice, one se pišu u standardnom jeziku koji se zove HTML. U osnovi veb pregledači su HTML interpretatori (prevode i realizuju tag po tag). Međutim, veb stranice ne sadrže samo HTML. Stranica se može sastojati od dokumenta formatiranog u PDF formatu, ikone u GIF formatu, fotografije u JPEG formatu, muzike u MP3 formatu, videa u MPEG formatu, odnosno bilo kojeg sadržaja u jednom od stotina različitih tipova fajlova i formata. Pregledač mora biti u stanju da prepozna i pravilno interpretira sve ove formate. Međutim, umesto neprekidnog proširivanja i prilagođenja interpretatora sve obimnijem skupu različitih tipova fajlova, kod većine pregledača koristi se jedno opštije rešenje. Kada server vrati stranici, on zajedno sa stranicom šalje i dodatne informacije o stranici, kao što je MIME tip stranice. Stranice tipa text/html se prikazuju direktno, a to važi i za još nekoliko drugih ugrađenih tipova. Međutim, ako MIME tip stranice nije jedan od ugrađenih, pregledač konsultuje svoju tabelu MIME tipova u kojoj pronalazi informaciju o tome kako prikazati stranicu datog tipa. Ova tabela pridružuje MIME tip odgovarajućem programu za prikazivanje.

Postoje dve mogućnosti: plug-in-ovi (dodaci programu) i pomoćne aplikacije.

• Plug-in je programski modul kojeg pregledač dobavlja iz jednog posebnog direktorijuma na hard disku i instalira kao svoje sopstveno, privremeno proširenje. Plug-in nije program za sebe, već se izvršava kao deo pregledača i na taj način ima pravo pristupa tekućoj stranici i može je procesirati. Nakon što je plug-in obavio svoj zadatak, on se odstranjuje iz memorije pretraživača.

• Drugi način za proširenje pretraživača je zasnovan na pomoćnim aplikacijama. Pomoćne

aplikacije su kompletni programi koji se izvršavaju nezavisno od pregledača. Pošto se radi o zasebnom programu, komunikacija između pregledača i pomoćne aplikacije se ne ostvaruje putem interfejsa. Obično, pomoćnoj aplikaciji se prilikom pokretanja prosleđuje ime fajla u koji je smešten sadržaj koji treba obraditi. Pomoćna aplikacija otvara naznačeni fajl i prikazuje njegov sadržaj. Tipično, pomoćne aplikacije su obimni programi koji egzistiraju nezavisno od pretraživača, kao što je Adobe Acrobat Reader, program za prikazivanje PDF fajlova, ili Microsoft Word.

ProgramPretraživača

Pretraživač

Interfejs pretraživača(koristi ga plug-in)

Interfejs plug-in-a(koristi ga pretraživač)

plug-in

Pretraživač se izvršava kao jedan proces

Klijetski računar

Page 3: Uvod u Veb Programiranje

Većina pomoćnih aplikacija koristi MIME tip application. Definisan je veliki broj podtipova. Na primer, application/pdf za PDF fajlove ili application/msword za Word fajlove. Na ovaj način URL može direktno da ukazuje na PDF ili Word fajl (npr. http://etsmijastanimirovic.edu.rs/Materijal/lab1.pdf), a kada korisnik klinke na URL, Acrobat ili Word se automatski startuje i preuzima na sebe obradu preuzetog fajla. Na ovaj način, pregledač može biti konfigurisan za praktično neograničeni broj tipova dokumenata, a da to, slično kao kod plug-in-ova, ne zahteva bilo kakve promene u samom pregledaču. Veb pregledač na računaru tipičnog korisnika konfigurisan je sa tipično više desetina kombinacija tip/podtip, a novi tipovi i podtipovi se obično dodaju uvek kada se instalira neki novi program. Naime, u Windows sistemu, program koji se instalira na računar ujedno i registruje MIME tipove koje želi da obrađuje. Međutim, ovakav mehanizam vodi do koflikta kada u sistemu postoji više prikazivača za isti MIME podtip (npr. video/mpg). U takvim situacijama, poslednji program koji je registrovan prepisuje postojeću asocijaciju ˝MIME tip - pomoćna aplikacija˝ i dati MIME tip/podtip vezuje za sebe. Zbog toga, instalacija novog programa može kao posledicu imati promenu načina na koji pregledač obrađuje postojeće tipove dokumenata.

Mogućnost proširenja pregledača velikim brojem novih tipova značajno olakšava korišćenje Veb-a, ali sa druge strane, može da dovede i do problema koji se tiču sigurnosti. Na primer, kada pregledač pribavlja fajl sa nastavkom .exe, on zaključuje da se radi o izvršnom programa kome zbog toga nije potreba pomoćna aplikacija. Normalna akcija u ovakvoj situaciji je pokretanje preuzetog programa. Međutim, to može biti ozbiljna pretnja sigurnosti sistema jer preuzeti program može sadržati virus. Da bi se predupredile ovakve situacije, pregledač može biti podešen da ne startuje automatski nepoznate programe ili da konsultuje korisnika pre nego što pokrene preuzeti program.

Serveri su računarski sistemi koji pružaju usluge drugim računarskim sistemima (klijentima).

Tip mreže na veb-u je klijent – server arhitektura. Kod ovog tipa mreže, klijenti od servera dobijaju podatke koje zatim kasnije koriste u lokalnom procesu obrade. Klijentska strana zahteva uslugu, serverska čeka na zahtev i isporučuje odgovor.

Na internetu postoje nekoliko vrsta servera: - veb serveri (serveri na kome su smeštene veb stranice) - fajl serveri (serveri na kome se smeštaju fajlovi bilo kakve vrste) - mail serveri (server elektronske pošte)...

Veb server ima statičku IP adresu i prilikom pristupa klijenta serveru konekcija se uspostavlja preko porta 80 (veb port) npr: 194.19.93.213:80

Veb server prilikom komunikacije sa klijentom: - prihvata TCP (Transmission Control Protocol) konekciju od klijenta - preuzima ime zahtevanog fajla - pronalazi fajl na svom hard disku - šalje fajl klijentu - zatvara TCP konekciju

Koristi se URL za označavanje tražene stranice.

Zadaci veb servera su: - Optimalno upravljanje zajedničkim resursima, što su najčešće podaci - Upravljanje bazom podataka kojom pristupa više korisnika

ava

Pretraživač

Klijetski računar

Pomoćna aplikacija

Proces 1 Proces 2

Page 4: Uvod u Veb Programiranje

- Kontrola pristupa i bezbednosti podataka

Svaki zahtev upućen od strane klijenta podrazumeva pristup hard disku radi uzimanja traženog fajla.

Broj opsluženih zahteva zavisi od vremena pristupa hard disku: - za vreme pristupa hard disku od 5ms, najviše 200 zahteva/s (to je isuviše malo za velike veb sajtove sa mnogo pristupa)

Rešenje problema je u:

- povećanju broja hard diskova na serveru

- korišćenju keš-a operativne memorije servera (u operativnoj memoriji se kreira keš sa najskorije korišćenim fajlovima. Ukoliko je traženi fajl u kešu, onda se ne mora pristupati hard disku, već se može odmah koristiti)

U osnovi, Veb ne koristi koncept stanja. (Kaže se da je Veb stateless (bez stanja) ili bez memorije). Kod Veb-a ne postoji sesija. Pregledač šalje zahtev, a server vraća nazad fajl. Nakon obavljene transakcije, server ˝zaboravlja˝ da je ikada komunicirao sa tim konkretnim klijentom.

U prvom periodu razvoja Veb-a, kada se Veb gotovo isključivo koristio za pribavljanje javno dostupnih dokumenata, ovakav (stateless) način rada bio je u potpunosti zadovoljavajući. Međutim, sa naglim širenjem Veb-a i porastom njegove popularnosti, model zasnovan na nezavisnim transakcijama više nije mogao da zadovolji sve potrebe novih primena. Na primer, neki Veb sajtovi zahtevaju od korisnika da se registruju pre nego što im se dozvoli korišćenje dostupnih usluga sajta. Postavlja se pitanje, kako će Veb server znati da li zahtev potiče od registrovanog ili neregistrovanog korisnika, pa da na osnovu toga dozvoli ili zabrani pristup nekim svojim stranicama. Drugi primer su Veb portali (npr. Yahoo) kod kojih svaki korisnik može da konfiguriše sadržaj početne stranice birajući informacije koje će biti prikazane uvek kada učita stranicu (npr. vremenska prognoza, kurs, sportski rezultati...). Međutim, kako će Veb server znati kako da prilagodi stranicu korisniku, ako ne zna koji korisnik je uputio zahtev.

Na prvi pogled, čini se da je dovoljno da server vodi evidenciju o IP adresama sa kojih se upućuju zahtevi za stranicama. Međutim, ova ideja nije dobra. Pre svega, mnogi korisnici koriste računare koje dele sa drugim korisnicima. IP adresa može da identifikuje računar, ali ne i korisnika koji trenutno radi na računaru. Drugo, mnogi korisnici (pre svega kućni) Internetu pristupaju putem provajdera Internet usluga (npr. pomoću modema) od kojih, nakon konektovanja, dobijaju IP adresu na privremeno korišćenje, koja ne mora biti ista kao IP adresa koju su koristili prilikom prethodnog konektovanja.

Da bi se opisani problem rešio, razvijena je tehnika pod nazivom cookies (kolačići). Kada klijent zahteva Veb stranicu, server može, zajedno sa traženom stranicom, da mu doturi i dodatne informacije, koje između ostalog mogu sadržati i cookie - mali (najviše 4KB) fajl (ili string).

Jedan mogući scenario korišćenja cookie-ja je sledeći. Prilikom prve posete sajtu za on-line prodaju knjiga, od korisnika se zahteva da se registruje, tako što će navesti svoje korisničko ime i izabere jednu ili više oblasti za koje je zainteresovan (tehnika, beletristika, ).. Nakon obavljene registracije, server upisuje unete podatke u svoju bazu podataka, a onda kreira cookie sa sadržajem login=korisničko_ime i šalje ga klijentu. Pregledač izdvaja cookie iz odgovora i smešta ga u odgovarajući direktorijum. Kad god kasnije korisnik pristupi ovom sajtu, pregledač zajedno sa zahtevom šalje serveru i odgovarajući cookie. Na osnovu sadržaja cookie-a, server saznaje ime korisnika i koristi ga kao ključ za pretragu baze podataka iz koje čita i ostale podatke tog korisnika. Na osnovu ovih podataka, Veb server kreira, i vraća nazad stranicu koja sadrži spisak novih knjiga iz oblasti za koje je korisnik zainteresovan.

Page 5: Uvod u Veb Programiranje

Prilikom posete nekom sajtu osim kolačića glavnog sajta, na računaru se mogu zapisivati i kolačići neke treće strane (Third Party Cookies). To su zapisi banera, reklama... na tom sajtu. Oni mogu biti štetni i moguće je blokirati zapise tih kolačića.

Statičke i dinamičke Veb stranice

U svom najjednostavnijem obliku veb stranice su statičke. Statička veb strana se sastoji od HTML koda i koja je upamćena sa ekstenzijom .htm ili .html. Ovakve strane se nalaze na veb serveru, i kada neki korisnik zahteva da vidi njen sadržaj, ona se šalje preko Interneta i prikazuje u veb pregledaču.

Postupak razmene statičkih veb stranica između servera i klijenta se izvršava na sledeći način:

1. Veb autor je kreirao stranu koja se sastoji od HTML koda i stavio je na Veb server. 2. Kasnije, korisnici kreiraju zahtev (klikom na link, ukucavanjem adrese u adresnu liniju Veb

pregledača, i slično) da vide Veb stranu. Zahtev se prosleđuje od klijenta (Veb pregledača) do Veb servera, na kojem se nalazi zahtevana strana.

3. Veb server pronalazi stranu. 4. Veb server šalje pronađenu stranu Veb pregledaču. 5. Na kraju Veb pregledač obrađuje dobijeni HTML kod i prikazuje uredno formatiranu stranicu

sa svim elementima (slikama, linkovima, tabelama, …).

Slika 1 Razmena statičkih stranica između klijenta i servera

Statičke veb strane je veoma jednostavno kreirati, međutim, one imaju neka ograničenja: - ne mogu pristupati bazama podataka, - ne mogu slati određeni sadržaj u zavisnosti od akcija korisnika, - ne mogu slati personalizovan sadržaj pojedinačnim korisnicima.

Ova ograničenja se mogu prevazići korišćenjem dinamičkih Veb strana.

Dinamička Veb strana se kreira korišćenjem nekog programskog jezika (php, asp...) i izvršava na Veb serveru. Rezultat ovog izvršavanja predstavlja HTML kod, koji se šalje Veb pretraživaču. Znači, strana je dinamički generisana na Veb serveru, a na osnovu zahteva korisnika. Ekstenzija dinamičkih Veb stranica je .php, .aspx...

Kod dinamičkih Veb strana, proces je sledeći:

1. Veb autor je kreirao stranu, koja se sastoji od serverskih kontrola i instrukcija u nekom programskom jeziku, i stavio je na Veb server.

Page 6: Uvod u Veb Programiranje

2. Kasnije, korisnici kreiraju zahtev da vide kreiranu Veb stranu. Zahtev se prosleđuje od klijenta (Veb pregledača) do Veb servera, na kojem se nalazi zahtevana strana.

3. Veb server pronalazi dinamičku Veb stranu. 4. Veb server izvršava programski kod, koji je sastavni deo strane i kreira HTML kod. 5. Veb server šalje preko Internata generisani HTML kod Veb pregledaču. 6. Na kraju Veb pregledač obrađuje dobijeni HTML kod i prikazuje stranicu sa svim elementima.

Slika 2 Razmena dinamičkih stranica između klijenta i servera

Izvršavanje koda na serveru daje velike mogućnosti. Na primer, moguće je pristupati bazama podataka ili kreirati sadržaj prilagođen određenom korisniku.

Podela Veb programskih jezika

Programiranje za veb se može podeliti u dve osnovne velike grupe: klijentsko i serversko. Klijentske tehnologije su one koje se izvršavaju na klijentskoj strani, tj. u veb pregledaču. Programi koji se izvršavaju na serveru su serverske aplikacije. Svakoj tehnologiji pripada određeno mesto i primena, ali je njihovo kombinovanje najbolje rešenje. Klijentsko programiranje Programi koji se izvršavaju na klijentskoj strani su mnogo brži od programa na serverskoj strani (nije potrebno prenositi podatke preko mreže da bi se video rezultat akcije)

Nedostatak kontrole rada programa koji se izvršavaju na klijentskoj strani: - koji će čitač korisnici koristiti - koja će svojstva čitača biti uključena - postoje korisnici koji isključuju podršku za skriptove

JavaScript i VBScript su najpoznatiji klijentski skript jezici. JavaScript je skript jezik kojim veb dizajneri mogu da automatizuju postupke unutar veb stranice. JavaScript se ugrađuje u HTML stranice – koristi se isti alat kao i za izradu HTML stranice. JavaScript iskazi postavljaju se između oznaka <script> i </script> koji će ukazati Veb čitaču da izvrši JavaScript iskaze umesto da prikaže tekst na ekranu.

VBScript je razvio Microsoft po modelu Visual Basic-a za različita Microsoft okruženja. ActiveX – je Microsoftova tehnologija za izradu malih komponenti (kontrola) u okviru veb strane – nije programski jezik, već mnoštvo integrisanih objekata napisanih na različitim jezicima u Windows okruženju.

Page 7: Uvod u Veb Programiranje

Java apleti – mali programi pisani na jeziku Java, koji se preuzimaju i izvršavaju u samom čitaču proširujući njegove mogućnosti. Za razliku od ActiveX koji može raditi samo na Windows operativnim sistemima, Java apleti se mogu izvršavati na svim operativnim sistemima. Java apleti nisu samostalni izvršni programi – oni se pokreću u okviru veb čitača.

Serverski programski jezici

Programiranje koje se izvršava na serverskoj strani može biti realizovano na više načina (u zavisnosti od vrste Veb servera).

Veb serveri su računarski sistemi koji osim odgovarajućeg hardvera sadrže i softver koji omogućava njihovu funkciju. Moraju imati neki tip serverskih operativnih sistema (Linux, Solaris, Windows server...) i odgovarajući softver.

Svaki server pokreće softver poznat kao HTTP server - Internet Information Services IIS (podržava Windows OS) - Apache (podržava sve operativne sisteme)

Slika 3 Zastupljenost HTTP servera u svetu

Postoje više tipova serverskih programskih jezika:

CGI (Common Gateway Interface) – opšti interfejs pristupa. Predstavlja standardizovani interfejs koji omogućava Veb serveru da komunicira sa aplikacijama servera Ovo je zastareli pristup serverskog programiranja PHP - programski jezik otvorenog tipa (open source) - orjentisan je za spregu između veb servera i baze podataka - posebno je projektovan za rad sa Apache-ovim serverom koji je takođe open source JSP (JavaServer Page)- sličan PHP-u samo što se dinamički deo stranice piše u programskom jeziku Java. Stranice koje koriste ovu tehniku imaju nastavak .jsp ASP (Active Server Page) – Microsoftova verzija PHP-a i JSP- a. Za generisanje dinamičkih strana koristi se skript jezik VBScript. Stranice koje koriste ASP imaju nastavak .asp Microsoft ASP.net – nadogradnja ASP koja se oslanja na .net tehnologiju

Page 8: Uvod u Veb Programiranje

Klijent LAN Proksi Globalni Internet

Web server

Web server

Web server

Keš

Veb Hosting Da bi korisnici mogli videti neku veb stranicu ona mora biti objavljena, odnosno veb stranice moraju biti smeštene na veb server. Vaš PC može poslužiti kao server ako je spojen na mrežu, ali uobičajeno je da taj zadatak za vas obavi specijalizirani hosting provajder koji će vaš veb sajt smestiti na svoj veb server i tako će on postati dostupan svim korisnicima u svakom trenutku. Ova usluga se zove veb hosting.

Postoje nekoliko rešenja za objavljivanje Veb sajtova na internetu:

- Deljeni server (shared hosting) - Virtuelni privatni serveri (VPS) - Udomljavanje servera (server housing)

Deljeni server (shared hosting)

Jedna od najjeftinijih a samim tim i najpopularnijih opcija objavljivanja sajtova na internetu. Korisnik ne mora da brine o administraciji i održavanju servera. Više sajtova se isporučuje sa istog servera. Nedostatak – ograničena količina resursa. Za svakog korisnika se definišu ograničenja za upotrebu centralnog procesora, radne memorije, brzina prenosa, količina prenetih podataka... Nizak nivo bezbednosti aplikacije i podataka (više sajtova koristi isti server)

Virtualni privatni serveri (VPS)

Naprednija varijanta deljenog servera. Korisnici zakupljuju jednu ili više virtualnih mašina na kojima će se čuvati i izvršavati njihovi veb sajtovi. Viši nivo zaštite. Garantovan nivo resursa Mogućnost podešavanja servera Cena je i 10x skuplja Korisnik sam administrira i pravi kopije sajta

Udomljavanje servera (server housing)

Korisnik sam obezbeđuje hardver servera, na njega instalira željeni softver i postavlja Veb sajt, a zatim takav server odnosi do Internet provajdera Provajder server odnosi u serversku salu i priključuje na Internet U serverskoj sali ima potrebne uslove (temperatura, vlažnost vazduha, neprekidan rad...) Održavanje servera je zadatak samog korisnika. Proksi serveri (Proxy server)

Veb klijent i Veb server komuniciraju razmenom HTTP poruka preko interneta. Komunikacija klijent – server se može ostvariti i posredstvom jednog ili više među-servera. Proxy – posrednik između lokalnih korisnika i Veb-a.

Omogućavaju optimizaciju kojom se smanjuje čekanje klijenata na pribavljanje zahtevanih stranica. Kada prvi korisnik pristupi određenoj stranici, Proxy pribavlja kopiju te stranice i ostavlja je u kešu. Sledeći put kada neki korisnik iste mreže zatraži tu stranicu, Proxy uzima podatke iz svog keša i ne šalje zahtev preko interneta. Stranice koje se keširaju moraju se stalno proveravati da nije došlo do izmena. Mogu se keširati samo statički dokumenti.

Page 9: Uvod u Veb Programiranje

.NET (DOT NET) i .NET FRAMEWORK

.NET je naziv koji je Microsoft dao svojoj opštoj viziji budućeg računarstva zamišljenog tako da se većina aplikacija pokreće preko interneta. .NET FRAMEWORK je softverska platforma i temelj .NET-a koja obezbeđuje usluge potrebne za razvoj i izvršenje aplikacija u internet okruženju. Aktuelna verzija je .NET FRAMEWORK 4.5 koju koristi Visual Studio 2012 a sastavni je deo operativnog sistema Windows 8 i Windows Server 2012. .NET FRAMEWORK sadrži veliku biblioteku gotovih kodova za uobičajene probleme u programiranju.

Biblioteke klasa (Framework Class Library) se koriste od strane programera, koji ga kombinuju sa svojim kodom za izradu aplikacija. Programi pisani za .NET FRAMEWORK izvršavaju se u specifičnom softverskom okruženju Common Language Runtime (CLR).

Zajedničko izvršno okruženje (Common Language Runtime - CLR) upravlja izvršavanjem koda koji se kompajlira na .NET platformi.

CLR podržava zvanično pet .net jezika: Visual C++, C#, VB, JScript.net, J# a pruža podršku za više od 20 drugih programskih jezika uključujući Cobol, Perl, Python.... CLR obezbeđuje izgled virtuelne mašine tako da programeri ne treba da razmatraju mogućnosti specifičnih procesora koji će izvršavati program i može se primeniti na platformama koje nisu Windows.

Biblioteke klasa i CLR zajedno čine .NET FRAMEWORK

Imenski prostor (namespace) predstavlja skup povezanih klasa određenih imenom. Imenski prostor eliminiše potrebu za posebnim imenima koja po pravilu znače uvođenje raznih prefiksa po kojima će se imena razlikovati od bilo kog drugog. Preporuka je da se svaka klasa definiše u određenom imenskom prostoru. Za izradu imenskog prostora koristi se rezervisana reč namespace iza koje sledi ime.

Rezervisana reč using se koristi za uključivanje imenskih prostora neophodnih za izvršenje aplikacije. Na primer, imenski prostor System uključuje se naredbom using System;

.NET FRAMEWORK sadrži veliki broj ugrađenih imenskih prostora (System, System.Web, System.Linq, System.Web.UI, System.Web.UI.WebControls... ) koji omogućavaju programerima jednostavnije pisanje aplikacija.

Page 10: Uvod u Veb Programiranje

Upoznavanje sa razvojnim alatom - Visual Studio

Visual Studio je vizuelni razvojni alat koji podržava izradu konzolnih aplikacija, Windows aplikacija, DLL-ova, veb aplikacija i XML veb servisa. To je takođe i integrisano razvojno okruženje (engl. Integrated Development Enviroment, IDE) za izradu aplikacija.

Jedna od njegovih prednosti je lako i jednostavno korišćenje, što znači da izrađuje kostur aplikacija umesto korisnika, oslobađajući ga od tog posla i od učenja kako se to radi. Osim toga, sadrži i tehniku automatske dopune teksta (IntelliSense).

Microsoft Visual Web Developer 2010.

Microsoft Visual Web Developer 2010 predstavlja deo razvojenog alata Visual Studio i koristi se za razvoj veb aplikacija. Pokretanje okruženja se vrši kroz glavni meni: Start → All Programs→ Microsoft Visual Studio 2010 → Microsoft Visual Web Developer 2010. Nakon ovoga se otvara početna strana koja je prikazana na sledećoj slici:

Početna strana u svom centralnom delu sadrži listu linkova ka resursima koji se nalaze na internetu. Ona takođe sadrži i linkove ka poslednje realizovanim projektima u razvojnom okruženju. Ukoliko želimo da ponovo otvorimo ovu stranicu nakon što smo je zatvorili potrebno je iz menija odabrati View → Start Page.

Da bi se kreirao novi projekat iz menija treba odabrati File → New Project. U prozoru koji se nakon toga otvara u delu Installed Templates bira se Visual C#, a u centralnom prozoru biramo ASP.NET Empty Web Application. U polju Name upisuje se ime novog projekta i u polju Location biramo folder u kome se smeštaju svi projektni fajlovi. Na kraju potvrđujemo odabir klikom na taster OK. Prozor za kreiranje novog projekta je prikazan na sledećoj slici:

Na ovaj način je kreiran novi prazan projekat.

Dodavanje stranica projektu se može izvršiti na sledeći način. Desnim klikom miša na ime projekta u Solution Exploreru, i zatim Add → New Item. Od ponuđenih instaliranih Visual Studio šablona izaberete Web Form. U prostoru Name upišete ime stranice (početna stranica veb aplikacije mora biti default.aspx). Ukoliko želimo jednostavnu HTML stranicu izabraćemo iz šablona HTML page. Solution Explorer je prozor u Visual Web Developeru koji omogućava pristup svim fajlovima tog projekta.

Nakon kreiranja nove stranice, u centralnom prozoru otvoriće se stranica sa pogledom na kod (source) i dodaće se u folderu projekta u Solution Exploreru. Kada se u Visual Web Developeru kreira novi projekat, onda se prvo napravi Solution. To je prostor na disku koji je Visual Web Developer rezervisao za sve fajlove vezane za projekat. Tu se smeštaju programi, različite dinamičke biblioteke (dll), fajlovi koji se ne pokreću ali su deo projekta. Još je važno reći da je svaki od ovih fajlova, projekata i Assembly. Assembly se smatra fizičkim kodom. Kada napravite neki projekat u C#, vi zapravo imate fajlove, fizičke kodove u tom jeziku i to se smešta u folder koji se naziva Assembly.

Razvojno okruženje Visual Studio sadrži i puno opcija za jednostavno kreiranje aplikacija.

Page 11: Uvod u Veb Programiranje

Toolbox sadrži ikone koje predstavljaju kontrole koje se koriste da bi prilagodili formu. Koristeći vizuelno programiranje moguće je prevlačiti kontrole na formu (drag and drop) što je jednostavnije i brže nego da se kreiraju pomoću GUI koda. On sadrži preko 65 predefinisanih kontrola koje se mogu koristiti u Visual Studio-u. Ukoliko ovaj prozor nije prikazan iz menija se bira View → Toolbox ili View → Other Window → Toolbox.

Properties prozor prikazuje osobine trenutno selektovane forme, kontrole ili fajla u dizajn pogledu. On prikazuje informacije o formi ili kontroli kao što su veličina, boja, pozicija, ... Svaka forma ili kontrola ima svoj skup osobina. Opis osobine je prikazan pri dnu prozora kad god se neka osobina selektuje. Ukoliko ovaj prozor nije prikazan treba iz menija odabrati View → Properties Window ili View → Other Window → Properties Window.

Programski jezik C# i Visual Studio IDE (Integrated Development Enviroment - integrisano razvojno okruženje) omogućavaju brz razvoj aplikacija. IDE predstavlja program koji omogućava izmene koda, upravljanje fajlovima i projektima. Oni omogućavaju:

- Brzo kreiranje aplikacija - Visual Studio IDE odrađuje dosta posla automatski. Kada se radi u ovom okruženju, može se prepustiti svakodnevno kodiranje samom okruženju, dok se programeri mogu fokusirati na suštinu šta dati program treba da postigne

- Kreiranje korisničkog interfejsa - Form Designer koji se nalazi u sklopu Visual Studio-a predstavlja alat za dizajniranje koji se veoma lako koristi. Mogu se kreirati profesionalne aplikacije bez potreba da se provedu sati na kreiranju grafičkog korisničkog interfejsa

- Kreiranje baze i interakcija sa bazom - Visual Studio uključuje jednostavan interfejs za kreiranje baze koji se lako integriše sa SQL Server Express bazom, kao i sa drugim popularnim bazama podataka

- Fokusiranje na rešavanje pravih problema - IDE radi dosta posla automatski, ali programeri i dalje imaju kontrolu nad aplikacijom koja se kreira. IDE samo omogućava programerima da se fokusiraju na program, posao i klijente.

Prednost Visual Studio IDE-a je u tome što predstavlja odličnu početnu tačku za kreiranje aplikacija. On se može predstaviti kao napredni fajl editor. IDE automatski radi uvlačenje koda, menja boju ključnih reči, uparuje zagrade i čak predlaže koja bi sledeća reč mogla biti.

Page 12: Uvod u Veb Programiranje