16
ODSJEK ZA INFORMACIJSKE ZNANOSTI Baze podataka Web tehnologije

Seminarski rad

  • Upload
    srdjan

  • View
    5

  • Download
    0

Embed Size (px)

DESCRIPTION

Web aplikacije seminarski rad.

Citation preview

Page 1: Seminarski rad

ODSJEK ZA INFORMACIJSKE ZNANOSTIBaze podataka

Web tehnologije

Page 2: Seminarski rad

B A Z E P O D ATA K A

Web tehnologije

Page 3: Seminarski rad

Sadržaj

W E B T E H N O L O G I J EUvod 1Kratka povijest weba 2Klijentsko-serverski odnos 5Serverske tehnologije 7Klijentske tehnologije 9Budućnost? 11Literatura 12

Page 4: Seminarski rad

B A Z E P O D A T A K A

Uvod

Internet je danas najveća svjetska računalna mreža (“mreža svih mreža”). Čine ga nepregledne gomile umreženih računala, koje se na njega spajaju na najrazličitije načine. Preko kućnih računala spojenih širokopojasnim vezama, prijenosnih računala/mobitela spojenih bežičnim pristupom, pa sve do računala u istraživačkim centrima s direktnom vezom na Internet, sva ta računala “komuniciraju”, dakle izmijenjuju informacije, putem nekakvih tehnologija koje ih sve povezuju. Cijeli je Internet baziran na tim tehnologijama – podaci putuju raznim “razinama”. No uglavnom, može se reći da se promet na Internetu danas odvija putem TCP/IP1 protokola. Putem njega komuniciraju protokoli aplikacijskog sloja – svi smo čuli za HTTP2, FTP3, IRC4, itd. Svi ti protokoli su pozadinski način računalne kmunikacije – svoj “posao” rade za krajnjeg korisnika praktički nevidljivo. Ono što korisnik vidi jesu krajnji proizvodi komunikacije tih protokola – internetski servisi.

Od internetskih servisa, danas je svakako najveći, najpopularniji i vjerojatno najvažniji World Wide Web5 (od ostalih, tu su npr. E-pošta, Instant Messanging, servisi za izmjenu datoteka (Peer-to-Peer), razni servisi za on-line igranje…). Komunikacija na Webu odvija se putem HTTP protokola, a za sakupljanje, obradu i prikaz informacija krajnjem korisniku koriste se razne Web tehnologije, koje ćemo obraditi u ovom radu.

No, za početak – kratka povijest Weba.

1 Transmission Control Protocol/Internet Protocol

2 Hypertext Transfer Protocol

3 File Transfer Protocol

4 Internet Relay Chat

5 Skraćeno – „WWW“ ili „Web“

1

Poglavlje

1

Trenutačno se u SAD-u vode žučne rasprave o “neutralnosti”

Interneta

Page 5: Seminarski rad

B A Z E P O D A T A K A

Kratka povijest Weba

Slika 1 - Robert Cailliauov logo Weba

Web je, jednostavno rečeno, skup hipertekstualnih dokumenata povezanih na Internetu. Od jednostavnih tekstualnih početaka dostigao je iznimne mogućnosti prezentacije informacija, te se danas ti hipertekstualni dokumenti nerijetko sastoje od manje teksta nego multimedijalnih dodataka. Kako god izgledali, svi se ti dokumenti pregledavaju preko aplikacija znanih kao “web preglednici”. Povijest njihova razvoja i korištenja poprilično je zanimljiva (sredinom ’90-ih doslovno su se vodili se virtualni ratovi), a danas smo ipak došli do doba svojevrsnog sazrijevanja te vrste aplikacija. Najpopularniji web preglednici danas su Internet Explorer (drži ogroman dio tržišta jer je sve do prije

par godina bio jedini preživjeli iz prvog “rata preglednika) koji je nakon dugo očekivanja nedavno konačno izašao u verziji 7 te glavni

konkurent (svojevrsna zamjena za Internet Explorerovog ranijeg konkurenta – Netscape Navigatora, da stvar bude zanimljivija i “sagrađena” je na temeljima Netscapeovog Navigatora) Mozilla Firefox, trenutno u verziji 2. To su najpopularniji, no ne i jedini preglednici – od ostalih treba još napomenuti Operu (od nedavno postala besplatna, trenutno u verziji 9), ponovo oživljeni Netscape Navigator (mišljenja su da živi samo zbog stare slave, trenutno u vezriji 8), razne “školjke”6 za Internet Explorer (npr. Avant Browser), te samo za Macintosh platformu – Safari.

6 Nadogradnje poboljšane funkcionalnosti i sučelja

2

Poglavlje

2

Internet ≠ World Wide Web

Page 6: Seminarski rad

