DINAMIKE WEB STRANICE Web stranice se dijele na
DINAMIČKE WEB STRANICE
Web stranice se dijele na: • Statičke web sadržaje • Dinamičke web sadržaje
Statički web sadržaji • Statički web sadržaji su datoteke koje su unaprijed smještene u odgovarajući direktorijum fajl-sistema web servera i spremne su za isporuku klijentima po njihovom zahtjevu. Klijent zahtjeva fajl HTTP server HTTP klijent Sever učitava fajl iz fajl sistema i šalje ga klijentu
Dinamički Web sadržaji • Dinamičke stranice su ugrađeni programi (ugrađene skripte ili postoji povezanost s nekom pozadinskom aplikacijom ili bazom podataka) koji omogućavaju automatske promjene nekih podataka na stranicama bez intervencije autora stranice. • Dinamičke stranice web sajta su stranice koje imaju sposobnost da se mijenjaju same na osnovu podataka i upita koje primaju od korisnika koji gleda web sajt. Klijent zahtjeva fajl HTTP server HTTP klijent server generiše fajl i šalje ga klijentu; ne snima ga u svoj fajl-sistem
• Potreba za svakodnevnim promjenama sadržaja na internetu dovela je do razvoja složenijih internet tehnologija koje omogućavaju dinamične web aplikacije. • Dinamički sadržaji omogućavaju da korisnik može da izmijeni određen sadržaj nap. različita kupovina, prijava na određeni sajt, izmjena podataka o proizvodima koju vrši kompanija. . . • Postupak izrade dinamičke web je stranice složen i dugotrajan, jer se mora voditi računa o mnogim parametrima. • Koriste se najčešće prilikom izrade zahtjevnijih web sajtova koji moraju da budu apsolutno prilagođeni zahtjevima korisnika koji pregleda web sajt. • Takođe se koriste za povezivanje sa bazom podataka i njenom manipulacijom. Nezaobilazne su u izradi online web prodavnica.
HTTP komunikacija • Komunikacija između klijenta i servera zasnovana na zahtijev/odgovor principu. • Svaki par zahtijev/odgovor smatra se nezavisnim od ostalih. – U slučaju da prvi klijent pošalje zahtijev serveru i dobije odgovor, zatim drugi klijent pošalje zahtijev i dobije odgovor, pa potom ponovo prvi klijent pošalje novi zahtijev, nema načina da se ustanovi da je prvi klijent poslao dva zahtijeva (prvi i treći). • Server svaki zahtijev opslužuje nezavisno od ostalih zahteva.
Praćenje sesije korisnika • HTTP protokol ne omogućava praćenje sesije korisnika. • Kako bi se ovaj cilj ipak postigao definisano je pomoćno rešenje - mehanizam slanja “kolačića” (cookies) između klijenta i servera • Uveo ga je Netscape Navigator, a kasnije je postao standardni mehanizam podržan od strane svih web browsera i servera. • Cookie - možemo ga shvatiti kao string od tipično 20 -30 znakova koji je namijenjen za jednoznačno identifikovanje korisnika na serveru.
• Prilikom slanja prvog zahtijeva server će ustanoviti da mu klijent nije poslao cookie kao jednu stavku u zaglavlju zahtijeva. • U odgovor na taj zahtijev server će dodati cookie. • Ukoliko je Web čitač podešen tako da radi sa cookie-ima, on će u svim sljedećim zahtevima koje bude slao tom serveru uključiti i cookie, tako da će server moći da prepozna klijenta koga je već ranije opsluživao. • Glavna svrha kolačića jeste da sačuva informacije. Uglavnom se koriste za čuvanje korisničkog imena i lozinke – korisnik ne mora da ih unosi svaki put kada pristupi lokaciji • Mogu se koristiti za čuvanje svih podešavanja koja je korisnik zadao kada je poslednji put pristupao lokaciji
Arhitektura mreže Nakon pažljive analize prilikom izrade sajta, neophodno je doneti odluku o arhitekturi sistema, na kojoj će se sajt instalirati. • Odluka mora biti donijeta na osnovu trenutnih potreba i budućeg razvoja. – za jednostavne statičke web aplikacije dovoljni su klijenti i server, – za dinamičke i poslovne aplikacije potrebne su najmanje tri komponente: klijenti, web server i aplikacioni server. • Odabir arhitekture zavisi od: – – broja korisnika i računara na mreži, vrsta razvojnih okruženja i programskih alata, modela i obima baze podataka, složenosti programskih procedura.
Web aplikacije su najčešće zasnovane na Klijent/server modelu arhitekture • Klijent/server arhitektura je razvijena kao: – višenamenska, – modularna infrastruktura, – zasnovana na slanju i primanju poruka, sa ciljem unapređenja upotrebljivosti i fleksibilnosti. Klijent/ server arhitektura može biti – Dvoslojni klijent/server sistem – Troslojni klijent/server sistem – Arhitektura višeslojnih sistema
Klijent – server arhitektura • U klasičnim sistemima za obradu podataka po klijent/server arhitekturi mogu se uočiti tri klase komponenti: server, klijenti i mreža.
q Namjena servera : – optimalno upravljanje zajedničkim resursima (podacima), – upravljanje bazom podataka kojoj pristupa više korisnika, – kontrola pristupa i bezbjednosti podataka i – centralizovano obezbjeđenje integriteta podataka za sve aplikacije. q Klijent-aplikacije vrše upravljanje korisničkim interfejsom i izvršavaju dio logike aplikacije. q Računarska mreža i komunikacioni softver omogućavaju prenos podataka između klijenta i servera.
Dvoslojna arhitektura • Dvoslojna arhitektura sastoji se od 3 komponente distribuirane u dva sloja – klijentskom i serverskom. Te tri komponente su: • Korisnički interfejs – sesije, unos teksta, dijaloški prozori, prikaz na ekranu. • Upravljanje procesima – generisanje, izvođenje i nadgledanje procesa i neophodnih resursa • Upravljanje podacima – servisi vezani za deljenje podataka i datoteka
• Jedna od osnovnih karakteristika klijent/server sistema je distribuirana obrada podataka – logika aplikacije je podijeljena između klijenta i servera tako da obezbedi optimalno korišćenje resursa. – Na primjer, prezentacija podataka i provjera ulaznih podataka su sastavni dio klijent-aplikacije, dok se rukovanje podacima, u smislu njihovog fizičkog smiještaja i kontrole pristupa, vrši na serveru.
Troslojni klijent/server sistemi • Klijent/server sistemi sa troslojnom arhitekturom (three-tier architecture) predstavljaju sisteme sa tri, u velikoj meri nezavisna, podsistema. U pitanju su sljedeći podsistemi: 1. podsistem za interakciju sa korisnikom (implementira funkcije korisničkog interfejsa); 2. podsistem za implementaciju osnovnih funkcija sistema (implementira tzv. “poslovnu logiku”); 3. podsistem za rukovanje podacima, pri čemu se prije svega misli na fizički smještaj podataka (ovo je, zapravo, sistem za upravljanje bazama podataka).
• Za razliku od dvoslojnog modela obrade podataka, gdje je logika aplikacije bila podijeljena između klijenta i servera, u troslojnom modelu ona se nalazi koncentrisana u tzv. aplikacionom serveru – čija je namjena da izvršava programski kod koji implementira logiku aplikacije. – Klijent aplikacija je namijenjena samo za implementaciju korisničkog interfejsa, – a funkcija sistema za upravljanje bazom podataka je isključivo fizičko rukovanje podacima (u prethodnom slučaju je, pored toga, izvršavao i deo logike aplikacije).
Prednosti troslojne arhitekture • Troslojni koncept je doveo do podele programskog koda na segmente koji implementiraju tačno određene funkcije sistema. – Tako organizovan sistem je jednostavniji za održavanje, jer je moguće nezavisno razvijati korisnički interfejs, i logiku aplikacije. – Za potrebe fizičkog rukovanja podacima najčešće se koristi neki od komercijalno dostupnih servera. – Podrazumijevaju oslanjanje na standarde u odgovarajućim oblastima, zasnovane na Internet tehnologijama, što omogućava integraciju sistema u pogledu korišćene hardverske i softverske opreme.
Troslojna arhitektura
Arhitektura višeslojnih sistema • Daljim proširivanjem koncepta troslojnih sistema dolazi se do pojma višeslojnih sistema (multitier architecture), gde se vrši dalja podjela na komponente u okviru srednjeg sloja sa ciljem još većeg povećanja performansi.
- Slides: 19