elektronsko poslovanje
-
Upload
aleksandar-rakic -
Category
Documents
-
view
27 -
download
4
description
Transcript of elektronsko poslovanje
1. Raunarske mree osnovni pojmoviRaunarske mree ine tehnoloku podlogu za elektronsko poslovanje. Raunarska mrea: skup vie raunara, perifernih jedinica i drugih ureaja, koji su meusobno povezani sa ciljem razmene informacija i deobe mrenih resursa. Raunari u mrei se nazivaju vorovi. vorovi mogu biti serveri i radne stanice.Raunarske mree protokoliKomunikacija izmeu vorova u mrei vri se na osnovu protokola. Protokoli su pravila koja raunarima daju uputstva kako da meusobno razmene informacije. Niz meusobno zavisnih protokola naziva se stek protokola. Najpoznatiji stek protokola je TCP/IP (Transmision Control Protocol / Internet Protocol).Internet, mrea svih mrea, zasnovana je na TCP/IP protokolu. Pored TCP/IP skupa protokola poznati su i IBM SNA (System Network Architecture), Digital-ov DECNet, Novell-ov IPX/SPX, AppleTalk firme Apple i dr.Raunarske mree klasifikacijaPostoje tri najvanija kriterijuma za klasifikaciju:* Klasifikacija po dometu,* Klasifikacija po topologiji i* Klasifikacija prema odnosima izmeu vorova.Raunarske mree klasifikacija po dometuNajzastupljenije kategorije prema toj podeli su:* LAN mree (Local Area Networks) mree lokalnog podruja. LAN mree pokrivaju podruje ogranieno na jedno preduzee ili ustanovu.* WAN mree (Wide Area Networks) mree irokog podruja. WAN mree pokrivaju podruje jedne ili vie drava ili podruje celog sveta (Internet).* MAN mree (Metropolitan Area Networks) mree gradskog podruja. Mree ove vrste pokrivaju podruje grada.Postoje i druge kategorije:* CAN mree (Campus Area Networks) mree univerzitetskog kompleksa koje povezuju vei broj LAN mrea na udaljenim lokacijama.* PAN mree (Personal Area Networks) personalne mree malog dometa, namenjene povezivanju prenosivih ureaja kao to su laptop raunari, PDA, palmtop raunari i dr.Raunarske mree klasifikacija prema odnosima izmeu vorova1. Mrea ravnopravnih nadlenosti (peer-to-peer): ne postoji raunar koji obavlja ulogu servera, nego svaka radna stanica moe imati ulogu klijenta i servera, to znai da su svi vorovi jednaki. Manje mree, manji broj korisnika2. Serverske mree: mree sa jednim vorom koji ima funkciju servera, dok su svi ostali vorovi klijenti (radne stanice). Radne stanice pristupaju serveru i koriste mrene resurse. Poseban vid serverskih mrea u kojima se nalazi vie servera razliitih namena nazivaju se vieserverskim mreama.Raunarske mree klasifikacija prema topologijiKlasifikacija prema topologiji predstavlja klasifikaciju prema rasporedu i nainu povezivanja vorova u mrei. Postoje:* logika i* fizika topologija.Logika topologija definie logiki plan mree, tj. puteve po kojima se kreu informacije po mrei, kao i naine komunikacije izmeu vorova. Dve glavne logike topologije su:* magistrala (sabirnica, bus) i* prsten (ring).Fizika topologija definie plan rasprostiranja kablova u mrei. Glavne fizike topologije su* magistrala (sabirnica, bus),* prsten (ring) i* zvezda (star).Pored ovih vrsta postoje i izvedene topologije, kao to su:* topologija zvezdastog prstena (star-wired) i* topologija reetke (mesh)
LAN mreeRaunarske mree koje obuhvataju samo deo zgrade, itavu zgradu ili vie zgrada na manjem rastojanju, tj. manje podruje, nazivaju se lokalne raunarske mree LAN (Local Area Networks).Osnovna odlika lokalnih raunarskih mrea su velike brzine prenosa podataka. Danas se te brzine prenosa kreu od 100 Mbps (megabita po sekundi) kod standarda Fast Ethernet, do 1 i 10 Gbps (gigabita po sekundi) kod gigabitnog Ethernet-a.LAN mree ne treba smatrati zatvorenim celinama, nego sistemima koji mogu i treba da se povezuju sa drugim LAN ili WAN mreama.Karakteristike LAN mrea odreene su sa tri najznaajnija faktora:* Fizikom topologijom,* Prenosnim medijumom i* Metodama pristupa medijumu.
Topologija LAN mreaFizika topologija LAN mrea moe biti realizovana na tri naina:* Magistrala,* Prsten,* Zvezda.
MAGISTRALA: svi raunari u mrei su povezani na isti fiziki medijum.* Informacije se alju svim vorovima u mrei, ali ih preuzimaju samo oni vorovi kojima su te informacije namenjene.* Povezivanje novih vorova u mreu je jednostavno.* Nedostaci: u sluaju prekida segmenta svi raunari na istom segmentu ostaju bez pristupa mrei. Ogranienje u broju vorova koji se mogu povezati na jedan isti mreni segment, predstavlja jedan od nedostataka.* Glavna prednost topologije magistrale je niska cena realizacije.
ZVEZDA: preko ureaja koji se naziva koncentrator ili hub. Taj ureaj predstavlja centralno vorite zvezde.* Svaki vor u mrei povezan je na koncentrator i preko njega komunicira sa ostatkom mree.* Prednost ovakvog naina povezivanja ogleda se u manjoj mogunosti prekida rada mree, jer u sluaju prekida na bilo kom delu segmenta, samo raunar koji se nalazi na prekinutom kablu nema pristup mrei, dok ostatak mree nesmetano funkcionie.
PRSTEN: postoji manja fleksibilnost u pogledu lokacije vorova u mrei.* vorovi se mogu povezivati u mreu samo u odreenom prostoru, tj. u takama gde su pre toga instalirani razvodnici.* Princip prenosa informacija u topologiji prstena zasniva se na kretanju informacije od vora do vora, na putu od izvora do odredita.* Broj vorova koji se moe prikljuiti na mreu je znatno vei, ali su vei i trokovi realizacije mree.
Prenosni medijumi u LAN mreamaPovezivanje vorova u okviru raunarske mree vri se pomou prenosnih medijuma. Postoji vie vrsta prenosnih medijuma, a upotreba svakog od njih je u zavisnosti od tipa mree koji se koristi. Vrste prenosnih medija su:* Bakarni koaksijalni kabl (Coax), bio je, u prolosti, dosta koriena vrsta medijuma. Odlikuje ga niska cena, relativno visoka otpornost na elektromagnetne smetnje i jednostavna ugradnja. Dve najpoznatije vrste koaksijalnog kabla su tanki koaksijalni kabl, poznatiji kao Thin Coax, i debeli koaksijalni kabl, poznatiji kao Thick Coax.* Bakarne upredene parice (UTP, STP ) Upredene bakarne parice predstavljaju najee korieni medijum u oblasti LAN tehnologije u dananje vreme. Postoji vie vrsta upredenih parica, od kojih su dve glavne kategorije: oklopljene upredene parice - STP (Shielded Twisted Pairs) i neoklopljene upredene parice - UTP (Unshielded Twisted Pairs). UTP kabl se sastoji od 4 para provodnika koji se upredaju radi smanjenja interferencije. Svaki od provodnika ima izolaciju specifine boje da bi se razlikovao prilikom povezivanja na konektor. Postoje etiri glavne boje: narandasta, zelena, plava i braon. Svaki od ta etiri obojena provodnika ima svoj beli par ija je izolacija proarana trakom iste boje kao to je boja njegovog para. UTP kabl se koristi u kombinaciji sa osmopinskim RJ-45 konektorima.* Optika vlakna, Optika vlakna predstavljaju izuzetan prenosni medijum. Neosetljiva su na elektromagnetne smetnje i omoguuju ogromne brzine prenosa (nekoliko gigabita u sekundi). Iako je ugradnja sloenija, a cena mnogo via od bakarnih kablova, ovaj medijum predstavlja medijum budunosti.* Beino povezivanje. Beino povezivanje predstavlja dobro reenje za povezivanje lokalnih raunarskih mrea prvenstveno zbog neosetljivosti na fiziki raspored vorova u mrei. Komunikacija se ostvaruje putem infracrvenih signala ili radio-talasa. U toku je razvoj i primena velikog broja standarda za beino povezivanje.2. Pojam interneta I internet servisaRaunarske mreeRaunarska mrea je skup vie raunara, perifernih jedinica i drugih ureaja koji su meusobno povezani zbog razmene podataka i deobe mrenih resursa. Raunari u mrei nazivaju se vorovi. vorovi mogu biti serveri i radne stanice. Radna stanica je raunar na kojem se izvravaju poslovi, a server raunar koji opsluuje radne stanice na osnovu njihovih zahteva i dozvoljava korienje mrenih resursa u skladu sa pravima korisnika. Komunikacija izmeu vorova u mrei vri se na osnovu protokola. Internet koristi TCP/IP protokol stek. InternetInternet je globalna svetska mrea bazirana na TCP/IP protokolu. Nastanak Interneta se vezuje za kasne 60-te godine. Danas se o Internetu, sa pravom govori kao mrei svih mrea. Glavna odlika Interneta je pristup nesagledivoj koliini informacija multimedijalnog karaktera (tekst, slike, zvuk, video materijal). Druga karakteristika Interneta prisutna je u poboljanim mogunostima komunikacije i razmene informacija (elektronska pota, news).
Servisi Interneta1. E-mail Servis elektronske pote Obuhvata prenos tekstualnih dokumenata koji sadre poruke pomou programa za distribuciju pote (mail server) do elektronskog sanduia (mailbox) neke osobe. Poruka se alje korisniku na osnovu njegove e-mail adrese tipa imekorisnika@domen (npr. [email protected]) 2. World Wide Web (irom sveta mrea) Moe se definisati kao distribuirani multimedijalni servis Korisniku omoguuje pristup multimedijalnim sadrajima. Svakako najatraktivniji servis Interneta i samim tim servis koji se najvie razvija. Ovaj servis omoguuje, u sprezi sa ostalim tehnologijama koje su u pozadini, jednostavno i komforno elektronsko poslovanje. 3. ICQ (speluje se aj si kju; igra rei - I Seek You na engleskom jeziku znai ja te traim) Omoguuje interaktivnu komunikaciju dva korisnika preko tastature (chat) i mnoge druge pogodnosti News Konferencioni sistem ili sistem diskusionih grupa gde korisnici razmenjuju miljenja ili stavove o odreenoj temi. Diskusije su organizovane po tematskim celinama. 4. FTP (File Transfer Protocol) Internet servis koji omoguava pristup FTP serverima i prenos eljenih datoteka (programa, tekstualnih fajlova i dr.) u oba smera (tj. download i upload). Video konferencije (Videoconferencing) servis koji omoguava video i audio komunikaciju vie stranaka Koristi hardver (kamere, mikrofone i zvune kartice) i softver specijalne namene Kvalitetna video konferencija zahteva velike propusne moi5. IRC (Internet Relay Chat) Internet konverzacija vie korisnika preko tastature (chat) Da bi se servis mogao koristiti potrebno je pristupiti nekom od IRC servera Telnet servis namenjen radu na udaljenom raunaru Korisnik se preko Interneta moe logovati na vor na kojem ima otvoren nalog i raditi na njemu kao da se nalazi u lokaluPristup InternetuPristup Internetu i njegovim servisima omoguen je svim korisnicima koji plate specijalizovanim kompanijama za pruanje Internet usluga nazvanim ISP (Intrenet Service Providers)Pojedinac se najjednostavnije moe povezati na Internet pomou raunara, odgovarajueg softvera i modema. Pored navedenih komponenti potreban je i otvoren Internet nalog kod provajdera
Modem (modulator/demodulator) je ureaj koji slui za pretvaranje digitalnih signala raunara u analogne signale pogodne za prenos preko telefonskih linija i obrnuto.
Povezivanje veih korisnika (firme i druge organizacije) moe se izvriti iznajmljenim vodovima uz upotrebu rutera. Internet domeniDomen (eng. domain) bi se mogao prevesti i kao oblast, a predstavlja najviu logiku podelu na Internetu. To je dvoslovna ili troslovna oznaka koja se nalazi na kraju e-mail adresa (npr: @ptt.yu, @yahoo.com) ili na kraju WWW adresa (npr www.yahoo.com, www.ptt.yu).Sledei domeni se nazivaju globalnim svetskim domenima: gov - civilna vladina udruenja edu - univerziteti i druge obrazovne ustanove com - trgovake i industrijske organizacije mil - vojne ustanove org - ostale organizacije, korisnike grupe itd net - ustanove koje pruaju mrene usluge Pored globalnih, postoje i nacionalni domeni:
IP adreseIP adresa predstavlja jedan od naina prepoznavanja raunara na Internetu. Saobraaj na Internetu se odvija usmerevanjem na IP adresu traenog raunara. IP adresa se sastoji se od etiri broja razdvojenih takama, npr. 212.62.48.34, i svaka IP adresa je jedinstvena za odreeni raunar.DNSDNS (skraenica od Domain Name System) je server imena, a koristi se za davanje odgovora na zahtev za traenjem IP adrese za odreeno ime raunara Primer: www.tf.zr.ac.yu slovna adresa / ime raunara; 212.62.48.34 IP adresa. Koristi se za usmeravanje informacija u pravom smeru na osnovu IP adrese, pretvarajui IP adrese u slovne i obratno. Web servisWWW servis, poznatiji kao web, je najatraktivniji i najee korieni servis Interneta. To je multimedijalni servis koji omoguuje pristup informacijama u obliku slike, teksta, zvuka i video materijala. Prezentovani materijal sadri linkove (veze) ka drugim informacijama. Linkovi mogu da pokazuju na druge prezentacije ili na drugi deo iste prezentacije, a takoe i na informacije drugog sadraja (npr. slike). Informacije se nalaze na raunarima specijalne namene, nazvanim web serveri, koji su prikljueni na Internet. Skup informacija koji sainjava web prezentaciju (npr. prezentaciju kompanije ili pojedinca) naziva se web sajt (web site). Svaki web sajt ima jedinstvenu web adresu. Pristup web servisu mogu je pomou specijalizovanih softvera koji se nazivaju browseri. Najvie korieni programi te vrste su Microsoft Internet Explorer i Netscape Communicator. Browseri omoguuju pristupanje web sajtovima na osnovu unete adrese. Primer za adresu softverske kompanije kao to je Microsoft je www.microsoft.com Napomena: prefiks www je uobiajen u web adresi.Mail klijentiDrugi najkorieniji i istovremeno najstariji servis Interneta je elektronska potaPristup specijalizovanim raunarima koji slue za razmenu elektronske pote (tzv. mail serverima) obavlja se programima koji se nazivaju mail klijenti.Najpopularniji program ove vrste je MS Outlook Express PretraivaiPretraivai (search engines) su sprecijalizovani web sajtovi koji slue za brzo i lako pretraivanje informacija po kljunim reimaUnos kljunih rei na pretraivaima se vri upisom eljenih rei. Vodei svetski pretraivai: www.google.com www.northernlight.com www.yahoo.com www.hotbot.com www.altavista.com www.lycos.com www.alltheweb.comDomai pretraivai: www.krstarica.com www.pretrazivac.com www.yusearch.com www.yu www.map.co.yu www.surf.co.yu www.mse.cg.yu Pretraivai susednih drava www.hr Hrvatska cross.carnet.hr - Hrvatska www.slowwwenia.com Slovenija www.sirena.dhs.org Slovenija www.bosnia-online.com Bosna i Hercegovina
3. Hyper Text Markup LanguageHTMLDatoteke tipa .htm ili .html su
obine tekstualne datoteke koje se nalaze na disku web servera i za
kojima prosleujemo zahtev iz naeg browsera. Web server ih iitava sa
diska i alje naem web klijentu (browseru) putem HTTP protokola.HTTP
= HyperText Transfer ProtocolU HTML datotekama se, osim
informacija, nalazi i nain njihovog prikazivanja kojom veliinom i
vrstom slova e biti prikazan tekst, koja e biti boja slova ili
pozadine, gde e se nalaziti slike, koja podruja ekrana su
hiperlinkovi itd.HTML tagoviSvi navedeni opisi koje browser obrauje
nalaze se u tzv. HTML tagovima. To su rezervisane rei koje se
nalaze izmeu znakova za vee i manje (). Primer: , ,
itd Tagove, kao i verzije HTML jezika (trenutno je vaea verzija
4.01 od 24.12.1999.) propisuje W3C internacionalni konzorcijum
(http://www.w3c.org). Neki od tih tagova moraju imati i poetak i
kraj (otvoreni i zatvoreni tag), a neki ne.Struktura HTML
dokumentaHTML dokument po pravilu ima dve osnovne sekcije: HEAD i
BODY (glava i telo). Svaki HTML poinje i zavrava se istoimenim
tagom ( ), mada to nije neophodno.Struktura:Interpretiranje
HTML-aNe interpretiraju svi browseri potpuno isto sav HTML kod,
mada je situacija neuporedivo bolja nego u prolosti. Na tritu
browsera je vodei MSIE, tako da se izgled stranica prilagoava
uglavnom ovom programu. Pored opisa izgleda stranice, veoma esto
HTML dokumenti sadre i delove programskog koda, kojim se postie
funkcionalnost koju je nemogue postii istim HTML-om. Skript jezici:
JavaScript, VBScript. Osnovni HTML tagoviTITLE Postavlja naslov u
naslovnu liniju browsera:Ovo je naslov stranice!Ovo je tekst na
stranici!!! Odreuje kojim oblikom slova, veliinom i bojom e biti
ispisan tekst oivien tagovima:Ovo je naslov stranice!Ovo je crveni
tekst , , Slue osnovnim formatiranjima teksta: Bold (masni
tekst), Italic (kurziv), Underlined (podvueni tekst)Ovo je naslov
stranice!Ovo je podebljani tekst
Ovo je tekst u kurzivu
Ovo je podvuceni tekst
, Tag
slui za prelazak u novi red, a podvlai liniju ispod teksta
(Horizontal Rule)Ovo je naslov stranice!Posle ove recenice preci
cemo u sledeci red,
a zatim podvuci liniju. Prelazak u novi paragraf. Mogue je ravnati
paragrafe levo, centrirati ili ih ravnati desno.Ovo je naslov
stranice!Ovaj tekst je ispisan desnoovaj je na sredinia ovaj levo,
zar ne? Stilovi naslova od Heading 1 do Heading 6.Ovo je naslov
stranice!Naslov nivoa 1Naslov nivoa 2Naslov nivoa 3Naslov nivoa
4Naslov nivoa 5Naslov nivoa 6 ,
(UN)Ordered List. Ovaj tag slui za nabrajanje, tj. za
stvaranje liste stavki, koja moe biti bulleted ili numbered:Ovo je
naslov stranice!kafa caj mleko kafa caj
mleko Link ka drugoj HTML stranici ili drugom resursu. Za link ka
nekoj drugoj stranici, van servera, treba navesti ceo URL, sa HTTP
prefiksom.Ovo je naslov stranice!Ovo je link ka drugoj stranici! Uz
rezervisanu re MAILTO dobijamo linkove ka mail adresama.Ovo je
naslov stranice!Posaljite mi mail! Umetanje slike u dokument.
Potrebno je navesti putanju do slike. I slika moe biti hiperlink
samo je treba zatvoriti unutar taga.Ovo je naslov stranice! Lepa
sela lepo gore
Izmena boje pozadine stranice, linkova, poseenih linkova.
Heksadecimalni kod boje ili konstanta (red, blue, white...)Ovo je
naslov stranice! Ovo je link! Kreiranje tabela. Jedan od
najbitnijih tagova, jer ne slui samo za prikazivanje tabelarnih
podataka, ve i za pozicioniranje sadraja na sttranici. Koristi se
kombinacija tri taga: TABLE, TR, TDOvo je naslov stranice!Prva
celijaDruga celija 4. Tehnologija razvoja Web aplikacijeHTTP
protokolOsnovni stek protokola koji se koristi na Internetu jeste
TCP/IP (Transfer Control Protocol/Internet Protocol). Kao podloga
najkorienijeg Internet servisa, World Wide Web-a, upotrebljava se
HTTP protokol (HypertText Transfer Protocol), koji je deo
aplikativnog sloja referentnog OSI modela TCP/IP-ja.HTTP je
zasnovan na konceptu postavljanja zahteva i dobijanja odgovora, i
obezbeuje efikasno prenoenje informacija izmeu klijenta koji
zahteva informacije i servera koji odgovara na postavljene
zahteve.Statiki i dinamiki WebWeb je u poetku svoga razvoja
postojao iskljuivo kao statiki, tj. nisu postojale tehnologije koje
bi uzele u obzir informacije koje su pristigle od korisnika i na
osnovu njih generisale odgovor. Mogunosti statikog Weba oigledno
nisu bile naroito velike: HTML stranice jesu nosilac informacija,
ali onih koje se ne menjaju zavisno od konteksta te informacije su
uvek iste. Oigledno je bilo neophodno da se doe do odreenog stepena
programibilnosti na Webu, tj. da se razviju tehnologije koje e
omoguiti vei stepen interaktivnosti od statikog Weba.Statike Web
stranice Dinamike Web stranice se zasnivaju na principu da se HTML
kod ne stvara sve dok korisnik ne poeli da vidi Web stranicu. To
dinamiko stvaranje stranica omoguuje nam da one budu prilagoene
korisnikovim zahtevima, da zavise od prethodnih akcija korisnika,
od vremena i mesta kad je pristupio lokaciji, od njegovog
identiteta i specifinih potreba. Pojava dinamikog Weba dovela je i
do mogunosti da se Internet iskoristi kao medij za elektronsko
poslovanje, uz uvaavanje svih njegovih specifinosti.CGICGI je
akronim od sintagme Common Gateway Interface. U pitanju je standard
za spajanje eksternih aplikacija sa serverima informacija, kao to
su HTTP (Web) serveri. CGI programi se izvravaju u realnom vremenu,
i produkt njihove egzekucije predstavlja (kao i kod ostalih
tehnologija za generisanje dinamikog Web sadrzaja) dinamiki
generisani HTML. Poto CGI program, u najirem smislu, predstavlja
egzekutabilnu datoteku / skript kojoj doputamo da bude pokrenuta od
strane bilo kog posetioca naeg sajta, jasno je da takav nain
programiranja Web aplikacija nije najsigurniji sa bezbedonosnog
stanovita postoje mnoge sigurnosne pretpostavke kojih se moramo
pridravati. CGI aplikacije se mogu pisati u bilo kom programskom
jeziku vieg nivoa (C/C++, Fortran, Pascal... ) ili skript jeziku
koji je podran na naem serveru (PERL, TCL, bilo koji Unix shell
skript jezik, VB Script, AppleScript...). Loa osobina CGI
aplikacija jeste upravo to to je CGI, u principu, program
aplikacija koja se po pozivu od strane klijenta uitava u memoriju
servera, izvrava, a zatim brie iz memorije. Kreiranje procesa je sa
stanovita performansi mnogo skuplja operacija nego, na primer,
jednostavno iitavanje HTML datoteke. Pretpostavimo da sa naeg sajta
u jednom momentu 100 korisnika zatrai izvravanje CGI programa. To
bi znailo da serverski operativni sistem treba da uita 100 instanci
programa u memoriju, da zatim izvri te programe i oslobodi resurse.
Ovo moe veoma brzo da popuni serverske resurse, tako da je
skalabilnost ovakvih aplikacija izuzetno loa. CGI je istorijski
prvi pokuaj kreiranja dinamikog Weba, i tako ga valja i posmatrati.
I pored ovog problema, CGI je i dalje veoma popularno reenje,
naroito u UNIX svetu. CGI aplikacija na sajtu Fakulteta statistika
Web servera ISAPIRadi prevazilaenja ogranienja u performansama i
skalabilnosti koje je doneo CGI, kompanija Microsoft razvila je
novi nain na koji je trebalo pisati brze i skalabilne Web
aplikacije. Ovo reenje se naziva Internet Server Application
Programming Interface (ISAPI). Umesto da funkcionalnost smeta u
egzekutabilnim datotekama, ISAPI koristi dinamike biblioteke
(DLL-ove), to donosi bitnu prednost u performansama.Postoje dva
osnovna tipa ISAPI DLL-ova: ISAPI ekstenzije i ISAPI filteri.
Ekstenzije se eksplicitno pozivaju u URL-u koji se alje IIS serveru
(na primer, http://localhost/helloisapi.dll), i na ovaj nain se
aplikaciji mogu proslediti i parametri (preko URL-a), na osnovu
kojih e biti izvrena konkretna akcija. Po ovoj osobini ISAPI
ekstenzije su vrlo sline CGI programima. ISAPI filtere poziva Web
server, i ne mogu biti pozvani direktno. Server e pozvati
odgovarajui filter kada se za to pokae potreba, reagujui na neki
dogaaj u ivotnom ciklusu HTTP zahteva (kad, na primer, server
pretprocesira klijentska zaglavlja (headers), kada autentifikuje
klijenta, kad se sesija zavri...). ISAPI filteri su znatno rei od
ekstenzija. Obe vrste DLL-ova se obino piu u jeziku C/C++.ISAPI
ekstenzije popravljaju mnoge slabosti CGI aplikacija. Za razliku od
CGI-ja, koji kreira i unitava proces pri svakom pozivu, ISAPI
ekstenzije se uitavaju u memoriju jednom, prilikom starta servera,
i ostaju aktivne sve vreme rada servera. Zbog "bliskosti" sa Web
serverom IIS, ISAPI ekstenzije se obino izvravaju u istom adresnom
prostoru sa serverom, to takoe izvrsno utie na performanse (ova
osobina se moe podesiti). Loe strane ISAPI interfejsa jesu
razvijaoci Web aplikacija za ovakav razvoj potrebni su ljudi koji
odlino poznaju C/C++, rad sa MFC (Microsoft Foundation Classes) i,
u isto vreme, HTML i Web dizajn. Ove dve grupe vetina se
jednostavno izuzetno retko sreu u istoj osobi. ISAPI ekstenzija
jeste jedan monolitni DLL, bez jasnog razdvajanja funkcionalnosti i
interfejsa, to moe biti veliki problem. Uitavanje DLL-a u memoriju
bez mogunosti kasnije zamene DLL-a novom verzijom dok se ne
zaustavi serverski proces takoe moe biti glavobolja za
administratore sistema, pogotovo kod velikih Web aplikacija, koje
moraju biti u pogonu 24x7. Zbog svega ovoga, kada govorimo o
najiroj publici razvijaoca Web aplikacija, moemo slobodno rei da
ovakvo reenje nikada nije potpuno zaivelo.Skript jeziciZa razliku
od prethodnih reenja koja se oslanjaju na kompajlirani kod (osim
CGI-ja koji se temelji na skript jezicima poput Perla), vremenom su
razvijene i tehnologije za razvoj Web aplikacija utemeljene na
interpretiranom kodu. Jednostavnost korienja uslovila je da ova
reenja vrlo brzo postignu izuzetnu popularnost.
JavaScriptJavaScript je skript jezik ija je sintaksa slina
programskom jeziku Java, i na tome se gotovo sva slinost i zavrava.
JavaScript je razvijen od strane kompanije Netscape, da bi kasnije
jezik bio standardizovan (ECMAScript) i podrka za njega ugraena u
sve novije browsere. Za razliku od Jave, koja predstavlja objektno
orijentisani programski jezik visokog nivoa, i koja se izvrava
iskljuivo unutar Java virtuelne maine (JVM), JavaScript programi
(skriptovi) su obino klijentski skriptovi. Oni su ugraeni u HTML
stranice, i izvravaju se u browseru klijenta. Zahvaljujui DOM
specifikaciji, iz JavaScript skriptova mogue je kontrolisati sve
elemente browsera, kao i dokumenta uitanog u browser. Klijentski
JavaScript se obino koristi za postizanje posebnih efekata na Web
stranicama, ili za klijentsku validaciju podataka koji se unose u
HTML forme. Postoji mogunost da se JavaScript koristi i na serveru
(kao serverski skript), ali obino u sprezi sa jo nekom Web
tehnologijom (npr. ASP). PerlPERL je (ponovo) skraenica, ovog puta
od izraza Practical Extraction and Report Language. Predstavlja
definitivno jedan od najpopularnijih skript jezika za razvoj
dinamikog Weba.Perl je kreirao g-din Larry Wall, i za godinu
nastanka ovog jezika uzima se 1987. Trenutna major verzija nosi
oznaku 5, i izdata je jo 1994, sa podvarijantom 5.8 koja se
pojavila u leto 2002. godine. Perl je preuzeo najbolje osobine
jezika poput C-a, awk, sed, sh i BASIC. Posebno je moan u oblasti
manipulacije tekstom, to ga je uinilo izuzetno rasprostranjenim. Jo
jedna velika prednost Perl-a jeste CPAN, Comprehensive Perl Archive
Network, distribuirana arhiva sa preko 2000 modula koji pokrivaju
najrazliitije programerske zadatke. PythonPython (ita se: pajton)
je interpretirani, interaktivni, objektno-orijentisani programski
jezik, nastao pre svega desetak godina (1991). Ukljuuje podrku za
module, dinamiko tipiziranje, dinamike tipove podataka veoma
visokog nivoa, i klase. Mogue je pisati proirenja ovog jezika u C
ili C++, mada se i sam koristi kao jezik za proirenje za aplikacije
kojima je potreban programibilni interfejs. Python je portabilan, i
raspoloiv za razliite Unix platforme, za Macintosh i PC raunare pod
DOS-om, OS/2 ili Windows-om. Oblasti primene su veoma iroke, poev
od procesiranja stringova, preko programiranja vezanog za Internet
protokole, softverskog inenjerstva, do programiranja interfejsa
operativnih sistema Danas su u upotrebi tri implementacije
Python-a: CPython (originalna implementacija napisana u C-u,
trenutno aktuelna verzija 2.2), Jython (implementacija za Java
virtuelnu mainu), i Python.NET (najnovija verzija napisana za
Common Language Runtime, virtuelnu mainu kompanije
Microsoft).Pojedini delovi Yahoo! servisa (Yahoo!Groups i
Yahoo!Maps) intenzivno koriste Python (recimo, Yahoo!Groups je
kolekcija Internet mailing lista koja je isto dinamika, sastoji se
od 180.000 linija Python koda i u stanju je da poalje nekih 200
poruka u sekundi koristei jedan jedini Pentium raunar na 400MHz!),
a neki Google bot-ovi, Web spider-i i delovi pretraivaa su takoe
napisani u ovom jeziku. Zope korporacija je razvila aplikativni
server visokih mogunosti koristei Python kao besplatno reenje.
PHPNajpopularniji opensource nain razvoja Web aplikacija dananjice
jeste PHP, programski jezik interesantnog rekurzivnog naziva (PHP
je skraenica od PHP: Hypertext Preprocessor). PHP je programski
jezik koji se dodaje u HTML kod stranice (slino ASP nainu
skriptovanja), i po svojoj sintaksi slian je jezicima C, Java i
Perl. PHP omoguuje generisanje Web stanice u vreme izvravanja kada
ita klijenta pozove PHP stranicu, Web server alje zahtev PHP
procesoru. Procesor ita dokument koji ita eli da preuzme, i izvrava
PHP iskaze obuhvaene oznakama za poetak () PHP skripta. Na taj nain
PHP procesor ispisuje dinamiki generisani HTML u memoriju Web
servera, koji zatim takav sadraj prosleuje klijentu. PHP znatno
olakava pristup brojnim bazama podataka, a najprirodnije sarauje sa
drugim opensource reenjem, RDBMS serverom MySQL. Moe se koristiti
na razliitim serverskim platformama (Linux, FreeBSD, Windows gde se
na IIS instalira kao ISAPI dodatak). Popularnost je stekao
zahvaljujui jednostavnosti, ceni i izuzetno bogatoj dokumentaciji.
Loa strana jeste izmean HTML i PHP kod, koji je teko odravati.
Funkcionalni i prezentacioni deo Web aplikacije su na ovaj nain
isprepleteni i teko odvojivi. ASPActive Server Pages je, slino
PHP-u, tehnologija koja omoguuje programsku konstrukciju HTML
stranica neposredno pred njihovu isporuku itau. Microsoft je
zvanino obelodanio ASP 16.07.1996. godine pod ifrom Denali. Beta
verzija je putena u novembru iste godine, a ASP 1.0 je bila na
tritu 12.12.1996. Od kada je ASP ugraen u IIS 3.0 (mart 1997),
postaje znatno rasprostranjeniji. ASP ne zavisi od konkretnog
klijenta, odnosno itaa, jer se celokupan kod izvrava na serveru. Tu
imamo sledee prednosti, koje vae i za ostale serverski orijentisane
tehnologije: Programi se mogu izvravati u programskom jeziku koji
browser ne podrava; Imamo mogunost programiranja dinamikih Web
aplikacija nezavisno od itaa, bez programiranja na strani klijenta
Java apletima, DTML-om ili ActiveX-om svi oni zahtevaju odreene
itae ili platforme. Moemo dostaviti itau podatke koji su mu inae
nedostupni; Bre se uitava jer do itaa stie samo HTML, a ne neki
klijentski kod; Bezbednije je programski kod se ne moe se
videti.Jezik kojim se vri serversko skriptovanje moe biti VBScript
ili JScript, MS varijanta JavaScripta. ASP stranice su kombinacija
tri tipa sintakse: obinog teksta, HTML oznaka i ASP naredbi. Rad u
Active Server Pages 3.0 svodi se na pisanje skriptova koji koriste
ASP objektni model. ASP ima sedam ugraenih (built-in) objekata:
Server, Application, Session, Request, Response, ObjectContext,
ASPError. Svaki od ovih objekata svojom funkcionalnou pokriva
odreeni deo zadataka koji se postavljaju pred ASP kao serversku
tehnologiju za razvoj Web aplikacija.ASP objektni modelJava Java je
istovremeno i platforma i programski jezik. U pitanju je
tehnologija kompanije Sun Microsystems, koja je razvijana gotovo
iskljuivo za Internet programiranje. Za razliku od veine
programskih jezika koji se ili kompajliraju ili interpretiraju da
bi se mogli izvravati na raunaru, Java je i kompajliran i
interpretiran jezik. Najpre se kompajlerom izvorni kod prevede u
"meujezik" (intermediate language, IL) tzv. bajtkod (bytecode) koji
je nezavisan od platforme i izvriv u tzv. Java virtuelnoj maini
(JVM), da bi se zatim taj bajtkod parsirao i interpretirao unutar
JVM. Proces kompilacije se izvrava samo jednom, da bi se bajtkod
interpretirao svaki put pri pokretanju Java programa. Kompajliranje
i interpretiranje Java programaWrite Once, Run Everywhere Java
paradigmaPosledica interpretiranja bez native-code kompajlera jeste
kod koji je neto sporiji od kompajliranog. Meutim, savremene JVM u
velikoj meri anuliraju tu prednost klasinog kompajliranja.Java nije
samo platforma za Internet razvoj, jer se koristei ovaj jezik i JVM
mogu napisati aplikacije za bilo koju namenu. to se tie pisanja
Internet aplikacija, moramo razdvojiti dva tipa programa: aplete
(applet), koji se izvravaju u klijentskim JVM, i servlete
(servlet), koji se izvravaju na serverima, dok se rezultat njihovog
rada alje klijentima. Servleti su Java serverska tehnologija, i
moemo ih u odreenom smislu uporediti sa ISAPI aplikacijama
kompanije Microsoft. Problem koji je MS imao sa ISAPI-jem
(monolitnost dll-a i HTML koji je "ugraen" u dll, izmeanost koda i
interfejsa) Sun je dobio sa servletima, tako da je i reagovao na
slian nain: osmiljena je tehnologija koja znatno olakava izradu i
odravanje dinamikih Web aplikacija Java Server Pages, JSP. Java
Server Pages (JSP)JSP stranice su tekstualne datoteke koje sadre
HTML dokumente. Za pisanje takvih dokumenata se mogu koristiti
standardni HTML dokumenti, ali i specijalni tagovi koji omoguavaju
dodavanje dinamikih elemenata u stranicu. Ovako napisana JSP
stranica e posluiti kao osnov za dinamiko generisanje servleta koji
e proizvesti upravo onakvu HTML stranicu koja je specificirana u
JSP stranici. Takav servlet se generie kao klasina datoteka sa
izvornim Java kodom. Nakon generisanja servleta vri se njegovo
prevoenje u Java bajt-kod, a zatim izvravanje u Java virtuelnoj
maini na serveru. Prozivod tog izvravanja jeste ist HTML, koji se
vraa klijentu.Iz JSP koda mogue je koristiti klase iz raspoloivih
Java biblioteka, JavaBeans komponente, Enterprise JavaBeans,
pristupati bazama podataka preko JDBC-a itd. Apache Software
Foundation i Jakarta Project stoje iza najpoznatije implementacije
JSP tehnologije Tomcat. Microsoft .NET Framework.NET tehnologija
(ita se dotNET) predstavlja novi nain razvoja aplikacija za (za
sada) Windows operativne sisteme. .NET vizija nasleuje Windows DNA
tehnologiju za razvoj troslojnih poslovnih aplikacija, koja je bila
zasnovana na COM+ modelu. .NET Framework predstavlja platformu za
razvoj aplikacija koja bi trebalo da postane nezavisna od
operativnog sistema - poput programskog jezika Java. Postoji
mogunost izrade Windows aplikacija, Web aplikacija, Web servisa,
aplikacija za mobilne ureaje... na relativno uniformisan i
jednostavan nain, uz jaku objektnu orijentaciju. .Net Framework
Ispod itavog framework-a nalaze se sistemski servisi. U trenutnoj
implementaciji u pitanju je Win32 API i COM+, mada teoretski te
servise moe pruati bilo koji operativni sistem. Iznad sistemskih
servisa nalazi se najbitniji deo framework-a CLR, Common Language
Runtime. CLR uitava i izvrava kod napisan na bilo kom jeziku koji
moe da bude kompajliran u MSIL (Microsoft Intermediate Language).
Dakle, koncept veoma slian Javi. Kod koji se na ovaj nain izvrava
nazivamo upravljanim kodom (managed code). Na CLR se oslanjaju .NET
framework klase. Ove klase mogu biti instancirane iz bilo kog
programskog jezika, i predstavljaju osnovu funkcionalnosti .NET
framework-a. Klase pokrivaju veoma veliku oblast, od servisa za
pristupanje podacima do upravljanja nitima i mrenih bibiloteka.
Programer jednostavno nasledi klasu i koristi je - razvoj
aplikacija je brz, greaka je manje. Iznad klasa nalaze se posebne
kolekcije objekata za rad sa podacima (ADO.NET) i XML-om. Dalje,
imamo podrku za dva (zasad) osnovna tipa aplikacija: za
tradicionalne klijente koji koriste Windows Forms, i za ASP.NET,
koji ukljuuje Web forme i Web servise. Iznad ovoga dolazimo do CLS
(Common Language Specification), i konano do razvojnih jezika koji
prate CLS.Zajednika jezika specifikacija je skup pravila koje mora
da zadovolji programski jezik da bi se mogao nazvati .NET
kompatibilnim. Za razvoj se mogu koristiti razliiti programski
jezici: Visual Basic.NET, C#, JScript.NET... Bitan zajedniki
koncept jeste Common Type System - zajedniki sistem tipova. Svi
.NET kompatibilni jezici koriste iste tipove podataka, koji su
definisani na nivou frameworka, tako da je znatno olakana jezika
meuoperabilnost. Prilikom kompajliranja u .NET-u, slino Javi, ne
dobijamo odmah prirodni (native) kod specifian za operativni
sistem. Umesto toga, vri se kompajliranje u Microsoftov posredni
jezik (MSIL - Microsoft Intermediate Language). Ovaj kod nije
namenjen niti jednom operativnom sistemu, i u njega se prevode svi
.NET kompatibilni jezici. Dunost jezikih kompajlera je da
funkcionalno isti programi u razliitim jezicima generiu priblino
isti MSIL (vrlo uslovno, zavisi i kako su programi napisani).Da bi
se program izvrio, oigledno je potrebno jo rada. Za taj posao
zaduen je tzv. Just-In-Time (JIT) kompajler, koji prevodi MSIL u
prirodni kod specificiran od strane operativnog sistema i same
maine na kojoj se program izvodi. Tek tada operativni sistem zaista
moe izvriti program. Praktino, faza kompajliranja je ista za sve
platforme; za druge operativne sisteme (ili novi hardver) potrebno
je obezbediti samo izvrnu fazu za to okruenje. Proces kompajliranja
u .Net Framework-u ASP.NETZato je ASP morao da dobije naslednika,
ASP.NET? Zbog svoje velike popularnosti, ASP je jednostavno
prerastao svoju ulogu, i morao je biti zamenjen proizvodom (ponovo
napisanim, u jeziku C#) koji e biti u stanju da se izbori sa
zahtevima postavljenim pred savremene Web aplikacije. Mane ASP-a:
ASP stranice se piu pomou skript jezika (najee VBScript ili
JScript); drugi jezici su takoe opcija ako posedujete interpreter -
ali, to je ipak samo interpretacija. Nedostaci interpretiranih
jezika su nedostatak jakih tipova i nedostatak kompajliranog
okruenja. ASP keira kod, ali je on ipak interpretiran, to vodi do
problema sa performansama i skalabilnou. Meanje koda i sadraja:
treba uposliti dve grupe ljudi (Web dizajnere i programere) da rade
na istim datotekama, to nije praktino. Dalje, komplikovaniji kod je
esto znaio i drastino vee izvorne datoteke. U ASP-u moramo da piemo
kod da bismo odradili veinu stvari, bez obzira na to koliko one
bile jednostavne (na primer, validacija polja obrazaca...). ASP.NET
je znatno komforniji, zahvaljujui serverskim kontrolama - dosta
koda je ve napisano, a mi ga samo koristimo. ASP ne reava probleme
kompatibilnosti ureaja (palmtop-ovi, mobilni telefoni...). ASP.NET
kontrole same otkrivaju ta se nalazi sa druge strane i "emituju"
odgovarajui kod! ASP je prilino teko proiriv, zatvoren sistem, bez
otvorene mogunosti podrke novim standardima (poput XHTML-a,
XML/XSL-T-a...) ASP.NET se moe pisati u bilo kom tekstualnom
editoru (Notepad), a mogue je koristiti i specijalizovane alate
poput WebMatrix-a, VS.NET-a itd. Ekstenzija ASP.NET datoteka je
.aspx Kljuni ciljevi koji se postiu uvoenjem ASP.NET-a: Uklanjanje
zavisnosti od maina za skriptovanje i omoguavanje da stranice budu
tipski bezbedne i kompajlirane - mnogo bolje performanse; Smanjenje
koliine koda potrebne za razvoj aplikacije (serverske kontrole);
Olakavanje instalacije Web aplikacija (XCOPY Deployment) - XML
konfiguracione datoteke. Ranije veliki problemi sa COM komponentama
kod three-tier Web aplikacija zbog neophodne registracije na
serveru; sada - Shadow Copying komponenti koje se nalaze u bin
folderu u okviru virtuelnog direktorijuma (to je funkcija CLR-a;
nema zakljuavanja komponenti koje se trenutno koriste jer se
zapravo pozivaju sa drugog mesta, iz kea, a ne sa originalne
lokacije); Ouvanje kompatibilnosti sa prethodnim kodom - ASP i
ASP.NET mogu raditi "rame uz rame", tako da se prevoenje u ASP.NET
moe vriti postepeno; Bolje rukovanje grekama (automatsko otkrivanje
curenja memorije i restart problematinih ASP.NET aplikacija,
otkrivanje zahteva na beskonanom ekanju i mrtvih petlji i njihovo
razreavanje, skladitenje stanja sesije eksterno tako da je mogu
restart ASP.NET aplikacija bez gubitka podataka krajnjeg
korisnika); Jezik nije bitan; Poboljanje performansi: svaka ASP.NET
stranica je kompajlirana! Kompajliranje ASP.NET stranice prilikom
njenog prvog poziva Kompajliranje stranice nije jeftino i moe da
potraje nekoliko sekundi za sloene stranice. Ali, kompajliranje se
uvek vri samo jednom za datu .aspx datoteku. Svi naknadni zahtevi
za stranicom (ak i nakon restartovanja IIS-a) zadovoljavaju se
instanciranjem generisane klase i zahtevom da se stranica
vizualizuje.Rezultat - odline performanse, cena - neto malo
prostora na disku za DLL-ove. Sajt Fakulteta u Zrenjaninu
(http://www.tf.zr.ac.yu) je realizovan kao savremena Web aplikacija
upravo korienjem ASP.NET tehnologije. 5. Sigurnosni aspekti
elektronskog poslovanjaBezbednost svetske mreeInternet kao globalna
mrea danas sve vie postaje mesto za obavljanje razliitih vrednosnih
transakcija.Prisustvo ogromnog broja "zainteresovanih strana" na
globalnoj mrei uslovljavaju i izuzetnu nebezbednost svetske mreeDa
bismo takvu sredinu ukrotili i uinili je potpuno bezbednom za
poslovanje, moramo primeniti mere obezbeivanja sigurnosti podataka
na Internetu. Uslovi bezbednostiPostoje etiri osnovna uslova
bezbednosti: Integritet podataka - podaci moraju stii do korisnika
bez neeljenih transformacija i modifikacija. Ovo podrazumeva da
korisnik moe da proveri korektnost i verodostojnost pristiglog
sadraja. Identifikacija poiljaoca i primaoca poruke - ovaj uslov
omoguava obema stranama proveru porekla poruke. Ukoliko se
implementira pravilno, identifikacija mora da bude jednostavna i da
ne ostavlja prostora sumnji u verodostojnost druge strane. Drugim
reima, ne moe se desiti da neki "piratski" sajt preuzme identitet
pravog i doe do osetljivih podataka koje bi poslala druga strana, u
uverenju da podatke alje na pravo odredite. Neporecivost poruke -
poiljalac poruke nema naina da negira da je poruku poslao. Ovo je,
pored ostalog, i mera zatite biznis strane elektronskog poslovanja,
jer klijent nema naina da, recimo, opovrgne sopstvenu narudbu.
Poverljivost i tajnost podataka - podaci koji se prenose od
poiljaoca do primaoca moraju na neki nain biti zatieni od
"prislukivanja". Bezbednost se obezbeuje kontrolom pristupa mrenim
resursima, kao i posebnim tehnikama zatite samih podataka, poznatim
pod imenom kriptografija.Kriptografske metodeKriptografija obuhvata
matematike transformacije kojima se modifikuju podaci tako da samo
korisnici sa pravom pristupa, odnosno "pravim kljuem" mogu da ih
prepoznaju. Tokom kriptografskog postupka originalni podaci, koji
se esto nazivaju i "ist tekst" (clear text ili plain text) odreenom
matematikom funkcijom se transformiu u zatieni ili enkriptovani
format (ciphertext).Enkripcija i dekripcija podatakaPrimenjena
funkcija se zasniva na enkripcionom algoritmu (cipher), koji za
ulazne parametre ima originalnu poruku i jedan ili vie
kriptografskih kljueva, specijalno izabranih brojeva konane duine.
Obrnuti proces, transformacija iz zatienog oblika poruke u
originalnu poruku naziva se dekripcija, i takoe je baziran na
primeni matematike funkcije, koja za ulazne podatke ima prethodno
zatienu poruku i jedan ili vie dekripcionih kljueva, koji mogu biti
razliiti od enkripcionih kljueva.Podela
kripto-algoritamaKriptografski se algoritmi dele na simetrine i
asimetrine. Simetrini su bazirani na korienju istog tajnog kljua za
enkripciju i dekripciju (shared secret key cryptography) Asimetrini
se baziraju na korienju razliitih kljueva za enkripciju i
dekripciju od kojih je jedan javni i poznat svima, a drugi tajni i
poznat samo jednom od uesnika u komunikaciji (public key
cryptography).Simetrina kriptografijaKod simetrine kriptografije
postupak enkripcije i dekripcije zasniva se na dve matematiki
srodne funkcije: Enkripciona funkcija E, na osnovu kljua k i ulazne
poruke m, kreira zatienu poruku c. Dekripciona funkcija D, na
osnovu istog kljua k i zatiene poruke c, restaurira originalnu
poruku m.Prednost ovog naina kriptografije u odnosu na asimetrinu
kriptografiju: manje je raunski intenzivna, tako da se vee koliine
podataka bre enkriptuju/dekriptuju. Velika mana: moramo pronai
bezbedan nain za distribuciju tajnog kljua, tj. osigurati bezbedan
kanal za razmenu kljueva izmeu zainteresovanih strana. ta e nam
onda kriptografija, ako takav kanal ve postoji?Takoe, mana je i
potreba za velikim brojem kljueva, po jedan par za komunikaciju sa
svakim klijentom Asimetrina kriptografijaProces enkripcije i
dekripcije se kod ovih algoritama takoe zasniva na dve funkcije -
imamo enkripcionu funkciju E i dekripcionu funkciju D. One opet
manipuliu originalnom porukom m, odnosno zatienom porukom c, ali se
ovog puta za enkripciju i dekripciju koriste dva kljua - jedan za
enkripciju (klju e), a jedan za dekripciju (klju d).Prvi od ovih
kljueva se naziva javni klju (public key) i poznat je svima, a
drugi se zove privatni klju (private key), i poznat je samo jednoj
strani: Enkripcija podataka se moe obaviti, u principu, na dva
naina: Enkripcija originalne poruke javnim kljuem - samo vlasnik
privatnog kljua moe dekriptovati poruku, ali ne moe biti siguran ko
je poruku poslao, jer je javni klju dostupan svima; Enkripcija
originalne poruke privatnim kljuem - ovog puta je poreklo poruke
nedvosmisleno, kao i nemogunost poricanja vlasnika javnog kljua da
je poruku poslao, ali je tajnost poruke kompromitovana - svako ko
ima javni klju koji odgovara tajnom kljuu korienom za enkripciju
moe videti poruku. Ova mana se ispravlja mehanizmom digitalnih
potpisa i sertifikata.Prednosti korienja infrastrukture javnog
kljua (public key infrastructure, PKI) - potrebno je znatno manje
kljueva za komunikaciju, nije potreban siguran kanal za
distribuciju kljueva. Loa strana - raunski su intenzivni, tako da
su nepogodni za enkripciju veeg obima podataka. Moderna
kriptografija hibridni pristupU dananjim modernim enkripcionim
sistemima koristiemo i simetrinu i asimetrinu kriptografiju za
postizanje potrebnog nivoa zatite podataka - najpre emo asimetrinom
kriptografijom razmeniti tajni klju za ostvarivanje simetrine
kriptografije, koju emo kasnije koristiti za prenos velike koliine
podataka. Na taj nain funkcionie SSL (Secure Sockets Layer)
tehnologija, sa kojom emo se kasnije upoznati.Digitalni
potpisiDigitalni potpis (digital signature) predstavlja digitalnu
verziju svojerunog potpisa - kao to takav potpis jednoznano
identifikuje osobu, digitalni potpis moe da identifikuje autora
neke poruke, ali i da dokae da poruka prilikom prenosa
komunikacionim kanalom nije izmenjena. Svaki potpis, bio on
digitalni ili vlastoruni, mora da zadovolji pet osnovnih pravila:
Mora da prui identifikaciju; Ne moe biti manipulisan; Ne moe biti
kopiran; Mora da bude verodostojan; Ne moe biti opovrgnut.U najveem
broju sluajeva nije potrebna enkripcija celokupne poruke - dovoljno
je enkriptovati samo digitalni potpis, a poruku ostaviti
nepromenjenu. Naravno, ako je tajnost poruke kritina, i ona moe
biti zatiena. Za kreiranje digitalnih potpisa koriste se tzv. hash
funkcije. To su funkcije sline enkripcionim, koje imaju osnovnu
karakteristiku da na osnovu ulaznih podataka promenljive duine
definiu niz konane duine, a koji na jedinstven nain definie ulazni
podatak:Digitalni sertifikatiDigitalni sertifikat je elektronska
datoteka koja jedinstveno identifikuje pojedince i web sajtove na
Internetu i omoguuje sigurnu, poverljivu komunikaciju. On povezuje
ime entiteta koji uestvuje u sigurnoj transakciji (e-mail adresu
ili web adresu) sa javnim kljuem (public key) koji je korien za
zatitu komunikacije sa tim entitetom u kriptografskom
sistemu."Potpisnik" digitalnog sertifikata je "sigurna trea
strana", odnosno telo poznato pod imenom Certificate Authority
(CA), kao to su VeriSign, Thawte i slino. To su tela
specijalizovana za brigu o digitalnim sertifikatima, i ta tela
izdaju, kreiraju i potpisuju sertifikate, te uestvuju i u njihovoj
distribuciji. Sertifikat koji je izdat od odgovarajueg CA nosi i
digitalni potpis tog CA, i ta je injenica kljuna za jednoznanu
identifikaciju organizacije koja je sertifikat dobila. Kada
korisnikov browser pristupi sajtu organizacije koja poseduje
digitalni sertifikat, taj sertifikat se automatski prenosi do
klijenta u formi datoteke odreenog formata. Browser ita ovaj fajl i
odluuje da li e verovati udaljenom serveru, na osnovu injenice da
je sertifikat digitalno potpisan od strane CA, a javni kljuevi svih
veih CA su ugraeni u sam browser. Postupak kreiranja digitalnog
sertifikataPRVI KORAK:Aplikant generie par kljueva, privatni i
javni.DRUGI KORAK:Aplikant prikuplja informacije koje trai
sertifikaciono telo (podaci o organizaciji, overe, e-mail adrese,
ak i otisci prstiju ako CA to zatrai) TREI KORAK:Aplikant alje
zahtev za sertifikatom, koji se sastoji iz njegovog javnog kljua, i
traenih podataka. Zahtev se enkriptuje javnim kljuem
sertifikacionog tela.ETVRTI KORAK:Dostavljene informacije se
proveravaju. PETI KORAK:CA kreira i digitalno potpisuje sertifikat
koji se sastoji iz aplikantovog javnog kljua i ostalih dostavljenih
informacija. Potpis CA vezuje javni klju aplikanta sa podacima koje
je dostavio za tu vezu sada garantuje CA. Sertifikat je zatien
javnim kljuem aplikanta.ESTI KORAK:Sertifikat se prosleuje
aplikantu. SSL komunikacijaSSL (Secure Sockets Layer) je
tehnologija koja slui za siguran prenos podataka preko weba, a
izvorno je razvijena od strane Netscape Communications. Zasniva se
upravo na mehanizmu digitalnih serverskih sertifikata, izdatih od
strane nezavisnih CA. SSL omoguuje dve krucijelne stvari u sigurnim
komunikacijama: autentifikaciju, putem gore opisanog mehanizma
serverskih sertifikata izdatih od strane CA, i enkripciju, ime se
vri zatita podataka koji se razmenjuju. Da bi se uspostavila SSL
konekcija, najpre se vri tzv. SSL handshakeSSL handshake6.
Struktura I primer tipicne B2C Web aplikacijeB2C Web aplikacijeB2C
(business-to-consumer) aplikacije su programi koji omoguuju
prezentaciju i prodaju proizvoda preko odreenih komunikacionih
kanala, u poslednje vreme najee Interneta.Pogodnosti ovakvog naina
prodaje:* Mali trokovi otvaranja "virtuelne prodavnice" (server i
iznajmljena veza prema Internetu)* Velika mogunost reklame i
oglaavanja* Mogunost plaanja korienjem platnih servisa
(procesiranjem kreditnih kartica)* Mogunost dostave pojedinih
sadraja direktno putem Interneta (kupljene informacije)B2C Web
aplikacije tehnologijaTehnologija koja stoji iza ovakvih aplikacija
je distribuirane arhitekture, jasno oznaenih nivoa:* Klijentski
sloj* Sloj poslovne logike* Skladita podatakaSvi veliki proizvoai
softvera imaju svoja reenja u ovoj oblasti, zbog ogromnih mogunosti
koje se tek otvaraju.Na primer je jednostavna prodavnica CD ploa i
majica, zasnovana na ASP tehnologiji aktivnih web stranica
kompanije Microsoft.B2C Web aplikacija ECStoreECStore je ogledna
B2C Web aplikacija realizovana u Microsoft ASP 3.0 tehnologiji.ASP
skriptovi koji se izvravaju na Web serveru Microsoft IIS 6
predstavljaju sistemski front-end, dok je za back-end iskorien
server baza podataka Microsoft SQL Server 2000.Radi ilustracije, u
jednoj Web formi korien je i srednji sloj (middleware) u obliku
COM+ komponente razvijene u Microsoft Visual-Basic-u 6 ta
komponenta je zaduena za izraunavanje trokova poreza i prevoza
robe.B2C Web aplikacija ECStorePotrebno je stii do stranice sa
opisom konkretnog proizvoda, to je mogue uiniti na dva naina:
izborom prozivoda iz odgovarajueg odeljenja ili pretraivanjem po
kljunim reima.Kupac stavlja proizvod u korpu za kupovinu,
specificirajui koliinu proizvoda koji se naruuje (ta se koliina
naknadno moe menjati). Proces kupovine se moe nastaviti, ali je
mogue i u bilo kom momentu otii na stranicu sa korpom, uneti line
podatke i izvriti naruivanje preko zatiene komunikacije (SSL), koja
pouzdano uva poverljive podatke (broj kreditne kartice, na
primer).Line podatke je mogue snimiti u bazu ukoliko se planira
kasnija ponovna kupovina, a mogue je snimiti i kolai (cookie) koji
e te podatke automatski uneti u odgovarajuu formu.Posle naruivanja
korisnik moe pratiti status svoje narudbine on-line, i videti kada
e biti izvrena isporukaPoetna stranica B2C aplikacije
ECStorePostoji i deo aplikacije koji nije vidljiv svim korisnicima,
ve samo onima koji imaju odgovarajue privilegije: to je deo za
administraciju radnje (upravljanje proizvodima, odeljenjima,
porezom, isporukom, narudbinama...).Preko Web interfejsa potpuno se
kontrolie poslovanje radnje i upravlja narudbinama.Ovo je sasvim
uobiajen pristup u razvoju Web lokacija ovoga tipa dve potpuno
odvojene aplikacije "napadaju" istu bazu podataka, jedna od njih sa
korisnikog, a druga sa administrativnog nivoa.Celokupna aplikacija
ima ukupno 64 ASP datoteke (30 za front-office, i 34 za
back-office).Kroz itavu aplikaciju od izuzetne je vanosti
manipulacija njenim stanjem.HTTP je stateless protokol (protokol
bez stanja), i posao Web servera je samo da to je pre mogue opslui
klijenta, ne vodei rauna o tome da li je klijent ve bio na sajtu i
da li je ve ranije, na primer, odabrao neki proizvod.Iz tog razloga
Web programer mora voditi rauna o stanju aplikacije, pratiti
posetioce sajta i uvati njihove privremene podatke na
serveru.uvanjem svih relevantnih podataka u sesijskim varijablama
vri se praenje pojedinanog korisnika.* Za proces izlaska iz radnje
potrebno je izraunati porez i trokove otpremanja robe, korienjem
adekvatnih podataka iz baze.* Tabela Tax ima dva zapisa, po jedan
za odgovarajuu stopu poreza za republiku iz koje se vri naruivanje
(na primer, poreska stopa za Srbiju je 4,5, a za Crnu Goru 9
procenata). Tabela Shipping ima zapise koji se odnose na cenu
transporta u zavisnosti od koliine naruenih proizvoda (recimo, ako
se naruuje do 10 proizvoda cena prevoza je 200 novanih jedinica,
ako se naruuje od 10 do 20 cena je 380 n.j., i tako dalje to se vie
proizvoda narui, cena po jedinici bi trebalo da opada).* U
zavisnosti od unosa kupca iz koje je republike, i koliko proizvoda
eli treba izraunati trokove poreza i transporta, dodati ih na cenu
korpe i formirati konanu cenu. Za te proraune razvijena je posebna
komponenta:* Celokupna aplikacija je razloena na tri dela:*
front-end, prezentacija (interfejs) prema korisnicima (ASP),*
srednji deo koji sadri poslovnu logiku (COM),* back-end, obino
server baza podataka ili neki legacy sistem.* Na srednji sloj
(middle-tier) jeste COM komponenta ECStoreBizLogic.dll, razvijena u
Visual Basic-u 6.* Ova poslovna logika vri pristup bazi podataka,
uzima vrednosti poreza i opseg cena za isporuku i na osnovu
parametara koji su joj prosleeni (republika, koliina naruenih
proizvoda) izraunava porez i cenu prevoza.Realizacija kriptografske
zatite* S obzirom da je koliina podataka koju treba preneti do
klijenta prilikom korienja SSL konekcije viestruko vea od koliine
koja se prenosi pri pristupu nezatienom delu aplikacije, enkripcija
podataka u Web aplikaciji ECStore vri se samo prilikom prenosa
najosetljivijih podataka do Web servera (podaci o kreditnoj
kartici).* Web forme koje se bave prikupljanjem i preno-som ovih
informacija do servera baza podataka logiki su na samom zavretku
procesa kupovi-ne, i smetene su u posebnom folderu nazvanom
Secured, koji je na Web serveru podeen da zahteva uspostavljanje
SSL konekcije.* Da bismo doli do ovog koraka, morali smo na Windows
2003 platformi da instaliramo poseban servis koji se naziva
Certificate Authorities, a koji e od naeg servera nainiti lokalno
sertifikaciono telo (CA).* Korienjem usluga ovog CA izdali smo
sertifikat naem Web serveru.* Prilikom definisanja sigurnosti
foldera Secured aplikacije ECStore moemo biti jo restriktivniji, te
zahtevati i klijentske sertifikate. Meutim, poto je re o Web
prodavnici kojoj je potrebno to je mogue vie kupaca, ovaj uslov
nije ukljuen; loginije bi bilo primeniti klijentske sertifikate na
administrativni deo prodavnice u tom sluaju bi takvi sertifikati
bili distribuirani na mini-CD mediju ili SMART kartici.* Kada doemo
do najbitnijeg momenta naruivanja (unos broja kreditne kartice),
vri se preusmeravanje na zatienu formu, obavlja se SSL handshake i
enkriptovana komunikacija zapoinje.43