B A Z E P O D A T A K A

Slika 2 - Mosaic, jedan od prvih web preglednika

Što se tiče same povijesti, naznake nečega što će kasnije postati Web sežu u ’80-e. Tada je u CERN-u7

Tim Berners-Lee (kasnije poznat kao “otac Weba”) napravio projekt ENQUIRE (bazu podataka baziranu na hiperlinkovima). Nastavivši rad na usavršavanju projekta, zajedno s kolegom Robertom Cailliauom 1989. zatražio je uspostavu World Wide Web sistema, te je krenuo izrađivati alate potrebne za izradu i održavanje sadržaja na Webu. Krajem 1990. jezgra je bila gotova – načinjeni su prvi preglednik, prvi server te prva web stranica. 6. kolovoza 1991. javno je objavio sažetak projekta, a tog datuma započelo je i korištenje Weba kao javno dostupnog servisa na Internetu.

Slika 3 - Berners-Leejev NeXT, prvi web server

7 Europska organizacija za nuklearna istraživanja, bazirana u Švicarskoj

3

Page 7: Seminarski rad

B A Z E P O D A T A K A

Što se tiče same jezgre – hiperteksta – vraćamo se još dalje u povijest, u sredinu 20. stoljeća i začetak hiperveza (Memex Vannevara Busha) te jezika za označivanje (SGML8 na kojem je baziran HTML). No,

Tim Berners-Lee načinio je revolucionaran korak u spajanju tih ideja s Internetom – korak koji je promijenio način na koji shvaćamo Internet, a time i način na koji shvaćamo svijet oko nas.

Slika 4 - Prijmer SGML sintakse

Klijentsko-serverski odnos

Većina današnjeg interneta, pa tako i Web, bazirana je na klijentsko-serverskoj strukturi. Struktura se bazira na dihotomiji između strojeva koji predstavljaju klijente i strojeva koji predstavljaju servere. Klijentski stroj je npr. stroj kojim pregledavamo web-stranice – stroj koji aktivno traži i pregledava informacije, koji šalje zahtjeve za tim informacijama i obrađuje ih kada ih dobije. Server je pak stroj na kojem su sve te informacije sačuvane, te čeka da ih neki klijent zatraži, na što ih on uručuje. Prednost te strukture jest činjenica da su serverski strojevi uglavnom iznimno snažne mašine koje se bez većih problema nose s navalom do koje dolazi kada mnogo klijenata zahtjeva sadržaj koji je na njima pohranjen. Isto tako, pristup informacijama je lakši zbog toga što je centraliziran, a time je povećana i sigurnost informacija.

8 Standard Generalized Markup Language

4

Poglavlje

3

Page 8: Seminarski rad

B A Z E P O D A T A K A

Slika 5 - Primjer serverskog računala

Slika 6 - Klijentsko-serverski odnos

5

Page 9: Seminarski rad

B A Z E P O D A T A K A

Alternativan odnos klijentsko-serverskom bio bi npr. “Peer-to-Peer” odnos u kojem svi klijenti komuniciraju direktno međusobno. Ta se struktura koristi uglavnom za servise za izmjenu datoteka.

Slika 7 - Peer-to-Peer odnos

Serverske tehnologije

Evo nas konačno i na poglavljima koje obrađuju konkretne Web tehnologije. Prvo će biti riječ o serverskim web tehnologijama. Serverske Web tehnologije mogu se ugrubo podijeliti na:

samostalne programe

serverske skripte

specijalne jezike

Primjeri samostalnih programa su npr. CGI9 te Java servisi.

9 Common Gateway Interface

6

Poglavlje

4

Page 10: Seminarski rad

B A Z E P O D A T A K A

CGI je sučelje koje omogućava serverima da pokreću programe kao odgovor na HTTP zahtjeve. CGI specificira kako proslijediti argumente programu koji će se izvršiti kao dio HTTP zajtjeva. Također, CGI omogućava vraćanje rezultata u HTML formatu zavisno o parametrima konkretnog zahtjeva.

Slika 8 – CSI

Java servis je pak opći mehanizam za proširenje mogućnosti servera, a dolazi iz Sun Microsystems kompanije. U odnosu na CGI, radi se o nešto efikasnijoj, no zato i sporijoj serverskoj tehnologiji (ujedno ima i problema s HTML ispisom).

Serverske skripte se pak baziraju na miješanju kôda aplikacije s HTML-om. Konačni rezultat je mješavnina dinamički generiranog i statičnog HTML kôda. Najčešće serverske skripte su ASP10, JSP11 te PHP12.

ASP je Microsoftov jezik razvijen 1996. godine, trenutno je aktivan ASP.NET. JSP je još jedna tehnologija Sun Microsystemsa koja miješa HTML kôd s Javom. PHP je pak, otvorenog kôda, nastao je na Unixu u obliku Perl skripti, te je od svih navedenih možda i najpopularniji i najmoćniji.

Što se tiče specijalnih jezika, tu je najpoznatiji primjer ColdFusion (u vlasništvu Macromedie) – tehnologija osmišljena za mrežno prezentiranje informacija proizašlih iz neke od relacijskih baza oodataka. Sintaksa je bazirana na ColdFusion Markup Languageu, koji se umeće unutar običnog HTML-a. Sintaksa pisanja CFML je praktički identična HTML-u.

10 Active Server Pages

11 Java Server Pages

12 Personal Hypertext Protocol

7

PHP se npr. obrađuje na predmetu 2. godine studija Informacijskih znanosti – Napredno programiranje

web aplikacija

Page 11: Seminarski rad

B A Z E P O D A T A K A

Klijentske tehnologije

Klijentske Web tehnologije su pak one koje omogućuju prikaz sadržaja klijentskim strojevima. Za razliku od serverskih Web tehnologija, mnogo je veći naglasak dan Web standardima, ponajprije zbog toga što je prilikom odabira serverske tehnologije sloboda skoro potpuna – sve dok je na izlazu HTML, a kao ulaz se koristi standardno sučelje prema bazi podataka. S druge strane, sve što znamo o klijentu je da koristi preglednik, koji prikazuje sadržaj ovisno o standardima. Za standardizaciju Web formata zadužen je W3C.13

Klijentske tehnologije mogu se ugrubo podijeliti na:

opise sadržaja i prezentacije (HTML, XHTML, XML, CSS…)

skriptne jezike (JavaScript, Jscript, VBScript…)

DOM (Document Object Model)

dodatne objekte (npr. slikovni objekti – GIF, JPG, PNG datoteke)

Tokom razvoja Interneta standardi su se pojavljivali na različite načine. Neki od njih su nametnuti kao industrijski standardi, podržani od uglavnom jednog proizvođača (npr. HTML 3.2 od strane Netscapea, VBScript od strane Microsofta), dok su se drugi pojavili kao zajednički standardi predloženi od W3C za implementaciju u web preglednike. S vremenom se ovaj kaos lagano smirivao, te danas uglavnom imamo prilično stabilne i raširene standarde. Krenimo redom.

HTML je jezik za označivanje koji opisuje strukturu stranice, samog teksta, dodatnih objekata, (hiper)linkova prema stilovima, skriptama i drugim HTML stranicama. U zadnje vrijeme ponajviše se koristi XHTML – prijelaz s HTML-a na XML.14

13 World Wide Web Consortium

14 Extensible Markup Language

8

Poglavlje

5

Page 12: Seminarski rad

B A Z E P O D A T A K A

CSS15 je način formatiranja stilova unutar HTML dokumenata. Služi odvajanju sadržaja od prezentacije, te lakšem upravljanju stilova više HTML dokumenata.

JavaScript je skriptni jezik, pojednostavljena verzija programskog jezika Jave, klijentski implementiran od strane Web preglednika. Upotrebom JavaScript jezika HTML stranice mogu postati dinamične i interaktivne.

DOM16 je hijerarhijska podjela elemenata HTML dokumenta, kako bi se omogućio pristup pojedinim dijelovima iz nekog programskog okruženja (npr. JavaScript).

Slika 9 - Web standardi

Budućnost?

15 Cascading Style Sheets

16 Document Object Model

9

Poglavlje

5

Page 13: Seminarski rad

B A Z E P O D A T A K A

Web i Internet u neprestanom su razvoju te strelovito napreduju. Već se neko vrijeme priča o nasljedniku Weba – “Semantičkom webu”, pa potom o “Webu 2.0”, Internetu 2 itd. Riječ je o tehnologijama koje su počele diktirati način shvaćanja stvarnosti, te je vrlo bitno da se u njihovom razvoju ne brza te da se prije svega pridržava standarada – što omogućuje kvalitetnije Web stranice, a isto tako i Web preglednike. Predviđati budućnost nečem ovako dinamičnom i slojevitom vrlo je nezahvalno, pa se najpametnijim čini jednostavno – slijediti tok i uvijek biti informiran. Ipak je Internet (pa unutar njega i Web) vjerojatno jedan od najvećih i najvažnijih projekata u cijeloj ljudskoj povijesti.

Slika 10 - Web komunikacija

10

Page 14: Seminarski rad

Literatura

http://en.wikipedia.org /

http://networks.cs.ucdavis.edu/

http://www.aspnetresources.com/stuff/philly_talk/code_camp.html/

http://www.javascript.com/

http://www.php.net/

http://www.w3.org/

http://www.w3schools.com/