You are on page 1of 108

1.

as
Mnogi teoretiari smatraju da je pronalazak raunara jedan od najvrednijih pronalazaka oveanstva
koji je u potpunosti promenio i unapredio ivot oveka. Moe se slobodno rei da gotovo da nema ni
jedne oblasti ljudskog stvaraltva u kojoj raunari nisu uzeli dominantnu ulogu. U takvim okolnostima
pojavili su se vani zahtevi za raunarsku nauku kao i njenu primenu u ljudskom stvaralatvu kao to
su:
Potreba za meusobnom razmenom in!orma"ija izmeu raunara.
#ahtev da se smanji "ena i vreme razvoja neke aplika"ije.
#ahtev da se smanje ukupni trokovi kako razvoja tako i uvoenja i obuke osoblja sa aplika"ijom.
Potreba da se pored in!orma"ija razmenjuju i aplikativni programi nezavisno od hardvera i loka"ije
raunara$
%vi ovi zahtevi$ koji su se iskazali jo u ranim sedamdesetim godinama$ reavani su dugo tako da
imamo puno razliitih reenja. Meutim sve su to bila par"ijalna reenja koja su zadovoljavala zahteve
proizvoaa ali ne i korisnike tih reenja. &aime$ u "ilju zatite svojih investi"ija$ razvoja i
proizvodnje$ proizvoai raunarske opreme dosledno su se drali uvanja industrijske tajne
pokuavajui da na taj nain veu svoje korisnike samo za sebe. 'akvi raunarski sistemi$ koji su
napravljeni u spe"i!inoj tehnologiji poznatoj samo proizvoau$ sa neizbenim sistemskim so!tverom$
nazivaju se zatvoreni sistemi. Meutim ovakvi sistemi nisu moglu u potpunosti da zadovolje sve vee
i vee zahteve korisnika ovih sistema$ tako da su vremenom obe strane i korisni"i i dobavljai postajali
sve nezadovoljniji. &aime$sve vei zahtevi korisnika postajali su sve vei teret dobavljaa(proizvoaa
ove opreme$ koji je sada$ da bi zadovoljio zahteve$ morao da sve vie ulae u razvoj novih tehnologija.
%ve te investi"ije nisu uvek donele i pro!it novog proizvoda$ tako da su mnogi dobavljai poeli da
posluju sa gubit"ima. Pored toga primena novih proizvoda i reenja$ zahtevali su i odreeni vremenski
period za razvoj$ testiranje i proizvodnju konanog proizvoda. #a sve to vreme korisni"i su stalno
))gunali)) traei da dobiju proizvod koji su papreno platili. U takvoj situa"iji dobavljai su esto
isporuivali nedovoljno zavrene i testirane proizvode koji su jo vie izazivali nezadovoljstvo
korisnika. %a druge strane korisni"i$ da bi mogli da ostvare pro!it$ morali su da prate nove tehnologije i
da stalno ulau u nove proizvode koji nisu adekvatno zadovoljavali njihove zahteve kako po "eni i
vremenu$ tako i po kvalitetu pouzdanosti i njihovog rada.
*o pojave otvorenih sistema raunarska industrija je bila vie zavisna od sopstvene tehnologije$ nego
od zahteva trita. +aila su dva osnovna prin"ipa i to: ljubomornog uvanja sopstvenog proizvoda i
prodaje na nain ))imam proizvod,treba ga prodati)). &a sli"i broj 1. prikazani su marketinki porivi
koji su doveli do promene strategije u proizvodnji raunarskih sistema i velikog ulaska otvorene
strategije.
OTVORENI
SISTEMI
ZATVORENI
SISTEMI
Specijalni
korisnici
Istraivanje
Razvoj
Proizvoa!i
so"tvera
Proizvoa!i
har#vera
Proizvo
VAR
a

!i
$re aja
%omercijalni
korisnici
%lika broj 1.
1
*anas je savim jasno da raunarska industrija mora pronai nain da se razvoj i upotreba
in!orma"ionih tehnologija mora odvijati potpuno sinhronizovano. -edini nain da se to uradi je
uvoenje i primena meunarodnih standarda za in!orma"ione tehnologije koje e tano de!inisati
potrebe i zahteve trita$ a koje trebaju da zadovolje svi budui proizvodi. U tom smislu potrebno je
jasno de!inisati tri osnovne karakteristike otvorenih sistema:
1. Portabilnost . predstavalja prenosivost aplikativnog so!tvera izmeu razliitih raunara bez
dodatnih zahteva na menjanju izvornog koda.
/. %kalabilnost , zahteva da se aplika"ije mogu izvravati na razliitim genera"ijama raunara$ tj.
drugim rima aplika"ija koja radi na P0 123 raunarima mora da radi i na Pentium 4+ raunarima.
1. 4nteroperabilnost . omoguuje da postoji veza izmedju novih i starih tehnologija$ tj. &ove
tehnologije mogu se instalirati i na starim reenjima bez nekog dodatnog ulaganja i promene "ele
in!rastrukture. 'akoe$ ona podrazumeva da raunari razliitih proizvoaa koji imaju razliiti
hardver i sistemski so!tver$ mogu nesmetano da komuni"iraju bez obzira na njihovu udaljenost i
raunarsku snagu.
5ada neki sistem zadovoljava ove tri nabrojane karakteristike: portabilnost$ skalabilnost i
interoperabilnost$ kao i kada postoje unapred doneti otvoreni meunarodni standardi$ u kojima svako
zainteresovan moe da uestvuje$ kao i kada su ti rezultati svima dostupni$kaemo da se radi o
komponenti otvorenog sistema. %kup vie ovakvih komonenti ini otvoreni sistem.
5ada razgovaramo o prednosti otvorenih sistema nad zatvorenim potrebno je da razmotrimo:
1. Per!ormanse . jasno je da su otvoreni sistemi sporiji ali su zato prilagodljiviji i gledano dugorono
mnogo isplativiji
/. 0ena . zbog vee konkuren"ije jasno je da je "ena otvorenih sistema manja ali treba imati u vidu i
"enu prelaska sa zatvorenih na otvorene sisteme. 6ledano dugorono i tu su u prednosti otvoreni
sistemi.
1. 4zbor . sve je vei broj kupa"a koji znaju ta hoe da kupe pa je prema tome vei izbor$ koji je
prisutan kod otvorenih sistema jedna velika prednost.
7. Progres . kod otvorenih isstema to je uvek otvoren pro"es jer se oni stalno razvijaju i dopunjuju .
8. Prelazak . jasno je da se "ena prelaska sa zatvorenih na otvorene sisteme jednom mora platiti ali
kao to je ranije reeno dugorono se to isplati.
3. %igurnost . ovo je jedini !aktor koji je diskutabilan jer kod otvorenih sistema je svakom sve
dostupno tj. sve se moe pronai u literaturi. 5ako uvek ima ljudi koji ele da nakode drugima$
bilo da pokvare ili ukradu$ ovo je jedini parametar koji ide u prilog zatvorenih sistema.
/
/ as Proces stan#ar#izacije
*anas u svetu postoje mnoge organiza"ije koje imaju vaan uti"aj na razvoj standarda i u prin"ipu
mogu se podeliti na tri grupe: javne, korisnke i industrijske.
5ada se govori o standardima onda treba rei da postoje dve vrste standarda i to : de facro i de jure
koji predstavljaju latinske izraze za 9u stvarnosti: i 9po zakonu9$ respektivno. De jure standardi su
javni standardi koji su stalno podloni otvorenom pro"esu u kome svako moe da uestvuje i iji su
rezultati svima dostupni. ;vakav standard se usvaja tek kada se o svim pitanjima dogovore svi
zainteresovani tj. kada se postigne konsenzus po svim pitanjima. De facto standardi su ustvari
standardi koje su propisali veliki proizvoai koji su svojom dominantnom ulogom na tritu uspeli da
nametnu svoje proizvode a samim tim i postave standarde za njih < 4=M P0$ 4ntel >23$ ?'@'$ U&4A i
td.B Moe se desiti da de !a"to standardi preu u javne standarde usled jakog pritiska trita da se to
uradi < primer U&4A,aB.
&a !ormiranje standarda puno puta pored strunih motiva utiu i neke drugi interesi$ pre svega trini.
=a zbog toga javne standarde moemo podeliti na minimalne$ kompromisne i maksimalne.
Minimalni standard je standard koji obuhvata samo one osobine proizvoda o kojima se uesni"i mogu
lako dogovoriti. ;n se javlja kao posledi"a postojanja vie dobrih proizvoda na tritu koji imaju dosta
istih ili slinih osobina. Meutim$ izmeu tih proizvoda postoje i velike razlike koje se prevazilaze
velikom eljom da se i pored tih razlika doe do nekog opte prihvaenog javnog standarda. ;vakav
standard je za trite najloije reenje pa se ovakvi minimalni standardi prihvataju kao prelazno reenje
do zavretka kompletnog otvorenog pro"esa. *ruga krajnost je maksimalni standard koji daje mnogo
bolji rezultat ali je kod njega problem to za nastajanje ovakvog standarda treba dui vremenski period
kao i vee promene na proizvodima koji se ve nalaze na tritu. 4z svega ovog dolazi se do
kompromisnog standarda koji su i najprisutniji na tritu.
%ve organiza"ije koje se bave izdavanjem javnih standarda upuene su jedne na druge tj. potrebna je
velika saradnja izmeu njih kako bi se izbeglo donoenje standarda koji bi se meusobno preklapali.
&a taj nain izbegava se mogunost pojavljivanja vie standarda koji bi de!inisali isti problem a na
razliite naine. ;snovno pravilo koje ovde vai je da se nikad ne de!inie neto zato ve postoji
standard ili de!ini"ija.
*onoenje nekog otvorenog standarda sastoji se iz nekoliko koraka i to:
1. CD' , izdavanja zahteva za standadiza"iju novog proizvoda ili tehnologije: zahtev za novi
standard
/. *P , komentarisanja predloenog standadrda: izdavanje privremenog predloga$
1. *4% , izdavanja spe"i!ika"ije: izdavanje privremenog standarda
7. 4% . i na kraju usaglaavnja svih pristiglih predloga: izdavanje pravog interna"ionalnog
standarda
OR&ANIZA'I(A
)OS*+
ZAINTERESOVANI
ZAINTERESOVANI
IS ,IS ,P
R*T
)Re-$est "or
technolo./+
Draft
Proposal
Draft
International
Standard
International
Standard
0
1 2 3
%lika broj /. Pro"es donoenja standarda
1
5on"eptualni model raunarskog sistema
;vaj model podeljen je na E nivoa i to:
E. 5orisniki inter!ejs
3. ?plika"ija
8. Programski jezi"i
7. %o!tverski alati
1. ;perativni sistem
/. Fardverske komonente
1. Mikropro"esor
Zaje#ni!ko aplikaciono okr$enje
Potreba za skupom standarda koji e obezbediti potrebne osobine otvorenih sistema prirodno vodi ka
standardiza"iji i okruenja u kojem se oekuje da e aplika"ija biti razvijana i u kojem e raditi. #ato je
i A(;pen konzor"ijum zaduen da de!inie i razvije zajedniko aplika"iono okruenje 0?G < Common
Application EnvironmentB. &jegov "ilj je da obezbedi portabilnost aplika"ionog so!tvera de!inisanjem
tri osnovna prin"ipa koji se odnose na: zajedniki korisniki inter!ejs$ zajedniki programerski inter!ejs
i zajedniki model za komunika"ije. 'o podrazumeva jedinstveni pristup u komunika"iji izmeu
raunara i oveka$ jedinstvenu sintaksu kod glavnih programskih jezika i omoguavanje svim
korisni"ima da mogu da komuni"iraju putem mree bez obzira na vrstu opreme kojom raspolau.
5opletna de!ini"ija zajednikog aplika"ionog okruenja je dosta velika i neis"rpna kategorija tako da
se ona stalno dopunjuje i proirava. %ve te de!ini"ije smetene su u seriju knjiga koje pojedinano
opisuju svaki standard i koje su poznate pod imenom A(;pen PortabilitH 6uide <AP6B. U njima se
de!iniu mnogi standardi koji se mogu razvrstati na sedea podruja:
, strategija prelaska na otvorene sisteme$
, operativni sistemi$
, upravljanje poda"ima$
, alati za razvoj aplika"ija$
, programski jezi"i$
, interna"ionaliza"ija$
, mree i komunika"ija$
, sigurnost i administra"ija sistema$
, inter!ejs izmeu oveka i raunara.
Moe se slobodno konstantovati da samo oni aplika"ioni programeri koji se pridravaju svih ovih
standarda i preporuka mogu raunati na aplika"iju koja e biti ope prihvaena.
Ra!$narske mree
Caunarska mrea predstavlja jedan komunika"ioni sistem preko koga se vri razmena in!orma"ija
izmeu vie korisnika na manjim ili veim rastojanjima. -ednu mreu moemo da posmatramo kroz
vie aspekata i to: njenu topologiju$ protokoli za komunika"iju$ elektrini inter!ejsi$ tip modula"ije i tip
noseeg signala$ medujuma za prenos in!orma"ije i td.
'opologija mree predstavlja nain na koji su povezani korisni"i i mrei. &ajire mrene topologije
su : zvezda$ magistrala i prsten <star$ bus i ringB
Prenosni mediji<kanaliB razlikuju se po irini pojasa$ brzini prenosa i kapa"itetu kanala. Sirina
pojasa<bandIithB je elektrina karakteristika kojom se de!inie opseg izmeu najnie i najvie
!rek!en"ije unutar kojega signal moe de pree prenosni put bez izoblienja. Brzina prenosa <baud
rateB de!inie broj promena elemenata ili stanja signala u jedini"i vremena a kapacitet kanala je
maksimalna brzina koju prenosni put moe da izdri a da se ne generie greka u prenosu.
Tehnike prenosa dele se na analogne < koriste se digitalni signali za modulisanje noseeg signala
upotrebom aplitudne$ !azne ili !rekventne modula"ijeB i digitalna metoda prenosa gde se podrazumeva
prenos digitalnog signala na njegovoj osnovnoj !rekven"iji bez modula"ije.
Protokoli predstavljaju skupove sintaksniih i semantikih pravila kojima se odruje ponaanja
!unk"ionalnih jedini"a prilikom odvijanja komunika"ija. &jima se de!inie kako se neka in!orma"ija
7
isporuuje$ kako se pakuje da sigurno doe do odredita $ kojim putem da ide$ kako se proveravaju i
otklanjaju greke u in!orma"ijama i td.
Po# a#resom se u komunika"ijama podrazumevaju nain kako predajni ili kontrolni vor bira vor
kome e poslati poruku. ?dresa nije nita drugo ve identi!ika"ija prijemne strane. Postoje logike i
!izike adrese. Dizika adresa je jedinstvena adresa koja se pridruuje uz svaki ureaj koji je vezan na
mreu. Uz adrese je usko vezan i pojam domena koji predstavlja skup poetnih adresa odreenih grupa
u nekoj veoj mrei.
Repeater<pojaaloB, vri regenera"iju signala na !izikom i link nivou i prosleuje ga dalej kroz
prenosni sistem.
4ri#.e<mostB,razreava nekompatibilnost izmeu dve mree na niem nivou komunika"ije . na nivou
mrenog protokola.
Ro$ter<odailjaB, slui da prevazie nekompatibilnost na nivou transportnog protokola.
&ate5a/, slui da povee dvr potpuno razliite mree kada su razlike prisutne i na gornjim nivoima
komunika"ija to se javlja kada se lokalne mree povezuju u J?&.
Mreni har#ver
Mree se prave i od hardvera i od so!tvera. Mreni hardver obezbedjuje !izike veze izmedju razliitih
vorova u mrei i tipino obuhvata:
K Mrene karti"e za spregu <&40 , &etIork 4nter!a"e 0ardsB$ po jednu za svaki P0 raunarL
K Mredni uredjaje$ kao to su vorita$ mostovi$ usmerivai i komutatori$ koji su svi zajedno odgovorni za
povezivanje razliitih segmenata mree i za osiguravanje da se paketi in!orma"ija poalju na eljeno
odrediteL
K Mreni kablovi <oklopljeni bakarni provodni"i slini tele!onskim kablovimaB koji povezuju svaku mrenu
karti"u za spregu sa voritem ili prekidaem.
Mrene kartice za sprek$ )NI'+
Mrene karti"e za spregu$ koje se obino oznaavaju kao &40$ koriste se da poveu P0 raunare sa
mreom. &40 obezbedjuje !iziku vezu izmedju mrenog medijuma i unutranje magistrale raunara$ i
odgovorna je za omoguavanje Mpristupnog metodaM mrei <to su ;%4 slojevi 1 i /B.
+eina mrenih karti"a za spregu su projektovane za odredjeni tip mree$ protokola i medijuma$ mada neke
od njih mogu da opslue vie mrea. 5arti"e su raspoloive da podre gotovo sve mrene standarde$
ukljkuujui tu i najnovije okruenje Dast Gthernet. Mrene karti"e za Dast Gthernet su esto u stanju da
podravaju 1N(1NN Megabita u sekundi i postavie se automatski odgovarajuu brzinu. *ruga op"ija je
puno dupleksno umreavanje$ gde posebna veza do prekidaa omoguava da &40 radi dvostrukom
brzinom.
6vori7ta8repetitori
Ovorita(repetitori se koriste da medjusobno poveu dva ili vie segmenata mree bilo koje vrste medijuma.
U veim konstruk"ijama$ kvalitet signala poinje da se pogorava kada segmenti predju neku maksimalnu
duinu. Ovorita obezbedjuju pojaanje signala koje je potrebno da bi se segment produio na veu
razdaljinu. Pasivna vorita jednostavno usmeravaju pakete podataka koje primaju preko porta od jedne
radne stani"e na sve svoje preostale portove. ?ktivna vorita$ koja se ponekad takodje nazivaju i
Mrepetitori sa vie portovaM$ regeneriu bitove podataka da bi odrala jak signal.
Ovorita se takodje koriste u topologijama zvezde kao to je mrea 1N=ase'. Ovorite sa vie portova za
upredene pari"e dozvoljava da se vie segmenata taka,na,taku zdrui u jednu mreu. -edan kraj linka
taka,na,taku je prikljuen na vorite$ a drugi na raunar. ?ko je vorite prikljueno na MkimuM$ tada
svi raunari na kraju segmenata upredenih pari"a mogu da komuni"iraju sa svim matinim raunarima na
MkimiM.
+ana injeni"a koju treba zapaziti o voritima je da ona samo dozvoljavaju korisni"ima da dele Gthernet.
Mrea vorita(repetitora se naziva Mdeljeni GthernetM$ to znai da se svi uesni"i u mrei takmie za
prenos podataka na jednoj mrei <domen sukobaB. *rugim reima$ individualni uesni"i na deljenoj mrei
e dobiti samo izvestan pro"ent raspoloivog mrenog propusnog opsega. =roj i vrsta vorita u bilo kom
domenu sukoba za mreu 1N=ase' Gthernet ogranieni su prema sledeim pravilima:
Tip mree Maksimalni 9roj Maksimalno
8
!vorova
po se.ment$
rastojanje
po se.ment$
1N=ase' / 1NNm
1N=ase/ 1N 128m
1N=ase8 1NN 8NNm
1N=aseDP / /NNNm
*ok repetitori dozvoljavaju lokalnim raunarskim mreama da se produe dalje od normalnih grani"a
rastojanja$ oni ipak ograniavaju broj vorova koji mogu da se podre. Medjutim$ mostovi$ usmerivai i
prekidai dozvoljavaju lokalnim raunarski mreama da znaajno porastu zbog njihove sposobnosti da
podre potpune Gthernet segmente na svakom portu.
Mostovi
Mostovi su postali komer"ijalno raspoloivi u ranim 1Q2N,im godinama. U vreme njihovog uvodjenja$
njihova !unk"ija je bila da poveu razdvojene homogene mree. 5asnije je premoivanje razliitih mrea ,
na primer$ Gthernet i 'oken Cing , takodje de!inisano i standardizovano. Mostovi su uredjaji za
komunika"ije podataka koji u prin"ipu rade na %loju / ;%4 re!erentnog modela. 5ao takvi$ oni se esto
nazivaju uredjajima za sloj linka podataka.
Mostovi preslikavaju Gthernet adrese vorova koji su na svakom segmentu mree i doz,voljavaju da samo
neophodan saobraaj prodje preko mosta. 5ada most primi paket$ on odredjuje segmente njegovog izvora i
odredita. ?ko su ti segmenti isti$ paket se isputa <M!iltriraMBL ako su segmenti razliiti$ paket se sumerava
na ispravan segment. Pored toga$ mostovi ne usmeravaju oteene pakete.
Mostovi se takodje nazivaju uredjajima za Mmemorisanje i prosledjivanjeM$ jer oni pregledaju "eo Grthernet
paket pre nego to naprave odluke o !iltriranju ili prosledjivanju. Diltriranje paketa i njihovo regenerisanje
omoguava tehnologiji premoavanja da podeli mreu u odvojene domene sukoba. 'o dozvoljava da se u
ukupnom projektu mree koriste vea rastojanja i vie repetitora.
+eina mostova su uredjaji sa samoobuavanjemL oni utvrdjuju korisnike Gthernet adrese na segmentu
izradjujui tabelu dok paketi prolaze kroz mreu. ;va sposobnost samoobuavanja$ medjutim$ dramatino
poveava mogunost pojave mrenih petlji u mreama koje imaju mnogo mostova. Petlja predstavlja
kon!liktnu in!orma"iju o tome na kom segmentu je smetena odredjena adresa i prisiljava uredjaj da
prosledi sav saobraaj.
*o sredine 1QQN,ih godina$ komuta"iona tehnologija kao evolu"ioni naslednik reenja sprezanja vie mrea
zasnovanih na mostovima. =olja per!ormansa po propusnoj moi$ vea gustina portova$ nia "ena po portu
i vea !leksibilnost doprinele su pojavi komutatora kao tehnologije koja e zameniti mostove i biti
komplement tehnologiji usmeravanja.
:smeriva!i
Usmeravanje je dostiglo komer"ijalnu popularnost sredinom 1Q2N,ih godina , u vreme kada je sprezanje
mrea velikog obima poelo da zamenjuje dosta jednostavna$ homogena okruenja koja su do tada bila
obraza". Usmeravanje je in pomeranja in!orma"ija preko mrea$ od izvora do odredita. ;no se esto
poredi sa premoavanjem$ koje izvrava slinu !unk"iju. 6lavna razlika izmedju ove dve tehnologije je u
tome to se premoavanje pojavljuje na %loju / <sloj linka podatakaB ;%4 re!erentnog modela$ dok se
usmeravanje pojavljuje na %loju 1 <mreni slojB. ;va razlika daje usmeravanju i premoivanju razliite
in!orma"ije koje oni koriste u pro"esu pomeranja in!orma"ija od izvora do odredita$ tako da te dve
!unk"ije ispunja,vaju svoje zadatke na razliite naine.
Usmerivai koriste in!orma"ije unutar svakog paketa da bi ga usmerili iz jedne lokalne raunarske mree u
drugu i da komuni"iraju medjusobno i dele in!orma"ije koje im dozvoljavaju da odrede najbolju putanju
kroz sloenu mreu od mnogo lokalnih raunarskih mrea. *a bi to izveli$ usmerivai rade i odravaju
Mujsmerivake tabeleM$ koje sadre razliite delove in!orma"ija o putanjama , zavisno od upotrebljenog
algoritma za usmeravanje. &a primer$ pridruivanje odredita sledeem skoku kae usmerivau da dato
odredite moe optimalno da se dostigne ako se paket poalje odredjenom usmerivau koji predstavlja
Msledei skokM na putu ka konanom odreditu. 5ada usmeriva primi dolazni paket$ on proverava adresu
odredita i pokuava da pridrui tu adresu sledeem skoku.
%om$tatori
3
5omutatori lokalne raunarske mree su proirenje kon"epta premoivanja. ;ni rade na %loju / <sloj linka
podatakaB ;%4 re!erentnog modela$ koji upravlja tokom podataka$ opsluuje greke u prenosu$ obezbedjuje
!iziko <nasuprot logikomB adresiranje i upravlja pristupom !izikom medijumu. 5omutatori obezbedjuju
ove !unk"ije koristei razliite protokole sloja linka , kao to su Gthernet$ 'oken Cing i DD*4 , koji
diktiraju spe"i!ine algoritme za upravljanje tokom$ opsluivanje greaka$ adresiranje i pristup medijumu.
5omutatori lokalnih raunarskih mrea mogu medjusobno da poveu etiri$ est$ deset ili vie mrea i
imaju dve osnovne arhitekture: prose"anje i memorisanje i prosledjivanje. U prolosti$ komutatori za
prose"anje su bili bri$ jer su ispitivali adresu odredita paketa samo pre njegovog prosledjivanja na njegov
odredini segment. 5omutator sa memorisanjem i prosledjivanjem$ sa druge strane$ prihvata i analizira "eo
paket pre njegovog prosledjivanja ka odreditu.
Potrebno je vie vremena da se ispita "eo paket$ ali to dozvoljava komutatoru da uhvati neke greke u
paketu izadri ga od daljeg prostiranja kroz mreu. *o poznih 1QQN,ih godina$ brzina komutatora sa
memorisanjem i prosledjivanjem je uhvatila korak sa komutatorima za prose"anje$ tako da je razlika
izmedju njih postala minimalna. *o tada se pojavio veliki broj hibridnih komutatora koji su davali
meavinu obe ove !unk"ije.
Primopre#ajnici
Primopredajni"i se koriste za povezivanje vorova na razliite Gthernet medijume. +eina raunara i
mrenih karti"a za spregu sadri ugradjeni primopredajnik za 1N=ase' ili 1N=ase/$ dozvoljavajui im da se
direktno poveu na Gthernet vez potrebe za spoljanjim primopredajnikom. Mnogi Gthernet uredjaji imaju
?U4 konektor koji dozvoljava korisniku da ih povee na bilo koji medijum preko spoljanjeg
primopredajnika. ?U4 konektor se sastoji od 18,pinskog konektora$ od koga je enski deo na strani
raunara$ a muki na strani primopredajnika. 5ablovi <1N=?%G8B takodje koriste primopredajnike za
povezivanje.
#a mree Dast Gthernet$ razvijena je nova sprega zvana M44 <Media 4ndependent 4nter!a"e , sprega
nezavisna od medijumaB koja nudi !leksibilan nain za podravanje veza brzine od 1NN Megabita u
sekundi. M44 je popularan nain da se poveu linkovi 1NN=ase,DA sa uredjajima za Dast Gthernet
zasnovanim na bakarnim provodni"ima.
%a9lovi
Udruenje za industruju raunarskih komunika"ija <004?B je 1Q28. godine zatrailo da Udruenje za
elektronsku industriju <G4?B razvije generiki kablovski standard za komer"ijalne zgrade koji bi bio u
stanju da prenosi sve tadanje i budue mrene sisteme preko zajednike topologije$ koristei zajedniki
medijum i zajednike konektore.
*o 1Q2E. godine vie proizvodjaa je razvilo opremu za Gthernet koja bi mogla da koristi tele!onski kabl
od upredene pari"e$ a 1QQN. godine je uveden standard 2N/.14 Gthernet 1N=ase' <gde se M'M odnosi na kabl
od upredene pari"eB. G4? je zajedno sa Udruenjem za industriju telekomunika"ija <'4?B 1QQ1. godine
konano objavila prvi standard za kablovske telekomunika"ije nazvan G4?('4? 832$ ime je rodjen
strukturni kablovski sistem. ;n je bio zasnovan na &eoklopljenom kablu sa upredenim pari"ama
5ategorije 1 <U'PB$ a uskoro$ posle mese" dana$ pojavile su se spe"i!ika"ije U'P vieg stepena$ 5ategorija
7 i 8.
%ledea tabela prikazuje razliite vrste U'P kablova koji se najvie koriste krajem /NNN. godine:
Tip %arakteristike
5ategorija 1
5oristi se za tele!onske komunika"ije i nije pogodan za
prenos podataka
5ategorija /
Moe da prenosi podatke brzinama do 1 Megabita u
sekundi
5ategorija 1
5oristi se u mreama 1N=ase' i moe da prenosi
podatke brzinama do 13 Megabita u sekundi
5ategorija 7
5oristi se u prstenastim mreama asa etonom i moe da
prenosi podatke brzinama do /N Megabita u sekundi
5ategorija 8
Moe da prenosi podatke brzinama do1NN Megabita u
sekundi
E
2
as 1 TOPO;O&I(E ;O%A;NE MRE<E
Poslednjih 1N,tak godina razvijeno je vie originalnih mrenih topologija koje su sve zavisile od
razliitih kriterijuma i zahteva koje su trebale da zadovolje. Pre razmatranja samih toplogija
potrebno je razjasniti dva pojma koja su vezana za topologiju mrea i to:
1. !izika topologija<physical topology B koja podrazumeva raspored medijuma same mree tj.
!izikih vodova <bakarni ili optiki kabloviB i ureaja u samoj mrei.
/. logika topologija < logical topologyB koja podrazumeva logike puteve u samoj mrei kojima
se stvarno poda"i kreu.
U veini savremenih lokalnih mrea koriste se sledee osnovne topologije:
1. topologija magistrale <bus topologHB
/. topologija zvezde <star topologHB
1. topologija prstena <ring topologHB
7. topologija u obliku mree <mesh topologHB
8. meovita topologija <hHbrid topologHB
Topolo.ija ma.istrale
-ednostavna struktura magistrale bila je prva toplogija koja se koristila u Gthernet mreama. ;na se
sastoji od koaksijalnog kabla koji meusobno povezuje sve raunarske komponente koje se nalaze u
lokalnoj mrei. 5oaksijalni kabli ima vie prikljuaka i svaki od njih se koristi kao taka povezivanja
raunarskog sistema. Priklju"i mogu biti direktno spojeni "entralni provodni"i koaksijalnih kablova ili
=&0 rave <' konektoriB. 5od ovakve realiza"ije logika i !izika topologija se poklapaju. Poto se
ovde radi o tehnologiji zajednikog medijuma$ javlja se potreba za postojanjem mehanizama koji e
regulisati saobraaj na tom mediju. #ato se ovde de!iniu dva pojma koja su vrlo bitna za odvijanje
saobraaja tj. razmene podataka izmeu ureaja na mrei i to su:
- algoritam za izbegavanje kolizije <collision avoidanceB ili algoritam za detektovanje kolizije
<collision detection B.
- pojam emisije <broadcast B koji de!inie jainu signala kako bi poda"i nesmetano mogli da
dou do svakog ureaja na mrei
'oplogija magistrale se vrlo jednostavno realizuje i ona predstavlja dosta jevtino reenje jer su
trokovi istaliranja kablova niski. =a iz tog razloga ona ima i neke nedostatke koji dosta ograniavaju
primenu ovakve topologije u lokalnim mreama:
- zahteva odgovarajue zavretke <terminatoreB na svakom kraju magistrale kako bi se e!ikasno
priguili signali i spreila njihova re!leksija ili ponovna pojava prethodnog prenosa. Ukoliko su
oni neodgovarajui ili ukoliko ih nema tada e saobraaj na mrei biti vrlo spor ili ga uopte
nee biti.
- sam kabli je izvor otkaza. &jegovo oteenje ili prekid imaju negativan uti"aj na "elu mreu.
- instala"ija novi stani"a na mrei zahteva privremeni prekid na mrei.
- bilo kakav problem na mrei se teko detektuje a samim tim i brzo otklanja$ a sve to zahteva
prekid na mrei.
#bog svih ovih nedostataka i ogranienja$ topologija magistrale se obino primenjuje u najmanjim ili
najjednostavnijim instala"ijama lokalnih mrea.
Topolo.ija zvez#e
5od ove topologije svaki vor lokalne mree povezan je posebnim kablom sa "entralnim mestom$ koje
je obino razvodni orman. %vi kablovi ulaze u jednu mrenu komponentu poznatu kao hab <hubB ili
komutator <switchB. ;snovna uloga ovog ureaja je da ponavlja ili komutira saobraaj ka ostalim
vorovima mree.
;vde su oigledni nedosta"i ovakve topologije: sama mrena komponenta je izvor otkaza a i zahteva
se obimno kabliranje koje nije tako jevtino.
Meutim ovakva topologija ima i velike prednosti u odnosu na topologiju magistrale koje se ogledaju
u sledeem:
- upravljanje mreom je skon"etrisano oko habova i komutatora. +eina ovih komponenti
poseduju svoju inteligen"iju koja omoguava administratorima da vre nadgledanje protoka
Q
saobraaja kroz ove ureaja a samim tim omoguavaju da se tano odrede mesta zaguenja i
greke u radu mree ve na nivou portova$ a to znai brzo i e!ikasno otklanjanje problema.
- 4nteligentni ureaji omoguavaju da se automatski onemogue portovi koji premauju pragove
upotrebe ili greke ime se dodatno poveava stabilnost mree.
- kablovska instala"ija ima manji uti"aj i ne remeti servise lokalne mree kada se dodaju ili
uklanjaju vorovi.
- prekid kabla ili neispravan konektor eliminie samo jedan vor ili segment a ne sve
komponente u lokalnoj mrei.
- elektrini zavret"i ovde nisu ptrebni.
*anas je ovakva topologija najrasprostranjenija u gotovo svim !izikim realiza"ijama mrea.
Topolo.ija prstena
'opologije prstena su neto sloenije za izvoenje u odnosu na topologije zvezde i topologije
magistrale. ;vde vorovi logiki komuni"iraju u !orma"iji prstena ali se zato !izika realiza"ija
najee sprovodi u vidu zvezde. ;vde svaki vor komuni"ira samo sa neposrednim susedima .
dolaznim i odlaznim. U ovoj topologiji kontrola pristupa vri se pomou tokena koji se prosleuje od
vora do vora i koji slui kao mehanizam arbitrae. %vaki vor eka svoj red da zatrai korienje
tokena koji se prosleuje od vora do vora dok ne stigne do odredinog vora. 5ada ga ovaj primi$ on
ga modi!ikuje kako bi potvrdio da ga je primio i prosledi ga dalje. &a kraju vor poiljala" prima paket
koji je obiao "eo krug$ prima potvrdu da je podatak koji je on poslao primljen i ako je sve u redu
oslobaa token za prihvatanje i transport novog podatka.
Prednosti ove topologije su odmah vidljive:
- pristup kontrolisanim tokenom nudi iri koristan propusni opseg jer nema potrebe za
korienjem algoritma za detek"iju ili izbegavanje kolizije.
- prenos paketa obavlja se u utvrenimvremenskim intervalima tako da svaki vor lako moe da
utvrdi potrebno vreme za prenos sledeeg podatka. ;vaj kvalitet prenosa je vrlo bitan u
proizvodnim okruenjima gde je vremenski raspored najvaniji.
- lako detektovanje greke u prenosu jer svaki vor preoznaje koji mu je dolazni a koji odlazni
vor.
;vakva topologija iskoriena je kod D**4 <Diber *istributed *ata 4nter!a"eB . optiki prenos
podataka. ;vde se koriste udvojeni prstenovi gde su smerovi prosleivanja tokena meusobno
suprotni. &a taj nain dobija se komunika"ija koja je otporna na greke.
-edan od najveih nedostataka ove topologije je mala brzina zbog !irmvera koji je neophodan kod
svake mrene karti"e a koji nam upravlja prenosom tokena.
Topolo.ija mree
;va topologija podrazumeva preplitanje vie veza izmeu vorova. ;snovna zamisao je da se
obezbede vie puteva izmeu vorova mree kako bi se postigla vea pouzdanost i otpornost na
greke. ;vde razlikujemo potpune <fullB i delimine <partialB mree. Potpuna mrea nije praktina jer
zahteva da svi vorovi na mrei budu vezani sa svakim vorom to u mnogome komlikuje kabliranje.
'rokovi kabliranja su veliki a negde oko QN R svih !izikih puteva nikada nee biti korieni.
*elimina mrea je projektovana da obezbedi udvajanje samo onde gde je to neophodno. &a
projektantu sistema je da predvidi dodatno povezivanmje koje bi obezbedilo potreban propusni opseg i
otpornost na greke.
Me7ovita topolo.ija
Povezivanjem mrenih ureaja habova i komutatora i korienjem svih do sada pomenutih topologija
dobile su se meovite topologije od kojih su najpoznatije: stablo$ hijerahijska zvezda i beina zvezda.
%tablo predstavlja kombinovanu topologiju koja grupie radne stani"e u zvezdu a te zvezde su
meusobno povezane sa linearnom magistralom.6lavni problem magistrale ovde je ukonjen jer radna
stani"a ne moe da zaustavi saobraaj na "eloj lokalnoj mrei. Cadne stani"e mogu da meusobno
komuni"iraju ak i u sluaju da doe do prekida glavne magistrale. *anas se za sprovoenje ovakve
topologije koriste i razliiti !iziki mediji pa se tako za kabliranje magistrale koriste optiki kablovi a
za kabliranje zvezde U'P kablovi.
1N
Fijerarhijska zvezda povezuje vie habova sa prikljuenim stani"ama pomou "entralnog haba.
%inhronizovanje i adresni prostor su odluujui !aktori o broju habova koji se povezuju u ovakvoj vrsti
topologije.
Usred napredtka tehnologije beinog prenosa pojavila se nova hibridna topologija beine lokalne
mree gde su stani"e povezane u topologiji zvezde. Pristupne take <a"ess pointB povezane su zvezdu a
sve radne stani"e koje ele da komuni"iraju moraju biti u blizini tih pristupnih taaka.
Vrste ka9lova
1. 5oaksijalni . =&0 predstavlja kabli koji se sastoji od "entralno postavljenog provodnika koji
je smeten u izola"ioni materijal preko koga se nalazi metalni oklop. 5ako ovaj kabli zadrava
sva elektomagnetna polja unmutar sebe potrebno je da se spoljni oklop uzemlji kako bi se
spreile smetnje u prenosu podataka. 5oriste se dva tipa kabla i to tanki <thinnetB,1N=?%G,/ i
debeli <thi"knetB kablovi,1N=?%G,8. Ma>. brzina do 1N MbHte.
/. U'P <Unshielded 'Iisted PairB. tele!onski kabl$ upredena pari"a koja smanjuje kapa"itivnost
izmeu i"a i eliminie presluavanje izmeu njih. +eina kablova koje se koriste u lokalnim
mreama ima etri para provodnika. 'aj kabli je postao standard i oznaava se sa G4?('4?,
832= standard kabliranja. Ma>. brzine 1NNMbHte,16bHte. 5ategorija 8 do 1NNMFz$ kategorija
3 do /8N MFz i kategorija E do 3NN MFz.
1. ;ptiki kablovi su u mnogome razlikuju od bakarnih kablova jer se za prenos podataka koristi
tehnika svetlosti koja se prenosi kroz vlakna koja su debljine dlake. ;ptiki kablovi
omoguavaju ire propusne opsege i manje gubitke signala to nam omoguava prenose
podataka na razdaljinama od preko /NNNm <kod bakarnih vodova to je bilo ma>.1NNm. 'akoe
se postiu i znatno vee brzine prenos podataka koje se kreu preko 16bHte. &ajvei
nedostatak bakarnih vodova je u tome da se sa poveanjem uestanosti signala poveavaju i
gubit"i pa je tako gubitak na 1NNMFz mnogo vei nego na 1NMFz. to kod optikih kablova to
ne postoji. ;ptiki kabli je i laki od bakarnog i to /8R do 8NR.
7. =eine komunika"ije oko 7NMbHte.
Mrea ravnopravnih ra!$nara
U mrenoj arhitekturi ravnopravnih raunara <peer,to,peer$ ili P/PB$ svaki raunar <radna stani"aB ima
podjednake mogunosti i odgovornosti. &ema servera$ a raunari su jednostavno povezani medjusobno u
radnoj grupi$ da bi delili datoteke$ tampae i pristup 4nternetu. 'o je praktino za radne grupe od dvanaest
raunara ili manje$ to je esto u mnogim %;F; okruenjima$ gde svaki P0 raunar radi kao nezavisna
radna stani"a koja pamti podatgke na svom sopstvenom vrstom disku$ ali moe i da ih deli sa svim drugim
P0 raunarima u mrei.
%o!tver za mree ravnopravnih raunara je ukljuen uveini modernih operativnih sistema za stone
raunare$ kao to su JindoIs i Ma" ;%$ bez potrebe da se kupuje spe"ijalni MmreniM so!tver.
%lijent=server
?rhitekture mrea tipa klijent,server postale su popularne krajem 1Q2N,ih i poetkom 1QQN,ih godina$
kakda su mnoge aplika"ije prele sa "entralizovanih miniraunara i velikih "entralnih raunara na mree
personalnih raunara. Projektovanje aplika"ija za distribuirano raunarsko okruenje zahtevalo je da one
budu podeljene na dva dela: klijenta <prednji krajB i servera <zadnji krajB. ?rhitektura mree na kojoj su one
bile implementirane odslikavala je ovaj model klijent,servera pomou korisnikovog P0 raunara <klijentaB
koji se tipino ponaao kao maina koja postavlja zahteve i monije serverske maine , na koju je klijent
bio povezan preko lokalne ili regionalne raunarske mree , koja se ponaala kao maina koja obezbedjuje
traenu uslugu.
&jihova unutranja skalabilnost ini klijent,server mree pogodnim za poslovanje srednjeg i velikog
obima$ gde se serveri po kapa"itetu rangiraju u opsegu od vrhunskih P0 raunara do velikih "entralnih
raunara$ ve prema potrebi. 5lijent,server mree zahtevaju pored normalnog operativnog sistema i
dodatni so!tver posebnog Mrenog operativnog sistema <&;% , &etIork ;perating %HstemB.
11
P1P ra!$narstvo
*o poetka /NNN. godine dogodila se revolu"ija u potpuno novom obliku raunarstva izmedju
ravnopravnih raunara P/P <peer,to,peerB. ;svetljeno izuzetnim uspehom velikog broja veoma dobro
reklamiranih aplika"ija MP/P raunarstvoM , kako se ovaj novi pristup obino naziva , najavilo je novi
model raunarstva za doba 4nterneta i postiglo je$ u kratkom vremenuu$ znaajno privlaenje korisnika
velikih "entralizovanih raunara i pripadnika industrije P0 raunara:
K ?plika"ija &apster MP1 za deljenje muzikih datoteka je oivela u septembru 1QQQ. godine i privukla je
vie od /N miliona korisnika do sredine /NNN. godine.
K *o kraja /NNN. godine$ preko 1NN kompanija i brojni istraivaki projekti bili su angaovani na P/P
raunarstvu.
K *o poetka sledee godine$ program %G'4Shome$ koji koristi distribuiranu obradu za analizu
radioteleskopskih podataka$ privukao je vie od /$3 miliona korisnika koji su uloili preko 8NNNNN
godina vremena "entralne pro"esorske jedini"e lovu na vanzemaljsku inteligen"iju.
P/P raunarstvo obezbedjuje alternativu tradi"ionalnoj arhitekturi klijent,server i moe jednostavno da se
de!inie kao deljenje raunarskih resursa i usluga pomou direktne razmene. *ok koristi postoje mree$
servere i klijentsku in!rastrukuturu$ P/P nudi model raunarstva koji je ortogonalan na model klijent,server.
*va modela koegzistiraju$ prese"aju se i medjusobno komplementiraju.
U modelu klijent,server$ klijent postavlja zahtev serveru na koji je prikljuen preko mree. %erver$ koji je
tipino samostalan sistem$ odgovara na zahteve i preduzima potrebne radnje u vezi sa njima. U P/P
raunarstvu$ svaki uesniki raunar , koji se naziva ravnopravnim uredjajem <peerB , deluje kao klijent sa
slojem serverske !unk"ionalnosti. 'o omoguava ravnopravnom uredjaju da deluje istovremeno i kao
klijent i kao server unutar konteksta date aplika"ije. Cavnopravni uredjaj moe da unese zahteve$ a moe i
da odgovori na zahteve sa drugih uredjaja u mrei. %posobnost direktnih razmena sa drugim korisni"ima
nudi brojne prednosti , tehnike i drutvene , kako individualnim korisni"ima tako i velikim
organiza"ijama.
'ehniki$ P/P raunarstvo daje mogunost da se iroko koriste veliki resursi na koje uesni"i nisu direktno
prikljueni i koji bi inae ostali neiskorieni. ;vi resursi obuhvataju pro"esnu mo za izraunavanja
velikog obima i ogromni memorijski poten"ijal. P/P dozvoljava elimina"iju Muskih grlaM pojedinanih
uzroka. P/P moe da se upotrebi za raspodelu podataka i upravljanja i za ravnoteu optereenja zahtevima
preko 4nterneta. Pored toga to pomae da se optimizuje per!ormansa$ mehanizam P/P moe takodje da se
upotrebi za elimina"iju rizika od jedne take otkaza. 5ada se P/P koristi unutar preduzea$ to moe da
zameni neke skupe !unk"ije "entra podataka raspodeljenim uslugama izmedju samih klijenata. Memorija$
za dobijanje podataka i njihove rezervne kopije$ moe da se smesti kod korisnika. Pored toga$
in!rastruktura P/P dozvoljava direktni pristup i deljeni prostor$ to moe da omogui sposobnost da,
ljinskog odravanja.
Privlanost P/P raunarstva je velikim delom posledi"a drutvenih i psiholokih inila"a. &a primer$
korisni"i mogu lako da !ormiraju svojs sopstvene autonomne onlajn 4nternet zajedni"e i da ih koriste kada
ih zajedniki odaberu. Mnoge od ovih P/P zajedni"a e se stalno dinamiki menjati kako korisni"i dolaze i
odlaze$ ili su aktivni$ odnosno neaktivni. *rugi korisni"i e uivati u tome da zaobidju "entralizovanu
kontrolu. U stvari$ P/P raunarstvo ima mo da mnoge korisnike uini nezavisnim.
1/
7 as. Nastanak klijent server tehnolo.ije
Model klijent server sistema predstavlja prirodan nastavak razvoja otvorenih sistema koji su zadnjih
1N,tak godina predstavljali dominantnu organiza"iju raunarskih sistema i aplika"ija. #ahvaljujui
novim tehnologijama kao to su objektno orjentisano programiranje kao i 6U4 <6raphi"al User
4nter!a"esB$ kao i sve veem razvoju personalnih raunara$ polako je vrena selidba aplika"ija sa
monih mikroraunara i main!rame,raunara na desktop raunare. Postoje etri uslova koja su
doprinela velikom razvoju klijent serverskih sistema:
1. veliki pad "ena pro"esora i raunarskih komponenti$
/. ogormno poveanje resursa raunarskih komponenti$ "lok pro"esora$ memorija
1. veliki broj prilagoenih so!tverskih standarda$
7. veliki razvoj objektno orjentisanih tehnologija.
#adnjih godina svedo"i smo$ moemo slobodno rei ve istorijskog trenda razvoja hardIare,a
raunara$ koji postaju sve manji$ bri$ snaniji a jevtiniji.
%a druge strane organiza"ije danas oekuju da za svoja ulaganja dobiju sve vee vrednosti i sve vie
podataka koji e biti pravovremeni i tani. =rzina dobijanja podataka je danas odluujui !aktor kod
donoenja velikih poslovnih odluka. &ova" koji treba uloiti u tehnologije koje e omoguiti
poslovodstvu da donese pravovremene odluke postaje sve vie minorni !aktor. Mnogo vei !aktor
predstavlalja kompletan reinenjering poslovnog pro"esa kao i "ena i vreme potrebno da bi se sistem
razvio. &e treba zaboraviti i kompletnu eduka"iju ljudstva od koga se zahteva dodatan napor kako bi
savladalo nove tehnologije. Puno puta to moe da predstavlja i najvei izdatak za jednu organiza"iju.
;tvoreni sistemi omoguuju organiza"ijama da uloe nova" u jednostavna i relativno jevtina reenja
koja e im reiti njihove poslovne zahteve. %tandardi koji su doneti u otvorenim sistemima jasno
de!iniu !ormate u kojim e se poda"i razmenjivati$ kako pristupati udaljenim monim serverima i
kako pozivati servise koji nisu dostupni na personalnim raunarima. +eliki broj razliitih tehnologija
kao to su: objetno orjentisani razvoj$ rela"ione i objektno orjenitisane baze podataka$ multimedija$
ekspertni sistemi$ geogra!ski in!orma"ioni sistemi<64%B$ prepoznavanje glasa$ tekstualni pro"esori i td.
Predstavljale su veliki izazov za poslovne organiza"ije koje nisu mogle da odole ovolikom izazovu
koji se nudio po vrlo malim "enama. 5lijent server model organiza"ije omoguavao je idealnu
plat!ormu koja je objedinjavala sve ove mogunosti u samo jednoj obinoj desktop maini.
#ahvaljujui razvoju svih ovih tehnologija dolo je do kompletnog zaokreta tj. reinenjeringa
poslovnog pro"esa. ;rganiza"ije su traile nove naine kako bi upravljale svojim biznisom a koji bi im
doneo vei pro!it.
Globalizacija %vet polako postaje jedna velika pija"a jer se mnoge barijere briu 5valitet$ "ena $
razliiti proizvodi i servisi postaju kljuni !aktori i najvaniji marketinki prioriteti. %ve vie se zahteva
blii kontakt sa kup"em i zadovoljenje njegovih prohteva.
Decentralizacija upravljanja 5valitet i !leksibilnost zahtevali su donoenje odluka od strane mnogih
individuala"a koji su u direktnom kntaktu sa kup"ima. &ove tehnologije su morale da omogue i
takvim osobama da donesu pravilnu odluku o kojoj e i uravn poslovodsvo biti brzo in!ormisano.
Mreno upravljanje 5ao se biznis vodio sa velikog broja de"entralizovanih loka"ija$ tehnologija je
morala da omogui da se sve te de"entralizovane loka"ije poveu u jednu i da predstavljaju jednu
jedinstvenu "entralizovanu jedini"u.
Dostupnost informacija *a bi neki proizvod imao dobru prou mora se obezbediti da in!orma"ije o
njemu budu dostupne svima. 5upa" mora da oseti da ima sigurnost u neku organiza"iju od koje kupuje
proizvod.
Niska cena #ahvaljujui standardiza"iji proizvoda omogueno je velikombroju priz"oaa da se
oprobaju i izardi tako da je velika ponuda smanjila "enu proizvoda a poveala kvalitet.
Razliite ardveske platforme #bog raznolikosti hardIare,a trebalo je omoguiti da se svi oni
meusobno vide. 'j. da mogu da komuni"iraji jedan sa drugim bez obzira na tip raunara,pro"esora.
Minimalno poznavanje tenolo!ije #bog porasta broja ljudi koji su se ukljuivali u rad sa raunarima
trebalo je omoguiti jednostavan pristup svim tim in!orma"ijama kao i da se vreme obuke za rad svede
na najmanju moguu meru. #ato se i razvijene mnoge tehnologije pre svega vizuelnog pristupa
11
in!orma"ijama. *anas se sve vie razvijaju i nove tehnologije koje se svode na to da se raunarima
obraamo glasom.
Razliita softverska re"enja ;groman razvoj so!tvera koji je mora da
nahrani raunare sa odgovarajuim programima zahtevao je i razliite
so!tverske alate koji su opet morali da budu kompatibilni kako bi mogli da
sa meusobno sporazumevaju.
Razliite baze podataka ;groman broj podataka razvio je i odgovarajue
so!tverske alate za unoenje$ auriranje i pregled tih podataka. %TP
<Structured Query LanguageB predstavlja jedan od osno"nih postulata kod
baza podataka. &e posroji ni jedna ozbiljnija baza podataka koja ne
podrava ovaj vid komunika"ije sa njom.
3>0> Pojam ?klijent=server@
5lijent,server je arhitektura gde su korisnik <klijentB i server <davala" uslugaB odvojeni ili
neravnopravni. &ajoitiji je primer pregledavanja 4nternet strani"a. 5orisnikov raunar i 4nternet
program su klijent . oni zahtevaju$ dok su raunar i baza podataka koji ine Ieb strani"u server . on
daje usluge. 5lijent je obino aktivan korisnik$ koji alje zahteve i eka dok se isti ne ispune$ dok je
server pasivan$ eka na zahteve te ih ispunjava i alje korisniku. %erveri su obino veoma jaka raunara
s dobrim kon!igura"ijama i karakteristikama zbog toga to istovremeno moraju preraditi mnogo
zahteva koji rastu iz dana u dan. ;bino servere pokreu i posebni operativni sistemi za razliku od
obinih . klijent operativnih sistema$ serverski operativni sistemi su u vie segmenata bolji i sadre
naprednije op"ije.
5lijent(server model je baziran na distribu"iji !unk"ija izmeu dva tipa nezavisnih i autonomnih
pro"esa: servera i klijenta. 5lijent je bilo koji pro"es koji zahteva spe"i!ine usluge od server pro"esa.
%erver je pro"es koji osigurava usluge za klijenta. 5lijent i server mogu biti smjeteni u istom raunaru
ili u razliitim raunarima povezanim preko mree.
U sluaju da su klijent i server pro"esi smjeteni u dva ili vie nezavisnih i umreenih raunara$ server
pro"es moe osigurati usluge za vie od jednog klijenta. Pored toga$ klijent moe zahtevati usluge i od
vie servera iz okruenja bez obzira na njihove loka"ije ili !izike karakteristike raunara na kojima se
nalaze server pro"esi. Mrea slui povezivanju servera i klijenata zajedno osiguravajui medij kroz
koji klijenti i serveri komuni"iraju.
%lika/. Model klijent, server <http:((III.ahH"o.!!ri.hr(ritehmreze(images(!ig1,1.gi!$ /E.N1./NN2.B
5lijent,server arhitektura i klijent,server model obrade podataka se javlja poetkom devedesetih
godina /N veka$ priznanje doivljava ve polovinom istog desetljea$ a razvijen je kao rezultat
17
nastojanja da se to bolje iskoristi resurs osobnih raunara$ kroz njihovu integra"iju u jedinstven sistem
za obradu podataka.
5lijent,server model obrade podataka je model distribuirane obrade podataka$ gdje se !unk"ije jednog
korisnikog programa raspodjeljuju na najmanje dva pro"esa koji meusobno komuni"iraju. 'a dva
pro"esa obrade podataka su: klijentski i serverski. Pogika komunika"ije klijentskog i serverskog
pro"esa je sljedea: klijentski pro"es alje poruku serverskom pro"esu$ traei odreenu uslugu$ a
serverski pro"es izvrava traeni zadatak i alje poruku klijentskom pro"esu o rezultatu <uspehu ili
neuspehuB izvrenog zadatka.
5lijentski i serverski pro"esi su spe"ijalizirani za izvravanje odreenih tipova zadataka i uvek
komuni"iraju oni delovi pro"esa koji su nadleni za traeni zadatak. ;ba pro"esa se mogu izvravati na
jednom raunaru$ ali pun opseg mogunosti se realizira distribu"ijom ovih pro"esa na veliki broj$
!iziki dislo"iranih raunara. 'ada je raunarkoji izvrava klijentski dio pro"esa klijent,raunaro$ ili
krae klijent$ a po analogiji$ isto vai i za server.
*akle$ za punu primjenu klijent,server arhitekture$ potrebna su najmanje dva raunara$ povezana
komunika"ijskom mreom$ s instaliranim mrenim operativnim sistemom i uspostavljenom
komunika"ijom. Glementi koji ine klijent,server sistem jesu:
U jedan ili vie klijenata$
U jedan ili vie servera$
U klijentski pro"esi$
U serverski pro"esi$
U komunika"ijski meusloj <komunika"ijski hardver i so!tverB.
1>1 Na!in "$nkcioniranja klijent A server
'ipian <ali ne i obavezanB s"enario po kojem radi klijent(server arhitektura je sledei:
%erver pro"es zapoinje na nekom raunaru <na kojem je smetenB$ pokree se$ a zatim prelazi u sleep
mod i eka da ga neki klijent pro"es kontaktira i zatrai neku uslugu od njega.
o 5lijent pro"es zapoinje na istom ili nekom drugom raunaru koji je preko mree povezan sa
raunarom na kome se nalazi server. 5lijent pro"esi se esto pokreu od strane interaktivnih
korisnika koji zahtevaju izvrenje odreenih naredbi. 5lijent pro"es alje zahtev putem mree do
servera traei odreenu uslugu od njega.
o 5ada server pro"es zavri posao <servisB koji je od njega zatraen od strane klijenta$ prelazi ponovo
u sleep mod i eka sledei zahtev za nekom uslugom.
o 5lijent(server arhitektura se zasniva na hardverskim i so!tverskim komponentama koje spajanjem
na taj nain ine sistem. ;vaj sistem sadri tri komponente: klijent$ server i komunika"ioni
posrednik.
o 5lijent je bilo koji raunarski pro"es koji zahteva usluge od servera. 5lijent$ poznat jo i kao
glavna aplika"ija$ odraava injeni"u da je krajnji korisnik obino u interak"iji sa klijent pro"esom.
o %erver je bilo koji raunarski pro"es koji eka na zahteve od klijenata i
osigurava potrebne usluge za klijente shodno pristiglim zahtevima.
Poznat je i kao pozadinska aplika"ija.
5omunika"ioni posrednik je bilo koji raunarski pro"es ijim posredstvom
komuni"iraju klijent i server. %astavljen je od nekoliko so!tverskih nivoa
koji pomau pri prenosu podataka i upravljakih in!orma"ija izmeu klijenta
i servera. 5omunika"ioni posrednik je obino povezan sa mreom. %vi
klijentovi zahtevi i odgovori servera putuju kroz mreu u obliku poruka koje
se sastoje od in!orma"ija za kontrolu i prenos podataka. %lika 1. 5lijent, %erver
%lijent Server tehnolo.ija
5lijent predstavlja jednokorisniku radnu stani"u koja omoguava predstavljenje traenih in!orma"ija
u vidu izraunavanja$ povezivanja ili servisa baze podataka koji se odnose na poslovne zahteve.
%erver predstavlja radnu stani"u sa jednim ili vie pro"esora koji omoguava viekorisniki <multiuserB
rad$ koji treba da omogui to bri odziv i davanje traene in!orma"ije klijentima.
18
4deja ovog modela je da se napravi koopera"ija pro"esa izmeu servera koji obezbeuju servise i
klijenata koji servise zahtevaju. ;va paradigma se koristi na nivou aplika"ije podjednako kao i na
nivou operativnog sistema. %vaki pro"es u iterak"iji igra ili ulogu servera ili ulogu klijenta. %a druge
strane$ pro"es koji se ponaa kao server moe biti zahtevati servis od drugog servera da bi izvrio neki
zadatak$ time dobijajui i ulogu klijenta. Maina moe biti jedan klijent$ jedan server$ vie klijenata ili
servera ili meavina klijenata i servera.
Pogika komunika"ija izmeu klijenata i servera je bazirana na razmeni zahteva i odgovora i to na
sledei nain:
1. klijent alje zahtev serveru i blokira se.
/. server prihvata zahtev$ obavlja traeni zadatak,posao i vara odgovor klijentu.
1. klijent prima odgovor i nastavlja izvravanje.
Diziki$ zahtevi i odgovori se prosleuju dotinom kernelu$ i alju kroz komunika"ionu mreu "iljnim
kernelima i pro"esima. 4z jednostavnosti ovog modela proizilazi potreba za samo dva komunika"iona
sistemska poziva kernelu: send <poaljiB i re"eive <primiB poruku.
+ano pitanje je kako klijent lo"ira server ako on promeni loka"iju ili postoji vie servera. #bog
!leksibilnosti serveri se identi!ikuju preko imena. %erveri$ nazvani vezujui serveri <binder serversB
spajaju klijente i servere. Pro"edura koja izvrava ovo spajanje je nazvana dinamiko povezivanje
<dinami" bindigB.5ada se server startuje on alje povezivau podatke o svojoj loka"iji.'ada klijenti
preko povezivaa zanaju loka"iju odgovarajueg servera.5ao dodatak$ povezivai mogu pomagati u
autenti!ika"iji klijenata za servere.
%OMPONENTE I ARBITE%T:RA %;I(ENT8SERVER SISTEMA
5lijent(server arhitektura se zasniva na hardverskim i so!tverskim komponentama koje interaguju
!ormirajui na taj nain sistem. ;vaj sistem sadri tri komponente: klijent$ server i komunika"ioni
posrednik.
o 5lijent je bilo koji raunarski pro"es koji zahteva usluge od servera. 5lijent$ poznat jo i kao eona
aplika"ija$ odraava injeni"u da je krajnji korisnik obino u interak"iji sa klijent pro"esom.
o %erver je bilo koji raunarski pro"es koji eka na zahteve od klijenata i obezbeuje potrebne usluge
za klijente shodno pristiglim zahtevima. Poznat je i kao pozadinska aplika"ija.
o 5omunika"ioni posrednik je bilo koji raunarski pro"es ijim posredstvom komuni"iraju klijent i
server. %astavljen je od nekoliko so!tverskih nivoa koji pomau pri prenosu podataka i upravljakih
in!orma"ija izmeu klijenta i servera. 5omunika"ioni posrednik je obino povezan sa mreom. %vi
klijentovi zahtevi i odgovori servera putuju kroz mreu u obliku poruka koje se sastoje od
in!orma"ija za kontrolu prenos i podataka.
#a ilustra"iju interak"ije komponenata moe da poslui primer kada klijent zahteva servise od pro"esa
baze podataka. 4zvrenje aplika"ije je razdvojeno na dve glavne i nezavisne komponente$ klijent i
server$ a komunika"ioni posrednik omoguava klijent i server pro"esima da rade zajedno.
&ajpre klijent pro"es alje zahtev do komunika"ionog posrednika. 5omunika"ioni posrednik
prosleuje %TP zahtev do server pro"esa za baze podataka koji prima zahtev$ potvruje ga i izvrava.
Potom server alje selektovane podatke komunika"ionom posredniku koji ih prosleuje i !ormatira za
klijent pro"es$ a ovaj prima podatke i prikazuje ih korisniku. 5lijent pro"es je odgovoran za inter!ejs
krajnjeg korisnika$ neku proveru lokalnih podataka$ neku obradnu logiku i prikaz podataka.
5omunika"ioni posrednik obezbeuje da poruke izmeu klijenta i servera ispravno putuju kroz mreu
i stignu na svoje odredite. ;brada %TP zahteva se vri na serveru. %erver pro"es potvruje
izvravanje zahteva i alje rezultat klijentu.
5omponente klijent(server arhitekture moraju da zadovolje neke osnovne prin"ipe kako bi
meusobno delovale ispravno. ;vi prin"ipi moraju biti jednoznano upotrebljivi u komponentama
klijenta$ servera i komunika"ionog posrednika. Pri razvoju i upotrebi klijent,server tehnologije treba se
drati sledeih prin"ipa$ koji moraju biti ispunjeni i to:
1. Bar#verska nezavisnost je postignuta kada klijentski$ serverski i pro"esi komunika"ionog
meusloja uspeno !unk"ioniu na razliitim hardverskim plat!ormama <4=M$ *G0$ ?pple itd.B bez
13
ikakve !unk"ionalne razlike$ odnosno kada izmene u hardverskoj kon!igura"iji sistema ne utiu na
!unk"ionisanje klijent,server sistema.
/. So"tverska nezavisnost je postignuta kada klijentski$ serverski i pro"esi komunika"ijskog
posrednika mogu !unk"ionirati na razliitim operativnim sistemima <*;%$ JindoIs$ Uni>$ ;%(/B$
uz upotrebu razliitih mrenih protokola <'0P(4P$ %PA(4PAB kao i da podravaju razliite
aplika"ije <baze podataka$ radne tabele$ elektronska pota itd.B.
1. Otvoren prist$p servisima je ostvaren kada klijentski pro"es ima mogunost da$ po potrebi$ bez
ogranienja$ koristi usluge svih serverskih pro"esa u mrei$ nezavisno od loka"ijske udaljenosti
klijenta i servera. %vi klijenti u sistemu moraju imati otvoren pristup svim servisima svih servera
koji postoje u mrei i to onoliko puta koliko oni to zahtevaju. %ervisi ne smeju zavisiti od loka"ija
klijenata i servera u mrei. 5ljuna stvar je da se servisi obezbeuju na zahtev klijenata.
7. *$nkcionalna #istri9$tivnost je ostvarena kada klijentski$ serverski i pro"esi meusloja
predstavljaju nezavisne initelje u obradi podataka i imaju pre"izno de!inirane namene$ zadatke i
grani"e. Dunk"ionalna distributivnost treba omoguiti MzamenjivostM delova so!tvera$ to
podrazumijeva da tekua verzija nekog klijentskog$ serverskog ili programa u meusloju klijent,
server arhitekture$ moe zameniti novom$ a da to ne utie na !unk"ionisanje ostalih komponenti
so!tvera. 0elokupna obrada podataka je distribuirana izmeu klijenta i servera. Podela optereenja
obrade mora se povinovati sledeim zahtevima:
5lijent i server pro"esi moraju biti autonomni$ sa jasno de!inisanim grani"ama i !unk"ijama. ;va
osobina omoguuje jasno de!inisanje !unk"ionalnosti obe strane.
Pokalno korienje resursa <i klijenta i serveraB je maksimalno. Pro"esi klijenta i servera moraju
potpuno koristiti snagu obrade glavnog raunara. ;va osobina omoguuje dodelu zadataka
raunaru koji najvie !unk"ionalno odgovara.
Potrebno je da pro"esi budu takvi da mogu biti lako i to bolje izvreni na vie snanih
hardverskih plat!ormi. Potrebno je jo da bude ispunjen i uslov prenosivosti so!tvera izmeu
razliitih maina bez potrebe da se intervenie na izvornom kodu$ ve je potrebno samo izvriti
prevoenje i povezivanje kako bi so!tver odmah moga da se upotrebi.
8. Interopera9ilnost i inte.racija zahtevaju da pro"esi klijenta i servera budu integrisani u
MbezavnuM !ormu sistema$ tj. razliite aplika"ije imaju mogunost razmene podataka izmeu
razliitih hardverskih plat!ormi i operativnih sistema bez obzira na udaljenost$ opremu$ tip
operativnog sistema i dr. 4zmene server pro"esa moraju biti transparentne za klijent pro"ese.
3. Stan#ar#izacija ima za "ilj da osigura to vii stepen hardverske i so!tverske nezavisnosti$ kao i
nezavisnost korisnikog programa od podataka. 5orisniki inter!a"e$ pristup poda"ima i mreni
protokol$ kao i drugi elementi klijent,server arhitekture trebaju biti pokriveni odgovarajuim
standardima. %vi prin"ipi moraju biti bazirani na standardima primenjenim unutar klijent(server
arhitrkture. &a primer$ po standardima se mora upravljati korisnikim inter!ejsom$ pristupom
poda"ima$ mrenim protokolima$ meuprenosnom komunika"ijom$ itd. Univerzalni standardi jo
uvek ne postoje ve ima mnogo razliitih standarda koji se mogu primeniti. &a primer$ aplika"ija
moe biti bazirana na ;*=0 <Open Dataase ConectivityB umesto 4*?P4 <!ntegrated Database
Application "rograming !nterfaceB za pristup poda"im i moe koristiti %PA(4PA umesto '0P(4P
mrene protokole
Prednosti klijent server tehnologije
;snovna prednost dvoslojne klijent,server arhitekture je ta to bazu podataka ini nezavisnom
od aplika"ija$ jer integritet baze podataka osigurava njenu nezavisnost od aplika"ija koje nad njom
rade. -edini mehanizam potreban za komunika"iju aplika"ije sa bazom podataka je %TP upit$ koji se
prosleuje direktno ili kroz neku raunarsku mreu. 4pak$ znaajan deo aplika"ije se vee za klijenta$
to prouzrokuje osnovne nedostatke ovakve arhitekture. Povezivanje dinamikog ponaanja sistema
<logike sistemaB za klijenta$ zbog estih izmena u korisnikom okruenju$ prouzrokuje skupo
odravanje sistema a zbog estih izmena u tehnologiji korisnikih inter!a"e,a i skupo odravanje.
;snovne prednosti koje nam klijent server arhitektura omoguava sastoje se u sledeem:
1E
1. Pristup ogromnoj koliini podataka , ak se moe rei
pristup neogranienoj koliini podataka.
/. 4ntegrisani servisi na jednom mestu < G,mail$ gra!ika$
baze podataka$ tekstovi$ kao primer prikazati benzinsku
pumpu.B
1. deljeni resursi na razliitim plat!ormama
7. zamenljivost podataka i interoperatibilnost
8. maskirani !iziki pristup poda"ima . putem lozinki
dozvoljava se ogranieni pristup poda"ima < !ireIallB
3. nezavisne loka"ije pro"esiranja i pamenja podataka
E. "entralizovano upravljanje
12
8 as %lijent server komponente A %;I(ENT
U klijent server modelu$ bilo koju radnu stani"u <des#top wor#stationB koju koristi jedan korisnik
smatramo klijent radnom stani"om ili samo klijentom. Ukoliko toj istoj stani"i pristupaju istovremeno
vie korisnika simultano$ tu istu stani"u nazivamo serverom. 4z ovoga proizilazi da u klijent server
modelu ne postoje neke tehnoloke razlike$ sa stanovnitva raunara$ izmeu klijenta i servera.
#a vreme poslednjih 1N godina per!ormanse radnih stani"a su dramatino menjale tj. napredovale. #a
istu "enu$per!ormanse 0PU poveale su se 8NN puta <7$EMFz,V/$76FzB$ veliina C?M,a <operativne
memorijeB 7NNN puta < /83k= ,V 16=B i kapa"itet hard diskova 1NNNN puta <1NM=,V 1NN6=B. ;vako
veliki napredak tehnologije uinio je da aplika"ije koje su se izvravale na desktop raunarima postanu
jako so!isti"irane tj. u mogunosti su da reavaju jako teke i zahtevne probelme poev od
jednostavnog tekst editora pa sve do vrlo sloenih multimedijalnih problema. %a druge strane ovakav
veliki razvoj tehnologije desktop raunara prouzrokovao je i veliki razvoj drugih raunarskih
tehnologija a pre svega komunika"ionih <razvoj velikog broja protokolaB i mrenih < P?& i J?&
mreeB. *anas je prosto nezamislivo da imamo neki desktop raunar koji nije umreen sa nekim
drugim raunarom na bilo koji nain: bilo to direktnom vezom dva raunara$ bilo u vidu lokalnih
mrenih sistema ili pak putem interneta.
5lijent je bilo koji pro"es koji zahteva usluge od serverovog pro"esa. 5lijent zapoinje konverza"iju sa
serverom. 5lijent sadri hardverske i so!tverske komponente i poeljno je da one poseduju sledee
karakteristike:
o &e toliko snaan hardver
o ;perativni sistem koji je sposoban da podri multitasking
o 6ra!iki korisniki inter!ejs <6U4 . $raphic %ser !nterfaceB
o 5omunika"ione sposobnosti
Fardver klijenta je obino stoni raunar <P0 ili radna stani"a$ a u poslednje vreme se koristi i A,
terminal koji jedan de potrebnog klijent(server so!tvera dri u C;M,u$ a ostatak se puni u C?M
memoriju sa servera preko mreeB.
5lijent bi trebalo da poseduje operativni sistem sa neto malo multitasking mogunostima. Postoji
iroki opseg razliitih operativnih sistema koji mogu da zadovolje minimalne zahteva da bi bili
klijentsji operativni sistem. ;d ve starih *;%(JindoIs operativnih sistema do dananjih JinAP i
Jin E operativnih sistema koji su trenutno najkorienije klijent plat!orme. Mada *;% ima jaka
ogranienja u pogledu memorije i podrke multitaskinga$ JindoIs 1.1 obezbeuje primitivne
multitasking osobine i 6U4. JinAP kao samostalan operativni sistem podrava multitasking i sve vie
zamenjuje *;%(JindoIs kombina"iju. ;ve osobine kao i mnotvo razvijenih aplika"ija za ove
operativne sisteme ine ih vrlo pogodnim za klijent(server implementa"iju. 5ombina"ija hardvera i
operativnog sistema mora obezbediti adekvatno povezivanje sa raznim mrenim operativnim
sistemima. %ervisi mogu biti rasporeeni na razliitim mreama i klijent raunari moraju biti sposobni
da pristupe svim tim servisima. #bog toga$ bez obzira na popularnost *;%(JindoIs kombina"ije i
JindoIs,a AP$ kao bolja reenja za klijent operativne sisteme se javljaju ;%(/$ Uni> ili Pinu>.
5lijent aplika"ija se startuje pod nekim operativnim sistemom i povezuje se sa komunika"ionim
posrednikom radi pristupa slobodnim servisima na mrei i ove aplika"ije su uglavnom zasnovane na
gra!ikom korisnikom inter!ejsu sa namerom da se sakrije kompleksnost od krajnjeg korisnika.
5lijent aplika"ija interaguje sa operativnim sistemom radi korienja multitaskinga i gra!ikog
korisnikog inter!ejsa koje on obezbeuje. ;na jo interaguje i sa mrenom so!tverskom
komponentom komunika"ionog posrednika radi pristupa servisima. Fardverska komponenta
komunika"ionog posrednikam <mrena karti"a i mreni kablB !iziki transportuje zahteve i odgovore
na zahteve izmeu klijenta i servera. *ok se zahtev izvrava na serveru$ klijent je slobodan da izvrava
druge poslove.
#lo!a klijenta
U klijent server modelu klijent je u osnovi potroa servisa kojima ga snabdeva jedan ili vie servera.
;vaj model omoguuje jasnu podelu !unk"ija izmeu klijenta i servera jer server treba da omogui
odreene servise klijentu u odnosu na njegove zahteve. +rlo je vano da se razume da radna stani"a
1Q
moe da !unk"ionie kao klijent i kao server$ sve u zavisnosti kako se posmatra ta stani"a. &a primer u
P?& mreama jedna stani"a moe da !unk"ionie kao klijent za jednog korisnika koji na njoj radi a
istovremeno kao print server za druge korisnike u mrei. -edan od osnovnih servisa koji se izvravaju
na klijen radnoj stani"i je prezentacioni servis. ;n podrazumeva ulazni i izlazni servis koji kontrolie
prihvatanje i prikazivanje podataka. *ananje tehnologije omoguile su gra!iki korisniki servis <6U4
. 6raphi"al User 4nter!a"eB$ a nove multimedijalne tehnologije koje su danas u velikom razvoju
omogui e nam u budunosti audio,vizuelni pristup poda"ima. 'ehnika viestrukih prozora
< IindoIing enviromentB omoguuje klijentu korisniku da bude ukljuen u nekoliko simultanih sesija.
'ako !unk"ije kao to su unoenje teksta$ sluanje muzike$ praenje G,maila i gra!iko prikazivanje
podataka mogu potpuno simultano da se odvijaju na jednom klijent raunaru. &ormalno da bi sve ovo
mogli da pratimo potrebni su nam odgovarajui operativni sistemi koji podravaju multitasking rad
kao to su J4&/NNN$ J4&AP ili P4&UA. Mogunosti kao to su **G < *Hnami" *ata G"hangeB
dinamika razmena podataka$ ;PG < ;bje"t Pevel GmbeddingB i 0;C=? <0ommuni"ating ;bje"t
CeWuest =roker ?r"hite"tureB omoguuju prostu opera"iju "ut and paste izmeu tekst pro"esora$ baza
podataka$ tabelarnih prikaza$ gra!ikih prikaza u razliitim viestrukim prozorima.
$lijent servis
4dealna klijent server plat!orma operie u jednom otvorenom sistemskom okruenju i koristi serverske
servise na bazi postavljenih zahteva < tehnika zahtev(odgovor B koji su svi bazirani na ranije dobro
de!inisanim i usvojenim standardima. #ahvaljujui ovim osobinama omogueno je da veliki broj
potpuno razliitih i hardverskih i so!tverskih reenja meusobno vrlo dobro sarauju i rade. %erveri
mogu da se dograuju i da menjaju svoj operativni sistem ili hardversku plat!ormu a da se sa gledita
klijenta to uopte i ne oseti tj. nije potrebno da se menja aplika"ija sa strane klijenta. -edini uslov je da
se sve te promene odvijaju po unapred de!inisanim i usvojenim standardima. Xto se tie klijenta i tu je
pria ista. 5lijenti mogu da menjaju takoe svoj operativni sistem$ aplika"iju ili hardversku plat!ormu
a da to server uopte i ne primeti. 'ako sa gledita klijenta moemo da imamo obinu 123 mainu ili
neku C4%0,baziranu mainu i da obe maine zahtevaju od servera isti servis.
Prvi klijent server sistemi nisu imali gra!iko okruenje 6U4 <6raphi"al User 4nte!a"eB. %ve
in!orma"ije koje su dolazile od strane servera bile su u obliku tekstualnih podataka koji su puno puta
bili dosta nepregledni. *ananji sistemi imaju kvalitet vie pa pored tekstualnih podataka imaju i 6U4
prikaz i audio vizuelni prikaz koji podrazumeva i ton i sliku. 5olika je to prednost najbolje se ilustruje
kod sistema zatite prostora. 'a zatita se najee radi sa vie tehnikih sredstava kao to su kamere$
mikrotalasne barijere i razliitim vrstama senzora. &a svako naruavanje prostora automatski se
ukljue kamere i slika nam se prikae na ekranu monitora sa svim potrebnim prateim poda"ima u
vidu teksta. &a drugoj strani prednos ovakvog prikaza je u vrlo jednostavnoj i skraenoj obu"i
personala za rad sa ovakvim sistemima. &eke studije su pokazale da primena 6U4 moe da povea
produktivnost i e!ikasnost i do /NN R vie u odnosu na obine tekstualne aplika"ije. Duk"ionalnost
klijentskog pro"esa moe biti i poveana na strani klijenta dodavanjem logike koja nije
implementirana u aplika"iju koja se izvrava na serveru. Pokalno sreivanje teksta$ sposobnost davanja
FGPP in!orma"ija$ automatski ulaz podataka predstavljaju samo neke servise koji u mnogome
unapreuju klijent serverski pro"es. ?ko se mnoge greke detektuju i otklone na strani klijenta$ tada se
u mnogome poveava brzina serverske strane pa se samim tim i poveava !unk"ionalnost "elokupnog
klijent server sistema.
*a vidimo sada kako se odvija ta komunika"ija izmeu klijenta i servera. 5lijent radna stani"a zahteva
neki servis od servera. 5ad god je taj server isti kao i radna stani"a ili pak predstavlaj neki mreni
server aplika"ioni !ormat zahteva je isti. &;% <&etIare ;perative %HstemB so!tver prenosi ili dodaje
spe"i!i"irani zahtev od izvora do "iljnog servera na kome se izvrava neka aplika"ija$ 4P0
<4nterPro"ess 0ommuni"ationB
predstavlja generiki izraz koji se koristi da opie komunika"iju izmeu dva ili vie pro"esa koji se
izvravaju. U klijen server modelu ti pro"esi mogu biti na istom raunaru$ na raunarima koju su
povezani u P?& mreu ili pak u J?& mrei. &ajei servis koji &;% pokree u takvim sluajevima
je servis redirek"ije. ;vaj servis prihvata pozive od klijentskog operativnog sistema i prenosi .
preusmerava ih prema serverskom operativnom sistemu. &a taj nain zahtevi za direktorijume na
/N
disku$ disk !ajlovima$ printerima$ printer redovima$ serijskim ureajima$ aplika"ionim programima se
presreu putem redirek"ionog so!tvera i preusmeravaju se prema korektnom serveru.
*ugi niz godina programeri su se trudili da razvijaju modularni kod koristei strukturnu tehniku i
logiku poziva podprograma. *anas se zahteva da ti podprogrami <subroutinesB budu ipameni negde
kao objekti koji e sada biti dostupni svima ko eli da se koristi njima. 'ehnika poznata kao CP0
<Cemote Pro"edure 0allB upravo omoguava ovakav vid programiranja. CP0 zbog toga predstavlja
sr"e klijent server modela i sutini predstavlja program koji moe da pozove bilo koju pro"eduru u
mrei sa "iljem da zadovolji zahteve klijenta. Pri tome ak i ne mora da zna ni !iziko mesto gde se
traena pro"edura ili servis nalazi i izvrava. 5lijent upuuje svoj zahtev i dobija odgovor preko samo
jedne send primitive$ to znai da CP0 troi samo jednu opera"iju jezgra. 'akoe u ovom mehanizmu
pojednostavljeno je ba!erisanje jer u istom ba!eru umesto zahteva u povratku moe da se smesti traeni
odgovor. CP0 omoguava da se poziv i izvrenje zahteva moe odvijati na potpuno razliitim
operativnim sistemima i potpuno razliitim hardverskim plat!ormama. Mnogi CP0 omoguavaju i
servise transla"ije. ;ni podrazumevaju da se vri prevoenje <transla"ijaB podataka izmeu pro"esora
sa razliitim !izikim !ormatima podataka. 'i standardi se stalno usavravaju i prilagoavaju
zahtevima trita.
+rste klijent servisa kojise odvijaju na klijentskoj strani:
%a&'(rint servis &;% < mreni operativni sistemB omoguuje klijentu da generie zahtev za
tampanjem bez obzira to je tog trenutka printer zauzet. 'aj se zahtev prenosi putem &;% redirektora
i smeta u print server red kojim upravlja print server manager. 5lijentska stani"a moe da vidi status
print red u bilo koje doba i tako se in!ormie kada e traeni servis biti omoguen tj. izvren. +eina
print servera obavetava klijensku stani"u kada se njen zahtev izvri. Da> servis se izvrava na potpuno
isti nain kao i print zahtev.
)*mail servis . !unk"ionie na isti nain kao i gore opisani servis.
+indo, servis . servis prozora oznaava da se na klijentskom raunaru mogu istovremeno otvoriti
vie prozora u okviru kojih se mogu izvravati razliite aplika"ije. Mogunost da se aktivira$ vidi$
pomera$ smanji ili povea$ sakrije odreeni prozor omoguena je ba zahvaljujii ovom servisu. ;vaj
servis je edan od osnovnih servisa u klijent server modelu jer je on u neposredom kontaktu sa servisom
poruka koji je zaduen da obavesti korisnika o dogaajima koji se deavaju na serveru. 5od pisanja
aplika"ija nije potrebno voditi rauna o servisu prozora jer se on automatski prenosi na alika"iju.
%vaka aplika"ija se pie tako da se predpostavlja da ona ima na raspolaganji jedan virtuelni prozor
putem kojeg ona komuni"ira sa korisnikom. 'aj virtuelni prozor je poizvoljne veliine i moe biti vei
nego to je !iziki prozor. ?plika"ija koja koristi 6U4 smeta podatke u taj virtuelni prozor$ a servis
prozora sada vodi rauna o smetanju i prikazivanju tog prozora u realnim uslovima. 'o u mnogome
pojednostavljuje pisanje aplika"ija jer programer nema potrebu da vodi rauna o servisu prozora. &;%
omoguuje klijentskoj radnoj stani"i$ bez obzira u kojoj se aplika"iji trenutno nalazila$ da putem pop,
up prozora obavetava klijenta o nekim deavanjima na serverima kao to su: zavretak tampanja$
probel u ampanju$ novoj poti u G,mail sanduetu$ pristiglom D?A,u i td.
Remote Boot Service &eke aplika"ije mogu da se izvravaju na klijentskim radnim stani"ama bez bilo
kakvog lokalnog diska sa koga bi se uito opertativni sistem ili aplika"ija. Primer A,terminala. *a bi to
moglo da !unk"ionie klijent mora da obezbedi odgovarajui so!tver koji se nalazi u GPC;M memoriji
koja je u klijenskoj radnoj stani"i i osnovna namena tog programa je da startuje 4PP <initial program
loadB tj. pro"es punjenja ili butovanja.
Backup Service Predstavlja servis koji se moe pozvati sa klijentske strane a koji se izvrava na
serveru kaoko bi se uradila zatita !ajlova tkz. =a"kup,iranje.
#tilit- Service ;perativni sistem omoguava lokalne !unk"ije kao to su: kopiranje$ premetanje$
editovanje$ uporeivanje i !unk"iju helpa koji se izvrava na lokalnoj radnoj stani"i.
Messa!e Service Poruke se mogu primati i slati potpuno sinhronizovano na mreu. ;vaj servis
omoguava ba!erovanje <skladitenjeB$ pozadinsko prikazivanje <s"hedulingB i servis izbora poruka
<arbitration servi"eB da bi mogao u potpunosti da izvri sve zahteve kojise stavljaju pred njim.
Net,ork Service 5lijentska radna stani"a komuni"ira sa mreom putem vie servisa i ?P4,a koji
kreiraju$ alju$ primaju i !ormatiraju mrene poruke. *a bi to sve moglo da se obavi neophodna je
/1
podrka za komunika"ione protokole kao to su: &et=4;%$ 4PA$ '0P(4P$ ?PP0$ Gthernet$ 'oken Cing$
A./8 i td.
.pplication Service Podrazumeva da mnoge aplika"ije imaju sopstveni CP0 kojim se koriste da bi
mogle da pozovu neke servise sa udaljenog servera.
Database Service #ahtevi za poda"ima iz baze podataka zasnivaju se na %TP sintaksi. %TP
predstavlja industrijski standardizovani jezik za uparvljanje bazama podataka.
Net,are Man!ment Service*.lerts +eina mrenih inter!ejs karti"a <&40,netIare inter!a"e "ardsB
moe da generie alerte,upozoravajue poruke koje obavetavaku klijenta o pojavi greaka na mrei u
vrlo ranom stadijumu, na !izikom nivou. 'o je jako dobro jer je mogue problem razreiti u ranoj !aze
pre nego to ta greka doprinese da ona bude katastro!alna.
//
3 as Pro.ramska po#r7ka klijenta
%ve vei zahtevi koji su se postavljali pred programerima kod pisanja aplika"ija kao i veliki
razvoj novih tehnologija zahtevali su od razvojnih timova veliko poznavanje svih tih tehnologija kao i
osobina najnovijih operativnih sistema na kojima su se te aplika"ije izvravale. %ve su to bili krupni
zahtevi koji su u mnogome usporavali razvoj aplika"ije. Prosto je nemogue bilo da se sa jednom
aplika"ijom objedine sve te tehnologije kao i da se vodi rauna o upravljanju svi deljivim resursima
servera <kao to su memorija ili pro"esorsko vremeB$ da se vodi rauna o upravljanju kontekstom ili
rukovanju nitima. 'o bi zahtevalo da se svaka transak"ija koja se deava u sistemu posebno programira
a takve aplika"ije bi bile jako teke i skupe za odravanje. 'o je jedan od glavnih razloga to je razvoj
komponentni modela postao popularan i doive veliki razvoj poslednjih godina. 5omponente u
kojima je implementiran mehanizam izvravanja transak"ija u mnogome oslobaaju programere od
ovog tekog zadatka i predstavljaju jedan od naje!ikasnijih naina da se brzo i kvalitetno naprave
aplika"ije koje e u potpunosti zadovoljiti zahteve trita. 5omonentni model razvijanja aplika"ije
omoguava lake izmene a samim tim i jednostavno odavanje aplika"ije. %a druge strane vreme
potrebno za razvijanje$ pisanje i implementa"iju aplika"ije se drastino smanjuje jer postoji veliki broj
ve razvijenih komponenti koje se mogu sa lakoom primeniti i iskoristiti. ;vakav pristup
impementa"iji transak"ija se naziva deklerativnim pristupom. 'renutno najpopularniji komponentni
modeli kod razvijanja aplika"ije su 'OMC <0omponent ;bje"t ModelB$ E(4 <Gnterprise -ava =eansB i
'OR4A <0ommon ;bje"t CeWuest =roker ?r"hite"tureB
Pre nego to preemo na razmatranje ovih komponentnih modela potrebno je da ukaemo i na jo
nekoliko pojmova,tehnika koje su u mnogome doprinele razvoju ovakvih komonentnih modula tj. bili
su neophodni preduslovi koji su doprineli da se doe do ovakvih reenja na nivou globalne
distribuirane mree raunara. 'o su:
o D-namic Data )&can!e /DD)0 ,predstavlja !unk"iju koja omoguava klijentu da razmenjuje
podatke izmeu razliitih aplika"ija zahvaljujii jedinstvenom ?P4,u. &a primer gra!iki prikaz
nekog podatka moe biti povezan sa poda"ima u bazi podataka. 5ako se ti poda"i menjaju tako
se i gra!iki prikaz menja.
o 1bject 2inkin! and )mbeddin! /12)0* ;PG predstavlja jedno proirenje **G koje je
omoguilo da sa objekti kreiraju sa objektim so!tverskim komonentama. 'o znai da postoji
re!eren"a izmeu objekata i odgovarajueg so!tvera kojim su te komponente !ormirane. &a
primer ako u nekom tekst dokumentu imamo neke slike koje su kreirane sa nekim gra!ikim
so!tverom <0orel ili PhotoshopB kada god kliknemo na tu sliku$ iako se nalazimo u okviru tekst
pro"esorra < J;C* B$ automatski se otvara program kojim je ta slika !ormirana.'u se pokreu
dva programa vieIer<pregledanjeB i laun"her<izvravanjeB. %a viIer,om korisnik moe da vidi
objekat sa jednim so!tverskim paketom dok radi u drugom paketu$ a sa laun"her,om on poziva
so!tverski paket koji je kreirao taj objekat i na raspolaganju su mu sve !unk"ije tog paketa. ;PG
je 1QQ/ god. razvio Mi"roso!t koji je kasnije 1QQ8 god. prerastao u 0;M <0omponent ;bje"t
ModelB. ;d 1QQ3 godine 0;M poinje sa podrkom distribuiranog pro"esiranja i dobija ime
*0;M <*istributed 0;MB.
o ,istri9$te# 'omp$tin. Environment <;%D *0GB, predstavlja komunika"ioni mehanizam koji
nam dozvoljava kako rad tako i razvoj distribuiranih aplika"ija baziranih na klijent server
modelu. Dilozo!ija klijent server sistema podrazumeva veoma visok nivo komunikativnosti
izmeu raunara bez obzira na njihovu veliinu$ hardversku plat!ormu ili vrste operativnog
sistema tj. so!tverske aplika"ije koja se na njima izvrava. =ez obzira na razliite "iljeve i
okruenja na kojima se te aplika"ije izvravaju sve one imaju neke zajednike osnove koje
moraju da zadovolje a to su: , CP0 <Cemote Pro"edure 0allB je osnovna premisa distribuiranih
heterogenih komunika"ija. Canije smo ve govorili o CP0 kao servisu,programu koji predstavlja
sr"e klijent server modela. Meutim$ CP0 se moe posmatrati i kao protokol na nivou
prezenta"ije 4%; ;%4 modela standardizovanog komunika"ionog okruenja. 'ako posmatrani
PC0 moe se opisati preko pet osnovnih komponenti i to: stubovi$ protokol za uspostavljanje
veze <binding proto"olB$ reprezenta"ija podataka$ transportni protokol$ upravljaki protokol kao
/1
to je prikazano na sli"i br 1.
*a bi
se ove nabrojane komponente mogle da objasne potrebno je da razvoj i upotrebu distribuirane
aplika"ije posmatramo kroz tri !aze: vreme potrebno za kompila"iju$ vreme uspostavljanja veze i
vreme poziva. Podrazumeva se da se programiranje klijent server modula vri na nain kao da e
oba modula biti linkovana tj. povezana zajedno. %erver implementira poseban inter!ejs napisan u
nekom opisnom jeziku <4*P . inter!a"e des"ription languageB iji se opis onda pro"esira
proizvodei dva stuba: klijentov i serverov stub. 5lijentov stub se linkuje sa klijentom koji ga
sada vidi kao server i obrnuto server posmatra svoj stub kao klijent. Mehanizam stubova odvaja
klijenta i srevera od detalja uspostavljanja veze <a to je pro"es kada se klijent pridruuje serveruB
i transporta <kada se argumenti i poda"i stvarno razmenjuju izmeu klijenta i serveraB. CP0
mehanizam takoe ovde upravlja sinhroniza"ijom$ kodiranjem podataka$ timeout,ima< proble
kada raunar iz nekog razloga ne odgovori unutar nekog predvienog vremena zbog pada
raunara ili preoptereenja mreeB i zatitnim in!orma"ijama.
, administra"ija imena resursa je od izuzetne vanosti jer distribuirani sistemi upotrebljavaju
imena da opiu razliite resurse kao to su raunari$ !ajlovi$ adresari$ programi$ korisni"i i td.
;snovni zahtev je da se ova imena mogu identi!ikovati na jedinstven nain u "elom
distribuiranom sistemu ma kakav on bio heterogen i razuen. 5oegzistentnost imena se zahteva i
onda kada se promeni loka"ija nekom od ovih resursa. =a iz tog razloga$ sa obzirom na
poten"ijalno veliki broj resursa$ jasno je da kreiranje i upravljenje resursima mora biti
maksimalno pojednostavljeno.
, reenje mora biti nezavisno od broja raunara u mrei$
, reenje mora da obezbedi zatitu integriteta podataka.-asno je da u jednom distribuiranom
raunarskom sistemu zatita podataka mnogo kopleksija nego kod samostalnih raunarskih
sistema. Posebni serveri zatite$ kriptovanje podataka$ sistem autentinosti$ lozinke$ spe"ijalni
protokoli i mnogi drugi mehanizmi su razvijeni da bi se obezbedila potpuna zatita podataka.
#ahvaljujui ;%D *0G komunika"ionom mehanizmu obezbeen je jedan potpuno novi ambijent
za razvoj aplika"ija u distribuiranim mrenim okruenjima. ;mogueno je da se vrlo sloeni
programi mogu razvijati na vie razasutih loka"ija irom sveta. U veoma kratkom vremenu$
koristei svaki za sebe najbolje lokane resurse <znanje i opremuB kao i prilazei ve razvijenim
programima na drugim loka"ijama$ programerima je omogueno da razvijaju jako mone i
/7
sloene aplika"ije. 5oristei CP0$ klijent moe pozvati pro"eduru na udaljenom sistemu na nain
kao da je to lokalni poziv pro"edure. CP0 sa sobom nosi potrebne argumente i vraa rezultat.
%erver sada predstavlja udaljeni ekvivalent biblioteke pro"edura$ dok je klijent program,
aplika"ija koja poziva te pro"edure. Problem povezivanja klijenta i servera se odvija na
posebnom serveru na kome se izvrava pro"es povezivanja. ?ko se zna da CP0 troi samo
nekoliko milisekundi < u zavisnosti od kvaliteta mree i njene optereenostiB$ a sve ostalo vreme
je isto kao i u lokalnim uslovima$ onda je jasno zato je ovakav komponentni pristup reavanju
probelma doiveo ovoliki pro"vat.

/8
E as
% obzirom da se sistemi zasnovani na distribuiranim objektima razvijaju ve de"enija unazad$ na
tritu postoji veliki broj razliitih plat!ormi <tehnologijaB za implementa"iju vieslojne arhitekture. Pri
odabiru distribuirane tehnologije treba obratiti panju na sledee parametre:
= prenosivost <portabilnostB klijentske i serverske plat!orme
= prenosivost programskog jezika
= per!ormanse pri izvravanju
= jednostavnost razvoja
= sigurnost
Cezultati testiranja sa razliitim komunika"ionim modelima za udaljeno pozivanje komponenata do
danas su rezultirali nekoliko najpoznatijim tehnologijama o kojima e biti daljer rei.
D>0 3omponet 1bject Model /31M4 8 ,'OM +
0;MY predstavlja evolu"iju starije tehnologije 0;M <Component Object &odelB. 0;M je
spe"i!ika"ija za objekte koja de!inie inter!ejs preko koga razliiti objekti mogu da komuni"iraju.
0;M je nezavisan od programskog jezika ukoliko implementira 0;M inter!ejs. 'eoretski moe da se
implementira na razliitim operativnim sistemima$ meutim nijedan drugi operativni sistem nije
prihvatio 0;M objekte osim Mi"roso!t JindoIs,a. *a bi se omoguilo da 0;M objekti sa razliitih
sistema meusobno razmenjuju in!orma"ije$ 0;M spe"i!ika"ija je proirena i nastao je *0;M
<Distributed CO&B. *0;M poseduje znatno kompleksniji model kon!igura"ije i sigurnosti.
#a potpuno razumevanje 0;MY komponentnog modela prvo je potrebno razjasniti JindoIs *&?
<Distributed inter'et Aplication architectureB.JindoIs *&? je plat!orma koja opisuje kako razvijati
vieslojne$ skalabilne distribuirane aplika"ije visokih per!ormansi za rad u mrei. 0ilj *&? je
dobavljanje enterprise level reenja. %r"e *&? je integrisani programski model baziran na 0;MY.
*rugim reima *&? je put za obezbeivanje enterprise based reenja Mi"roso!t,a.
?lati 0;MY %istemski servisi
?dministra"ija
Prezenta"ioni sloj Mreni servisi
*F'MP$ Dorme Z
%loj poslovne logike
JG= %erver <44%B$ #atita
'ransak"ije <M'%B
%loj pristupa poda"ima ;snovni servisi
*=M%$ Dile sHstem$ mail$ t>t Z
5ao to je prikazano na sli"i JindoIs *&? se sastoji od tri sloja:
1. (rezentacioni sloj , predstavlja sloj koji je odgovoran za prikupljanje in!orma"ija od korisnika$
vrenje osnovnih provera unetih podataka$ njihovo slanje sloju poslovne logike$ primanje rezultaa
od sloja poslovne logike i prezenta"ija dobijenih rezultata korisniku u razumljivom !ormatu. ;vaj
sloj sainjavaju +=$ F'MP$ *F'MP$ Jin1/ aplika"ije$ klijent,server skriptovanje$ java apleti$
?"tiveA kontrole i td.
/. Sloj poslovne lo!ike . ovo je sloj odgovoran za primanje podataka od prezenta"ionog sloja$
iterak"iju sa slojem za pristup poda"ima radi pro"esiranja podataka i slanje obraenih in!orma"ija
prezenta"ionom sloju. ;vaj sloj obezbeuje poslovna pravila i servise koji pomau tokom pisanja
skalabilnih aplika"ija. ;vi servisi su vrsto integrisani jedan sa drugim i sa operativnim sistemom i
dostupni su preko 0;M,a. ;ni ukljuuju sledee:
a. Jeb servise$ putem Mi"roso!t 4nternet 4n!ormation %erver,a <44%B
b. 'ransak"ionog i servisa komponenti$ putem Mi"roso!t 'ransa"tion %erver,a <M'%B.
". ?sihronih i servisa redova$ putem Mi"roso!t Message Tueue %erver,a <M%MTB.
d. %erverskog skriptovanja$ putem ?"tive %erver Pages <?%PB.
1. Sloj za pristup podacima . ;vaj sloj direktno interaguje sa poda"ima koji obino egzistiraju u bazi
podataka kao to su %TP %erver ili ;ra"le. ;vaj sloj je odgovoran za smetanje$ pronalaenje i
/3
odravanje podataka kao i integrititeta podataka. Pristup poda"ima preko JindoIs *&? naziva se
#niversal Data .33ess <U*?B. U*? je skup modela sistemskog i aplika"ionog nivoa zvanih
;PG,*=$ ?*; i C*;.
Prvi poetak razvoja 0;MY objekata datira jo od 1QQ/ god. kada je Mi"roso!t razvio ;PG <Object
Lin#ing and EmbeddingB koji je kasnije <1QQ8B nazvan 0;M <Component Object &odelB. 1QQ3 0;M
poinje sa podrkom distribuiranog pro"esiranja i dobija ime *0;M <Distibuted CO&B. 4stovremeno
Mi"roso!t razvija novi transak"ioni server koji dobija naziv &icrosoft Distributed (ransaction
Coordinator <M'*0B koji je 1QQE unapreen u &icrosoft (ransaction Server <M'%B. 1QQE Mi"roso!t
razvija jo jedan server koji dobija ime &icrosoft &essage Queue Server <M%MTB. &akon svih ovih
proizvoda$ 1QQQ$ Mi"roso!t kombinuje sve dotada razvijene servise u integrisano runtime okruenje .
0;MY. *rugim reima$ 0;MY je integrisano okruenje koje programerima obezbeuje pristup 0;M$
M'%$ M%MT i drugim servisima. &a prvi pogled moglo bi se rei da je 0;MY kombina"ija 0;M,a i
M'%,a$ no 0;MY je mnogo vie od toga. 0;MY je proirena verzija 0;M,a sa dve glavne razlike.
Prvo . on ukljuuje proirenu i nadgraenu verziju M'%,a . M'% 1$ i etiri glavna servisa ukljuujui
M%MT$ Load alancing$ Event Services i 4M*=. %ve ove komponente i servisi rade zajedno radi
obezbeivanja integrisanih enterprise reenja. &a kraju$ moe se rei da 0;MY predstavlja:
COM+ = COM + MTS (nadgraena verzija) + Servisi
*akle$ 0;MY predstavlja jedno integrisano runtime okruenje koje u sebi kombinuje sve do sada
razvijene tehnologije distribuirane obrade od strane Mi"roso!ta i to:
- 0;M objekte$
- M'% < &icrosoft (ransaction Server B
- M%MT < &icrosoft &essage Queue Server B slui da bi se podrao Wueuing servis$ koji
omoguuje klijentu da moe automatski izvriti pozive metoda osim ako komponenta nije
o!line. M%MT pozive metoda snima i stavlja u redove ekanja automatski uvek kada je
komponenta dostupna. ;vaj servis je naroito koristan za online aplika"ije koje se moraju
izvriti do kraja. &a primer online bankarstvo$ rezerva"ija avionskih karata i td.
- Load alancing koji predstavlja mehanizam za distribu"iju klijentskih poziva ka vie servera.
Prva potreba distribuiranih aplika"ija je skalabilnost. *rugim reima$ mreni saobraaj i broj
klijenata ne sme da utie na per!omanse aplika"ije <to je u nemogue u realnim uslovimaB.
0;MY omoguuje korienje dve vrste load balancing,a . #inami!ko i stati!ko. 0;MY
podrava load balancing na nivou komponenti. 5ada klijent uputi zahtev za spe"i!inom
komponentom$ prvo se konektuje na load balancing ruter koji sadri in!orma"ije o serverima.
;vaj ruter nakon toga prosleuje zahtev dostupnim serverima. ?ko je server dostupan$ klijent
dobija instan"u komponente na serveru. &ajbolja stvar u ovome je da ako server pone da
9sputa: sistem$ 0;MY automatski rutira klijentski zahtev ka drugom serveru. JindoIs /NNN
ima ovaj servis i naziva se 3lusterin! service.
- Object pooling je vrsta 9re"ikliranja: objekata. 5ada klijent zavri sa radom sa instan"om
komponente$ umesto unitavanja instan"e <oslobaanja memorije zauzete instan"om
komponenteB$ 0;MY je 9re"iklira:. 5ada neki drugi klijent uputi zahtev za instan"om iste
komponente$ 0;MY vraa 9re"ikliranu: instan"u. Poto je skup instan"i komponente uitan u
memoriju$ one su neposredno spremne za korienje od strane klijentskih aplika"ija.
- )ust*!n*(ime Activation U 0;MY ,u kada klijent prosledi zahtev za kreiranje instan"e objekta$
0;MY obezbeuje da klijent re!eren"ira kontekst objekta umesto da re!eren"ira objekat.
5lijent dobija re!eren"u na objekat tek kada pozove metodu tog objekta. ;va tehnika se naziva
)ust*!n*(ime Activation <pravovremena aktiva"ijaB. Pretpostavimo da imate hiljadu klijenata
koji ele da instan"iraju odreenu komponentu ali samo nekoliko od njih eli da da pozove
neku metodu te komponente. U tom sluaju$ javio bi se veliki overhead ako bi se kreirale
instan"e komponente za svakog klijenta.
- Event Services iji je zadatak da obrauje dogaaje izmeu dva objekta. U 0;M,u$ dogaaji
su se mogli obraivati na dva naina$ prvi je bio korienje povratnog mehanizma inter!ejsa
gde klijent implementira neki inter!ejs koji koristi komponenta. *ogaaji ili noti!ika"ije su tada
bivali ini"irani pozivanjem preko klijentskog inter!ejsa. *rugi nain je Connectable Objects$
/E
koji koristi standardni 0;M 4"onne"tionPoint inter!ejs. 5ada dva modula komuni"iraju$ jedan
prosleuje in!orma"ije a drugi ih prima. U 0;MY modul koji prosleuje in!orma"ije naziva se
"ublisher$ a modul koji prima in!orma"ije naziva se Subscriber. U 0;M,u je postojalo
nekoliko problema koji su reeni u 0;MY ,u:
K "ublisher i Subscriber su bili tesno povezani zbog potrebe za 9poznavanjem: de!ini"ija
inter!ejsa jedno drugog u vreme kompajliranja .
K *odavanje "ublisher,u podrke za multi,kasting ili poveani broj izlaza zahtevalo je mnogo
kodovanja.
K ?rhitektura je samo opisivala set inter!ejsa. Programeri su i dalje morali da implementiraju te
inter!ejse.
K Connection point inter!ejsi su kreirani bez podrke za distribuirana okruenja i nisu bili
e!ikasni u tim s"enarijima.
- 4M*= <predstavlja robustan$ kratkotrajni i izvrni ke koji poveava per!ormanse distribuiranih
aplika"ijaB. 4M*= koristi ;PG[*= i ?*; i obezbeuje brz pristup poda"ima koji se nalaze u
bazama podataka. Umesto uitavnja u runtime modu$ 4M*= uva bazu i keu.
- +ole*ased Security predstavlja nain da pridruite razliita prava pristupa komponenti
razliitim korisni"ima ili grupama korisnika. &a primer$ moete napraviti komponentu koja e
menaderu projekta omoguiti da ita$ pie ili menja spe"i!ika"iju projekta$ dok e programeri
moi samo da itaju spe"i!ika"iju. Prava pristupa se mogu odreivati korienjem 0;MY
kataloga ili programskim putem <programiranjemB.
D>1 3ommon 1bject Re5uest Broker .rcitecture /31RBAB
+eliki razvoj P0 raunara kao i pad njihove "ene$ doveo do velikog razvoja mrenih tehnologija.
po"etkom )QN,ih godina. Meutim$ velika raznolikost umreenih sistema kao to su razliiti hardver
raunara$ razliita mrena oprema kao i veliki broj mrenih protokola doveo je do jako oteanog
razvoja mrenih aplika"ija. %a "iljem da premosti jaz izmeu programa koji su bili pisani na razliitim
programskim jezi"ima$ izvravali se na raunarima na kojima su se izvravali razliiti operativni
sistemi$ koji su bili povezani preko razliitih mrenih tehnologija kori"enjem razliitih mrenih
protokola$ nastao je standard 0;C=? .Common Object +e,uest ro#er Architecture. 0;C=? je prvi$
najvaniji i pre svega najambi"iozniji middleware projekat pokrenut u istoriji. Proizvod je
konzor"ijuma ;M6 <Object &anagement $roupB koji broji preko ENN "lanova <to pojedina"a to
velikih so!tverskih kompanijaB. 0;C=? je \papir9$ tj. spe"i!ika"ija na preko hiljadu strana. Prva
spe"i!ika"ija 0;C=? modela datira od 1QQ1 god. i do danas je doivela nekoliko razliitih verzija.
0;C=? je bila veoma popularna sredinom devedesetih$ pre nagle ekspanzije 4nternet,a. ;M6 je sporo
reagovao <pre svega zbog velikog broja lanovaB i nisu na vreme odgovorili na zahteve trita koje se
preorijentisalo prema JG=,u i zbog toga su bili \pregaeni9. Cazlozi zbog kojih 0;C=? nije postala
ono za ta je bila namenjena lee u sledeim injeni"ama:
, skup razvoj aplika"ija
, 0;C=? je esto suvie komplikovana
, mnoge implementa"ije su pune raznih propusta <bug,ovi$ sigurnosne rupe$ itd.B
Meutim$ sigurno je da je glavni razlog polakog posustajanja 0;C=?,e nedovoljno brzo praenje
zahteva trita. 'ritu je bio potreban otvoren standard koji bi omoguio komunika"iju izmeu
razliitih aplika"ija kroz otvoreni 4nternet. 0;C=? komunika"ija koristi vie portova i zato ne prolazi
kroz zatitne zidove <firewallB. =ez obzira to su 0;C=? poruke bile binarne i iz tog razloga su se
prenosile jako brzo$ prva tehnologija koja je znaajnije zapretila 0;C=?,i je bila %;?P <Simple
Object Access "rotocolB$ koji je izdat 1QQQ. godine. %;?P koristi AMP poruke koje se lako prenose
4nternet,om i itljive su i za raunare i za ljude. 4ako su AMP poruke tekstualne$ to znai da koliina
prenetih podataka nije optimalna$ %;?P je brzo nadirao zbog lakoe upotrebe i lakog prolaenja kroz
4nternet <korienjem F''P protokola bez problema prolazi kroz veinu firewall,ovaB.
%ledei dogaaj koji je isto doprineo gubitku trinog u"e"a je bio kada se /NNN. i /NN1. \izduvao9
4nternet balon i kada su mnoge kompanije koje su koristili 0;C=?,u nestale sa trita. *anas 0;C=?
ima jako mali deo trinog u"ea$ bez obzira na njene mnogobrojne pozitivne karakteristike.
/2
0;C=? je nezavisna od jezika i implementirana je na veem broju plat!ormi nego 0;M. Meutim$
postoje nekompatibilnosti izmeu implementa"ija razliitih proizvoaa. 0;C=? predstavlja obje"t
bus koji omoguava klijentu da poziva metode sa objekta na serveru uz nezavisnst programskog jezika
i loka"ije objekta. 4nterak"ija je omoguena preko ;C= <Object +e,uest ro#ersB komponenata na
klijentu i na serveru a komunika"ija se odvija preko 44;P <!nternet !nter*O+ "rotocolB. Mogunosti
0;C=? objekata de!inisane su pomou 4*P <!nterface Definition LanguageB.
+e smo rekli da 0;C=? predstavlja industrijski standard koji je de!inisao ;M6 <Object
&anagement $roupB. ;M6 pokuava da pretvori u stavrnost ideju o mogunosti da se komponente
so!tvera mogu koristiti ako su ve jednom napisane$ ili da se mogu kupiti gotove od drugih
proizvoaa. ;vaj standard de!inie inter!ejs koji bi trebalo da omogui da komponente napisane u
razliitim jezi"ima meusobno sarauju. 'o je ostvareno de!inisanjem seta metoda koje su vidljive za
ostale komponente. ;d poetka se polo sa predpostavkom da komponente mogu da budu postavljene
na razliitim vorovima u mrei. =ez obzira da li su na istom serveru ili su distribuirane kroz mreu$
komponente komuni"iraju zahvaljujui uslugama ;C= <Object +e,uest ro#erB. 5lijent i server
komponente slobodno komuni"iraju kroz mreu i pozivaju udaljene !unk"ije. 'o je upravo ono to je
neophodno za ostvarenje kon"epta aplikativnog servera kao srednjeg sloja u kome izvrenje posla
aplika"ije zavisi od ispunjenja zahteva upuenog serveru koji je zaduen za logiku aplika"ije. 0;C=?
dakle predstavlja model koji potpuno podrava ideju troslojne arhitekture$ koja po prirodi ima
aplika"iju distribuiranu izmeu klijenta$ aplikativnog servera i servera baze podataka. +e smo
napomenuli da sve koponente u arhitekturi 0;C=? komuni"iraju putem ;C=,a. ;C= ima mehanizam
za poziv udaljenih pro"edura <CP0B$ kojim za komponente potpuno maskira mreu i sve
komunika"ione tehnologije ispod$ ime omoguava da se pozivi !unk"ija vre kao da su lokalni bez
obzira gde se nalaze. &i klijent ni server na taj nain vie ne moraju brinuti o loka"iji$ jeziku na kome
je komponenta pisana niti o nainu na koji se vri transport podataka kroz mreu. ;C= moe biti
implementiran kao pro"es na host,raunaru kome klijent pristupa$ kao pro"es na nekom "entralnom
raunaru kroz koji klijent i server komuni"iraju$ ili kao servis operativnog sistema. U komunika"iji se
koristi 44;P protokol <!nternet !nter*O+ "rotocolB a za de!ini"iju inter!ejsa izmeu dva 0;C=?
objekta koristi se 4*P <!nteractive Development LanguageB spe"i!ika"ija tj. interaktivni generator
programa. 4*P spe"i!ika"ija je kompajlirana pomou 4*P kompajlera u svakom "iljnom jeziku i on
treba da omogui impementa"iju svih ovih metoda koji treba da budu potpuno nezavisno od vrste
inter!ejsa. ;vde je jezik vezan za razliite programske jezike <0$ 0YY$ -ava$ %malltalk$ ?daQ8$
0;=;P ZB. ?ko je potrebno najednostavnije de!inisati 0;C=? spe"i!ika"iju moe se rei da ona
predstavlja mogunost da se na jednom desktop raunar omogui da mogu da se razmenjuju objekti
koji se nalaze na raunarima u mrei bez obzira na hardversku i so!tversku plat!ormu na tim
raunarima. *rugim reima mogue je da neki tekst pro"esor koji se izvrava na IindoIs desktop
raunaru ukljui u okviru sebe neku gra!iku koja se generisala na nekom P4&UA raunaru koji se
nalazi u mrei.
(rimena
0;C=? je spe"i!ika"ija koja teoretski dozvoljava da dva 0;C=? programa komuni"iraju bez ikakvih
promena iako su:
, pisana na razliitim programskim jezi"ima <npr. 0YY i -avaB
, izvravaju se na razliitim operativnim sistemima <npr. JindoIs i U&4AB
, koriste razliite mrene protokole <npr. '0P(4P i ModbusB
, izvravaju se na razliitom hardveru <npr. 4ntel 1/ bitni pro"esori i ?lpha pro"esoriB
, koriste razliite mrene tehnologije <npr. 1NN Mbps Gthernet i token ring mreaB
&a ovako sloene zahteve 0;C=? odgovara tako$ to se \useli9 izmeu operativnog sistema i
aplika"ije i \sakrije9 sloenost operativnog sistema <a zajedno sa ;%,om sakriva sloenost mrenih
protokola$ hardvera raunara i mrenog hardveraB. 0;C=? je izbor onih$ kojima je potrebna brzina i
nezavisnost od isporuio"a hardvera$ proizvoaa operativnog sistema i(ili mrene tehnologije. ;ni
koji se odlue za 0;C=?,u ne moraju da trpe politiku proizvoaa kada doe do prelaska na sledeu
verziju operativnog sistema(hardvera. 5ada odreeni ;% ili hardver postane nedostupan$ 0;C=?
/Q
bazirane aplika"ije se uz neznatne modi!ika"ije mogu preneti na drugi hardver(operativni sistem. 5od
0;C=?,e se poda"i prenose binarno. ;vakav tip prenosa je puno bri od prenosa tekstualnih sadraja
<npr. AMP poruke kod %;?P,aB. 0;C=? danas jedino na tritu embedded sistema ima porast
trinog u"ea. %em te oblasti postoje instala"ije u:
, rezerva"ije avio karata
, komunika"ija izmeu e*commerce aplika"ija
, tele!onskim kompanijama <transak"ijeB
, !inansijskim sistemima
6mplementacije
5ao to je ve" ranije reeno$ 0;C=? je samo \papir9$ tj. spe"i!ika"ija na vie od hiljadu strani"a
teksta. ;va spe"i!ika"ija je bila ispred svog vremena kada je izala <poetkom devedesetih godina
dvadesetog vekaB i so!tverska zajedni"a je sa entuzijazmom prihvatila ovaj novi standard. 5renulo se u
pisanje veeg broja implementa"ija. 4mplementa"ija je !izika realiza"ija 0;C=? spe"i!ika"ije koja
radi na jednom ili vie operativnih sistema i(ili na odreenoj hardverskoj plat!ormi. U poznatije
0;C=? spe"i!ika"ije spadaju omni;C= /.3$ '?; 1.N$ ;C=it/ /.7$ M40; 1.N$ 44;P.&G' /.1$
+isibroker /.3 i orba"us /.3.
.ritektura
Sli#a -./. ;pta arhitektura 0;C=?,e
Prikazana slika je relativno loa$ ali se najvaniji elementi lepo vide:
, Object impl . server. Pre"iznije: serverski objekat
, Client . klijent$ koristi \usluge9 servera
, Object +e,uest ro#er . sloj koji \sedi9 na operativnom sistemu i sakriva njegovu sloenost
, O+ !nterface . ?P4 preko koga i klijent i server pristupaju O+,u
, !DL S#eleton . kod dobijen prevoenjem 4*P,a. Mapiranje tipova <tzv. marshalingB i bazne
klase koje serverski objekat treba da implementira
, !DL Stubs . poput 4*P %keleton,a$ slui za mapiranje tipova
, Object adapter . pove"ava portabilnost serverske implementa"ije jer omoguava pisanje koda
servera koji je nezavisan od kori"ene 0;C=? implementa"ije
Postoje dve verzije object adapter,a:
, =;? <asic Object AdapterB i
, P;? <"ortable Object AdapterB
P;? je novijeg datuma i prakti"no razdvaja implementa"iju serverskog objekta od objekta koji
obraduje zahteve <servantB. ;d svih objekata sa slike 1.$ programer koji radi na razvoju 0;C=?
aplika"ije pie samo klijenta i implementa"iju serverskog objekta.
)nterprice 7ava Beans /)7B0
Predstavlja distribuirani$ transak"ioni$ serverski komponentni model. G-= nije proizvod ve
spe"i!ika"ija koju je izdao %un Mi"rosHstems za -ava Plat!ormu. G-= je nezavisna od plat!orme$ ali ne
i od jezika. %vi G-= objekti moraju biti napisani u jeziku -ava. #a komunika"iju izmenu razliitih
1N
sistema$ G-= koristi varijantu 44;P nazvanu CM4 preko 44;P <+emote &ethod !nvocation over !!O"B.
,aljinsko pozivanje meto#a )RMI+
Pre nego to preemo na objanjavanje G-= spe"i!ika"ije potrebno je objasniti CM4 +emote &ethod
!nvocationss .metod udaljenog pozivaB. &eto slino kao to je CP0 <+emote "rocedure CallB u klijent
server modelu to je CM4 u -ava modelu. ;n omoguava -ava . -ava komunika"iju i pozivanje metoda
iz udaljenih -ava aplika"ija od strane -ava apleta$ -ava 4*P jezika <jezik kojim se de!iniu inter!ejsi po
0;C=? standardu i preko ;C=,a <Object +e,uest ro#erB pozivaju metode u programima napisanim
u bilo kom programskom jeziku koji podrava 0;C=? standardB i -*=0 <-ava *= 0onne"tivitHB koji
predstavlja veoma monu tehnologiju u upravljanju bazama podataka tj. to je prvi standardizovan set
objekata i metoda za interak"iju sa bazama podataka i predstavlja sastavni deo -ava Gntrprise ?P4,a..
CM4 mehanizam vam omoguava da uradite neto to zvui jednostavno. ?ko imate pristup objektu na
drugoj maini$ moete da pozovete metodu udaljenog objekta. &aravno$ parametri metode moraju
nekako biti prosleeni drugoj maini$ server mora biti obaveten da izvri metodu$ i povratna vrednost
mora biti vraena nazad. CM4 rukuje ovim detaljima. &a primer$ klijent traei in!orma"iju o nekom
proizvodu moe da postavi upit 0arehouse objektu na serveru. ;n poziva udaljenu metodu$ find1 koja
ima jedan parametar: Customer objekat. Metoda find vraa objekat klijentu: "roduct objekat <slika
E./B.
%lika E./
U CM4 terminologiji$ objekat ija metoda pravi daljinski poziv se naziva klijentski objekat. *aljinski
objekat se naziva serverski objekat. +ano je zapamtiti da se klijent(server terminologija odnosi na
samo jedan poziv metodi. Caunar na kome se izvrava -ava kod koji poziva udaljenu metodu je
klijent samo za taj poziv$ a raunar koji sadri objekat koji obrauje poziv je server samo za taj poziv.
%kroz je mogue da se uloge kasnije obrnu. %erver prethodnog poziva moe i sam da postane klijent
ako pozove daljinsku metodu objekta koja se nalazi na drugom raunaru.
CM4 je protokol rezervisan samo za -avu.. %ve ove tehnologije pruaju jaka sredstva za pisanje
distribuiranih$ vieslojnih i viekorisnikih klijent server aplika"ija za pristup rela"ionim bazama
podataka. -ava programeri su dobili snano orue koje im omoguava da primene kon"ept 9nezavisna
plat!orma,nezavisna baza:. -ava apleti i aplika"ije sada mogu podjednako lako pristupati bilo kojoj
bazi podataka na bilo kojoj plat!ormi. 4ako je u nazivu -*=0 pomenuta baza podataka ona ne
predstavlja bazu podataka u uem smislu rei. &aprotiv ona predstavlja mnogo iri pojam kao to su
oblik$ loka"ija ili organiza"ija podataka. 5orienjem odgovarajueg drajvera omogueno je da se
11
poda"i koji se dobijaju iz klasine baze podataka ili iz audio,video signala sa satelita$ potpuno isto
tretiraju i obrauju.
#a razliku od CM4 tehnologije ija je implementa"ija sastavni deo -ava jezika$ G-= spe"i!ika"ija ne
proiruje nijednu odreenu implementa"iju$ ve dozvoljava proizvoaima da sami prave sopstvene
implementa"ije. %pe"i!ika"ija je dovoljno pre"izno de!inisana tako da obezbedi da se so!tver koji
koristi G-= tehnologiju moe instalirati u razliita G-= okruenja bez modi!ika"ije. *obra strana je to
ovakav pristup omoguuje da se poslovna logika potrebna aplika"iji moe razvijati bez potrebe da se
brine o okruenju u kome e se ona izvravati. %ana G-= spe"i!ika"ija de!inie model serverskih
komponenti za razvoj vieslojnih arhitektura sa distribuiranim objektima. +ano je primetiti da se G-=
ne bavi klijentskom stranom ve de!inie okruenje u kome ive G-= komponente. G-= arhitekturu
ine G-= server i G-= kontejner. Dunk"ije G-= servera i kontejnera nisu strogo razdvojene. U prin"ipu
je zamiljeno da G-= server i kontejner budu nezavisni jedan od drugog to bi omoguilo izgradnju
G-= okruenja kombinovanjem komponenti razliitih proizvoaa. #a sada u praksi to nije mogue
tako da svaki proizvoa nudi svoj par server(kontejner koji se ne moe razdvojiti.
-*=0 je otvorio velike mogunosti komunika"ije sa bazama podataka preko 4ntraneta i 4nterneta. U
saradnji sa CM4 i 0;C=?$ primena -*=0 u vieplat!ormskom i viebaznom okruenju postaje
praktino neograniena. 5oristei sigurnosne mehanizme -ave$ sistem postaje veoma upotrebljiv na
4nternetu$ pa zato i ne udi pojava velikog broja baza podataka na JG=,u. ;vakva tehnologija
omoguava da zaposleni nosei svoj notebook sa -ava enabled broIser,om$ pristupaju poda"ima iz
baza svoje kompanije sa bilo koje take na planeti$ to je otvorilo nesluene poslovne mogunosti.
Podatak da se danas u svetu najvie trae programeri sa znanjem 0;MY$ -*=0$ CM4 i 0;C=?
tehnologija dovoljno govori u kome e se prav"u razvijati distribuirano upravljanje bazama podataka.
Enterprise (ava4eans 2
G-= predstavlja jednu od nekoliko -ava ?P4 spe"i!ika"ija za -ava GG plat!ormu. G-= standard
de!inie model serverskih komponenti koje enkapsuliraju poslovnu logiku i koriste se za modularan
razvoj vieslojnih arhitektura sa distribuiranim objektima. G-= spe"i!ika"iju originalno je razvio 1QQE.
godine 4=M$ da bi njen dalji razvoj preuzeo %un MH"rosistems <G-= 1.N i 1.1B. 5asnije verzije G-=
spe"i!ika"ije razvijane su kroz -0P 2)ava Community "rocess3 i de!inisane su odgovarajuim -%C
dokumentima <G-= /.N . -%C 1Q$ G-= /.1 . -%C 181$ G-= 1.N . -%C //NB. ?ktuelna verzija$ G-= 1.N$
kompletirana je /NN3.godine a na njenom razvoju radila je ekspertska grupa koju ine %un$ 4=M$
?pa"he$ =G? %Hstems$ ;ra"le$ %Hbase i drugi.
G-= 1.N spe"i!ika"ija podeljena je u tri dela:
1. G-= osnovni zahtevi . dokument koji de!inie inter!ejse isporuio"a servisa <%P4 . Service
"rovider !nterfaceB izmeu instan"e bean,a i kontejnera$ protokole$ veze kontejnera i
komponenata$ razne servise koje kontejner treba da obezbedi bean,u$ i druge detalje vezano za
razvoj i pakovanje svih vrsta G-= komponenti.
2. G-= 1.N pojednostavljen ?P4 . dokument koji predstavlja prirunik za upoznavanje sa onim
delovima prethodnih verzija G-= spe"i!ika"ije koji su znatno uproeni u "ilju lakeg razvoja i
korienja G-= komponenti.
3. -P? 2)ava "ersistence A"!3 . dokument koji spe"i!i"ira razvijanje i manipulisanje
perzistentnim entitetima koje karakterie P;-; 2"lain Old )ava Objects3 stil. 4ako je -P?
sastavni deo G-= spe"i!ika"ije$ izvesno je da e se njen dalji razvoj u budunosti odvijati
nezavisno$ obzirom da se perzistentni entiteti mogu koristiti u bilo kojoj vrsti -ava aplika"ija$
ne samo u G-= aplika"ijama.
5ako je G-= rezultat sporazumnog razvoja standardnog naina kreiranja i korienja serverskih
distribuiranih komponenti$ u kom su uestvovali i brojni proizvoai aplika"ionih servera$ G-=
komponente se mogu izvravati na gotovo bilo kom aplika"ionom serveru. *rugim reima$
proizvoai aplika"ionih servera su implementiranjem G-= spe"i!ika"ije odabrali da osiguraju svoje
poslovanje pruajui vii nivo kvaliteta$ umesto 9vezivanja9 korisnika za svoje proizvode
nestandardnim$ proizvoakim servisima komponenti.
1/
G-= spe"i!ika"ija de!inie arhitekturu serverskih komponenti za sloj poslovne logike.
5omponenta se u ovom kontekstu moe opisati kao zatvoren entitet koji se moe uvek iznova koristiti
od strane iste$ ili potpuno druge aplika"ije$ sve dok su zadovoljena pravila semantike. 5omponenta
mora biti spakovana zajedno sa svim potrebnim in!orma"ijama kako bi mogla da prui nezavisnu
postojanost izvan okvira originalne aplika"ije$ sa mogunou viestruke upotrebe. Poslovna ili
sistemska aplika"ija se zatim moe realizovati tako da sadri brojne so!tverske kompenente koje su
portabilne$ mogu se koristiti vie puta i od kojih je svaka zaduena za obezbeivanje odreene
!unk"ionalnosti.
G-= komponente su serverski orijentisane$ namenjene za izvravanje sloenih algoritama ili
sigurno izvoenje transak"ionih opera"ija. %erverske komponente se izvravaju u okruenjima koja
moraju biti raspoloiva </7>EB$ otporna na greke$ transak"iona$ viekorisnika i sigurna. ?plika"ioni
serveri obezbeuju takvo okruenje za G-= komponente$ kao i servise potrebne za njihovo
!unk"ionisanje.
5orienje G-= komponenti na vie naina pojednostavljuje razvoj velikih$ distribuiranih
aplika"ija. &a prvom mestu$ obzirom da G-= kontejner obezbeuje servise sistemskog nivoa bean,u
<kao to su upravljanje transak"ijama i sigurnosni servisiB$ programer moe da se !okusira na reavanje
problema vezanih za poslovnu logiku. 5ao drugo$ poto bean,ovi sadre pravila poslovne logike$ a ne
klijenti$ programer klijentske aplika"ije moe da se usredsredi na prezenta"ioni aspekt. 5ao rezultat$
klijent je veoma rastereen to je veoma bitno za klijentske aplika"ije koje su ugraene u razne vrste
ureaja sa ogranienim resursima <npr. mobilni tele!on$ palm topB. &ajzad$ budui da su G-=
komponente prenosive$ nove aplika"ije mogu koristiti postojee bean,ove. ;ve aplika"ije se mogu
izvravati na bilo kom -ava GG,kompatibilnom serveru koji implementira standardne ?P4
spe"i!ika"ije.
'ipino$ G-= komponente izvravaju sledee zadatke:
4mplementa"ija poslovne logike . na primer$ slanje kon!irma"ionog mejla prilikom potvrde
narudbine$ putem -avaMail ?P4aL izraunavanje trokova u online kupovnoj listiL utvrivanje
privilegija menadera pri pokuaju odobravanja narudbine.
Pristup bazi podataka . na primer prilikom poruivanja knjiga$ trans!era nov"a izmeu dva
bankovna rauna$ ili pozivanja memorisane pro"edure. -edan od mnogih naina pristepena bazi
podataka posredstvom G-= komponenti je i korienje -*=0 inter!ejsa.
4ntegra"ija sa drugim sistemima . na primer pozivanje transak"ionog 040% sistema 2Customer
!nformation Control System3 pisanog u 0 jeziku za utvrivanje izloenosti riziku novom
korisniku osiguranja.
8989 :rste )7B komponenti
Postoje dve vrste G-= komponenti , session i message*driven$ dok je trea vrsta koja je bila
de!inisana u okviru ranijih verzija G-= spe"i!ika"ije kao G-= entity komponente$ danas opisana -P?
spe"i!ika"ijom kao izdvojena "elina pod jednostavnim imenom , entiteti. *e!inisanje neke komponente
na jedan od ovih naina je deklarativno . dovoljno je u kon!igura"iji komponente napisati kojoj vrsti
pripada. U nastavku teksta na poetku je dat kratak opis G-= komponenti koje su orijentisane na
poruke$ a detaljnije se opisane session komponente i entiteti.
0>0>0> E(4 komponente orijentisane na por$ke
5omunika"ija putem poruka predstavlja alternativu CM4 protokolu. Cazmena poruka se vri
preko dodatnog meusloja <M;M , &essage Oriented &iddlewareB izmeu poiljao"a i primao"a
poruka. Poiljao" je nakon slanja poruke slobodan da nastavi sa drugim zada"ima$ dok se srednji sloj
brine o samoj isporu"i poruke primao"u. &a primer$ prilikom online kupovine knjiga$ mogue je
nastaviti sa pretraivanjem sajta tokom pro"esa autoriza"ije kreditne karti"e. Ukoliko se pro"es zavri
regularno$ kupa" e biti obaveten o uspenoj narudbini kon!irma"ionim mejlom.
11
+rsta G-= komponenti koja je orijentisana na poruke <M*= . Messa!e*Driven BeansB
kombinuje !unk"ionalnost session komponenti sa -M% 2)ava &essaging Service3 oslukivaem$
omoguavajui na taj nain asinhronu razmenu poruka izmeu G-= komponenti.
5lijentima nije omoguen pristup M*= bean,ovima putem poslovnog inter!ejsa$ zapravo$ ne
postoji nain da klijent uopte identi!ikuje M*= bean i ostvari komunika"iju sa njim. -edini nain
interak"ije klijenta sa bean,om jeste kroz srednji sloj baziran na porukama$ kao to je -M%. #alihama
M*= instan"i upravlja G-= kontejner$ koji prima poruke od srednjeg sloja i dodeljuje ih slobodnim
bean,ovima.
slika 1. ]ivotni "iklus M*= komponente
]ivotni "iklus M*= instan"e ukljuuje dva stanja: stanje kada instan"a jo ne postoji 2Does 'ot
E4ists3 i stanje kada se instan"a nalazi u zalihama i spremna je za korienje 2+eady3. 5ontejner moe
odluiti da$ u "ilju utede resursa$ ukloni neki bean iz zaliha pozivanjem metode remove<B.
1.1.2. E(4 session komponente
Session komponente generalno reprezentuju ak"ije u poslovnom pro"esu. ;ne predstavljaju
privremenu komunika"iju sa klijentom$ i implementiraju pravila poslovne logike$ na primer u sluaju
bankarskih transak"ija$ narudbina$ kontrole zaliha ili opera"ija nad bazom podataka. Mogu se koristiti
samo od strane jednog klijenta u istom trenutku$ a po zavretku sesije$ session bean sa svim svojim
poda"ima nestaje. Session komponente mogu biti realizovane na dva naina: session komponente bez
stanja i session komponente sa stanjem.
Session komponente bez stanja 2Stateless Session Bean3 predstavljaju distribuirane objekte koji
nemaju pridruene podatke o stanju$ stoga dozvoljavaju konkurentan pristup. ;uvanje vrednosti
atributa u okviru jedne instan"e nije garantovano$ ali je memorijsko premaenje tokom odravanja
veze sa pozivajuom aplika"ijom znatno manje u odnosu na session komponente sa stanjem. &a
primer$ prilikom veri!ika"ije kreditne karti"e$ bean zaduen za veri!ika"iju e prvo uzeti podatke o
broju karti"e$ roku vaenja karti"e$ nosio"u karti"e i iznosu na karti"i. #atim e nakon provere$ bean
vratiti da(ne odgovor$ zavisno od validnosti kreditne karti"e. Po okonanju ovog zadatka$ bean je
slobodan da uslui narednog klijenta i nema vie nikakve podatke o prethodnom.
;bzirom da nijedan atribut instan"e ne uva klijent,spe"i!ine podatke$ G-= kontejneru je
omogueno da kreira zalihu 2pool3 session bean,ova. #bog ove osobine$ session komponente bez
stanja su izuzetno skalabilne u sluaju velikog broja korisnika$ a takoe obezbeuju i dobre
per!ormanse poto ne postoji potreba da kontejner pomera bean iz memorije i skladiti podatke na
disku.
]ivotnim "iklusom session bean,ova upravlja kontejner$ a na sli"i 17 je prikazan ivotni "iklus
jedne session komponente bez stanja.
17
slika 2. ]ivotni "iklus session komponente bez stanja
Postoje samo dva stanja u sluaju session komponente bez stanja: stanje kada instan"a ne postoji
2Does 'ot E4ists3 i stanje kada je instan"a spremna za korienje 2+eady3. &akon to kontejner kreira
novi bean pomou metode neI4nstan"e<B$ on poziva metode za postavljanje okruenja unutar bean,a
set%ession0onte>t<B. 'ime je omoguena tranzi"ija u drugo stanje$ kada je bean spreman za korienje.
5lijent onda moe koristiti poslovne metode bean,a. 5ontejner poziva pre*estroH<B metodu kada
instan"a vie nije potrebna$ to ima za posledi"u povratak bean,a u poetno stanje <radi jasnije analize
ivotnog "iklusa$ uloga pool,a bie zanemarenaB.
Session komponente sa stanjem 2Stateful Session Bean3 sadre i podatke o stanju$ odnosno prate
sa kojom aplika"ijom interaguju tokom sesije i pamte svoje stanje izmeu poziva od strane istog
klijenta. 5ontejner skladiti i obnavlja session komponente sa uspostavom stanja prilikom pomeranja
iz radne u dugotrajnu memoriju. #bog ovih osobina$ G-= komponente sa stanjem unose vee
premaenje u sistem i manje su skalabilne od stateless bean,ova. 'ipina primena ovog tipa session
komponenti je prilikom online kupovine$ gde svaki kupa" ima svoj nalog i pri svakom prijavljivanju$
detalji o njegovoj 9korpi9 za kupovinu se od strane bean,a povlae iz baze.
slika 3. ]ivotni "iklus session komponente sa stanjem
%a slike 18 se vidi da ova vrsta session komponenti ima i tree stanje . stanje kada je bean
pasivan 2"assive3. 'ranzi"ija iz stanja +eady u stanje "assive deava se kada kontejner perzistira
podatke iz bean,a u sekundarnu memoriju a sam bean smesti u pool$ pozivanjem metode
18
prePassivate<B$ u "ilju oslobaanja resursa. 5ada klijent ponovo pozove neku od poslovnih metoda tog
bean,a$ kontejner obnavlja sadraj bean,a a zatim ga$ pozivanjem metode pre?"tivate<B9budi9 iz
pasivnog stanja i bean je ponovo spreman da opslui zahteve klijenta.
89;9 )7B kontejner
G-= komponente smetene su unutar kontejnera na aplika"ionom serveru. %pe"i!ika"ijom je
de!inisan nain na koji se obavlja interak"ija izmeu G-= komponente i njenog kontejnera$ kao i
interak"ija klijentskog koda sa kontejnerom. &ajvanija !unk"ija kontejnera jeste da obezbedi sigurno$
distribuirano$ transak"iono okruenje koje je kao takvo pogodno za egzisten"iju G-= komponente
unutar njega. G-= kontejner se ponaa kao posrednik izmeu klijenta i bean,a. #ahvaljujui
kontejneru$ bean je potpuno izolovan u odnosu na klijenta i ne moe mu se direktno pristupiti. 5ada
klijentska aplika"ija pozove udaljenu metodu G-= komponente$ kontejner je prvo presree kako bi
utvrdio da su pravila vezana za perzisten"iju$ transak"ije i sigurnost adekvatno primenjena na svaku
opera"iju koju klijent eli da izvri.
5ontejner vodi rauna o vie bean,ova istovremeno$ na slian nain kao to Jeb server
opsluuje vie servleta. 5ada bean nije u upotrebi$ kontejner ga smeta u pool kako bi mogao da ga
koristi novi klijent. G-= komponenta u potpunosti zavisi od kontejneraL na primer$ ukoliko joj je
potrebna -*=0 konek"ija ili servis koji prua druga G-= komponenta$ kontejner e joj to obezbediti.
G-= komponenta komuni"ira sa kontejnerom na tri naina: pozivanjem callbac# metoda$ pomou
G-=0onte>t inter!ejsa$ ili -&*4 inter!ejsa.
Callbac# metode. %vaki session bean moe da implementira Gnterprise=ean inter!ejs koji
de!inie razne callbac# metode. %vaka od ovih metoda obavetava bean u trenu"ima kada
dolazi do promena stanja u njegovom ivotnom "iklusu$ a kontejner ih poziva kako bi
obavestio bean da se sprema da ga aktivira$ perzistira njegovo stanje u bazi podataka$ zavri
transak"iju$ ukloni ga iz memorije. Callbac# metode omoguavaju bean,u da zavri poslove
koji su u toku$ pre ili nakon dogaaja koji sledi.
G-=0onte>t. %vakom bean,u se pridruuje G-=0onte>t objekat$ koji predstavlja njegovu
direktnu vezu sa kontejnerom. 4nter!ejs G-=0onte>t obezbeuje metode za interak"iju sa
kontejnerom tako da bean moe putem njih zahtevati in!orma"ije o svom okruenju$ na primer
in!orma"ije o klijentu$ ili status transak"ije.
-&*4 inter!ejs predstavlja standardno proirenje -ava plat!orme za pristup imenovanim
servisima kao to su P*?P$ &etJare$ sistemi datoteka itd. %vaki bean automatski ima pristup
spe"ijalnom imenovanom sitemu G&0 2Environment 'aming Conte4t3. G&0 sistemom
upravlja kontejner a bean mu pristupa putem -&*4 inter!ejsa. -&*4 G&0 omoguava bean,u da
pristupa resursima kao to su -*=0 konek"ije$ druge G-= komponente$ i spe"ijalna osobine i
servisi koje pruaju te komponente.
13
slika 7. G-= kontejner sa pripadajuim G-= komponentama razliitih vrsta
Poslovni 2business3 inter!ejs navodi metode koje nudi G-= komponenta$ kako bi one bile vidljive
klijentima. #avisno od loka"ije klijenta$ business inte!ejs se dalje moe podeliti na lokalni i udaljeni.
89<9 )ntiteti i menader entiteta
Gntiteti predstavljaju perzistentne objekte koji ne nestaju po zavretku komunika"ije sa
klijentom$ i vie klijenata moe istovremeno deliti jedan entitet. ]ivotni vek im je vezan za ivotni vek
podataka koji predstavljaju$ a ne aplika"ije koja ih koristi. &jima su tipino predstavljeni poda"i
uskladiteni u jednom redu tabele u bazi podataka. 'akoe$ entiteti imaju atribute za potrebe
identi!ika"ije <koji odgovaraju primarnim kljuevima u tabeliB koji mogu biti prosti ili sloeni$ a mogu
imati i de!inisane veze sa drugim entitetima. Poslovna logika implementirana kroz session
komponente$ a uz pomo servisa za perzisten"iju$ vodi rauna da poda"i iz entiteta budu trajno
sauvani.
U okviru -P? dela G-= 1 spe"i!ika"ije koji se bavi entitetima i nainom njihove perzisten"ije$
de!inisani su inter!ejsi neophodni za izvoenje opera"ija nad entitetima. Gntiteti se razlikuju od G-=
komponenti po tome to reprezentuju podatke koji se skladite u bazi. 'akoe$ entiteti se mogu koristiti
i u -/%G aplika"ijama$ za razliku od session ili M*= bean,ova. Menaderu entiteta$ koji implementira
potrebne inter!ejse za perzisten"iju de!inisane -P? spe"i!ika"ijom$ delegirani su svi zada"i vezani za
kreiranje$ itanje$ izmenu i brisanje entiteta. =ez menadera$ entitet nije nita drugo do regularan$ plain
old$ -ava objekat <P;-;B$ dok sam menader predstavlja instan"u klase GntitHManager.
5ada menader entiteta re!eren"ira jedan entitet$ za taj objekat se kae da je upravljan
2managed3 od strane menadera. %et upravljanih instan"i entiteta pod nadlenou jednog menadera u
datom trenutku predstavlja kontekst perzistencije 2persistence conte4t3. U jednom vremenskom
trenutku samo jedna -ava instan"a sa istim identi!ikatorom moe postojati u okviru konteksta
perzisten"ije.
4nter!ejs GntitHManager obezbeuje metode za tri tipa opra"ija:
upravljanje ivotnim "iklusom entiteta$
sinhroniza"ija sa bazom podataka$
pretraga entiteta i izvravanje upita.
0>2>0> :pravljanje ivotnim cikl$som entiteta
]ivotni "iklus jedne instan"e entiteta odreen je sa dva glavna aspekta koji se odnose na vezu
instan"e sa spe"i!inim kontekstom perzisten"ije$ i sinhroniza"iju stanja instan"e sa stanjem u bazi
podataka. Menader entiteta razlikuje etiri stanja u ivotnom "iklusu entiteta:
&ova instan"a 2'ew3. 4nstan"a entiteta je kreirana u memoriji ali joj jo uvek nije dodeljen
identi!ikator ili kontekst perzisten"ije. U ovom trenutku stanje entiteta jo uvek nije
sinhronizovano sa stanjem u bazi i menader ne zna za postojanje novog entiteta.
Upravljana instan"a 2&anaged3. Gntitet poseduje identi!ikator i kontekst perzisten"ije.
Promene na entitetu e biti sinhronizovane sa bazom kada se transak"ija uspeno izvri
2commited3 ili u sluaju ekspli"itno zahtevane sinhroniza"ije pomou !lush<B opera"ije. Gntitet
dolazi u upravljano stanje na mnogo naina: pozivima persist<B$ merge<B ili re!resh<B metoda$
kao i u sluaju da je entitet rezultat pretrage ili upita.
&eupravljana instan"a 2Detached3. Gntitet i dalje poseduje identi!ikator ali nije vie aso"iran sa
kontekstom perzisten"ije i menader vie njim ne upravlja.
Uklonjena instan"a 2+emoved3. Gntitet je jo uvek vezan za kontekst perzisten"ije ali je
rasporeen za uklanjanje iz baze podataka.
1E
slika 8. 'ranzi"ije stanja entiteta
;pera"ijom remove<B mogu se rasporediti za uklanjanje iz baze podataka jedino entiteti koji se
nalaze u upravljanom stanju. Pomou ove opera"ije poda"i u bazi se rasporeuju za uklanjanje$ to e
se zaista i desiti kada se transak"ija uspeno izvri$ ili kada se pozove opera"ija !lush<B.
Pomou opera"ije merge<B mogue je neupravljanim entitetima ponovo dodeliti kontekst
perzisten"ije. Gntitet dolazi u Detached stanje po prestanku postojanja konteksta perzisten"ije ili kada
se isporui klijentu kao serijalizovan objekat.
0>2>1> Sinhronizacija sa 9azom po#ataka
4zmene na lokalnim entitetima se obino sinhronizuju sa bazom podataka u vreme potvrivanja
transak"ije 2commit3. Meutim$ ponekad je vano izvriti sinhroniza"iju pre potvrivanja opera"ija
transak"ije. &a primer$ izmene entiteta mogu uti"ati na rezultate upita u okviru iste transak"ije. U tom
sluaju$ neophodno je obaviti sinhroniza"iju pre izvravanja upita.
4zvravanje prevremene sinhroniza"ije kontrolie se postavljanjem !lush reima rada za eljene
metode korienjem anota"ija$ ili globalno za kontekst perzisten"ije pomou setDlushMode<B opera"ije.
*ostupne op"ije vezane za !lush reim rada ukljuuju 0;MM4' za sinhroniza"iju samo u vreme
potvrivanja transak"ije$ i ?U'; za sinhroniza"iju stanja entiteta i u vreme potvrivanja transak"ije i
pre izvravanja upita.
;pera"ija !lush<B obavlja sinhroniza"iju stanja svih entiteta u okviru konteksta perzisten"ije sa
entitetima u bazi ali ne ukljuuje i auriranje lokalnih entiteta na osnovu njihovog stanja u bazi. #a
potrebe auriranja$ mora se ekspli"itno pozvati opera"ija re!resh<B.
1.3.3. Pretra.a entiteta i izvr7avanje $pita
U "ilju identi!ika"ije entiteta koje prethodi re!eren"iranju instan"e istog$ potrebno je ili direktno
adresirati individualan entitet korienjem primarnog kljua$ ili izvriti upit koji e kao rezultat vratiti
set entiteta na osnovu zadatih uslova.
Menader entiteta obezbeuje metodu !ind<B za potrebe adresiranja entiteta na osnovu primarnog
kljua. ;va metoda e kao rezultat vratiti upravljan entitet odgovarajue klase u sluaju ispravno
navedenog identi!ikatora$ u suprotnom$ rezultat e biti null vrednost.
U veini sluajeva identi!ikator entiteta nam je nepoznat$ ili nam je potrebno vie od jednog
rezultata$ ili je neophodno postaviti jedan ili vie uslova za pronalaenje entitetaL odnosno$ potrebno je
!ormulisati upit. Postoje brojni nain za de!inisanje pretrage koje nudi inter!ejs GntitHManager$ ali su
generalni kora"i pri tom uvek isti:
pravljenje nove java>.persistan"e.TuerH instan"e od strane menadera$
postavljanje parametara upita i gornju grani"u veliine rezultujeeg seta <ako je potrebnoB$
12
izvravanje upita.
Prvi korak obavlja menader entiteta$ dok druga dva koriste TuerH inter!ejs. Mogue je odabrati
korienje upita pisane u G-=,TP 2E) Query Language3 jeziku ili nativnom %TP,u. G-=,TP je
objektni upitni jezik koji je po sintaksi veoma slian %TP,u. ;snovna razlika izmeu G-=,TP i %TP
jezika jeste u tome to G-=,TP koristi entitete za model podataka i garantuje kompletnu portabilnost
izmeu heterogenih baza podataka. %TP$ i pored toga to predstavlja 4%; standard$ esto ne ispunjava
zahteve portabilnosti usled velikog broja razliitih proizvoakih dodataka i %TP dijalekata koji
postoje.
Postoje dve vrste G-=,TP upita koje se mogu koristiti . dinamiki i statiki. Metoda
"reateTuerH<B koristi se za kreiranje dinamikih upita$ odnosno upita koji su de!inisani u okviru koda
koji implementira poslovnu logiku aplika"ije. Metoda "reate&amedTuerH<B slui za upotrebu statikih$
ili imenovanih upita$ koji se de!iniu pomou S&amedTuerH anota"ije i mogu se pozivati vie puta
pomou imena upita.
&aveden je primer korienja ove dve metode za dobijanje spiska svih radnika:
(^ kreiranje dinamikog upita ^(
TuerH WuerH _ manager."reateTuerH<M%GPG0' r DC;M Cadnik rMBL
(^ kreiranje imenovanog upita ^(
S&amedTuerH<
name_MsviCadni"iM$
WuerH_M%GPG0' r DC;M Cadnik rMBL
(^pozivanje imenovanog upita^(
radni"i _ manager."reate&amedTuerH<MsviCadni"iMBL
89=9 Metapodaci
%vakom entitetu su pridrueni metapoda"i u odreenoj koliini koji ga opisuju. ;vi metapoda"i
omoguuju sloju za perzisten"iju da prepozna$ interpretira i upravlja na odgovarajui nain entitetom
od uitavanja$ preko izvravanja do uklanjanja. 5oliina metapodataka koji su zaista neophodni da bi
se opisao entitet je zapravo mala$ meutim$ kao i u svim so!isti"iranim tehnologijama metapoda"ima je
mogue spe"i!i"irati sve relevantne detalje. Metapoda"i entiteta mogu biti spe"i!i"irani na jedan od tri
naina . pomou AMP deskriptora$ A*o"let komentara ili pomou anota"ija. Uprkos razlikama u
sintaksi mogue je svakim od navedenih pristupa postii isti nivo kon!igura"ije.
0>3>0> Anotacije
?nota"ije predstavljaju osobinu programskog jezika koja omoguava struktuiranim i tipiziranim
metapoda"ima da budu deo izvornog koda. Pojam anota"ija uveden je u -ava %G 8$ i predstavlja
kljuni deo G-= 1.N i -ava GG 8 spe"i!ika"ija. ;ne se mogu koristiti kao alternativa standardnim AMP
deskriptor !ajlovima$ ili u kombina"iji sa njima. *e!ini"ije metapodatka unutar -ava koda
upotrebljavaju se$ u razliitim obli"ima$ od samog nastanka -ava jezika. Prvi primer bili su -avado"
tagovi u okviru komentara koji su se koristili za generisanje ?P4 dokumenta"ije u F'MP !ormatu.
4deja je bila da se metapoda"i nalaze u spe"ijalnom obliku komentara unutar koda$ koje zatim posebni
kompajleri ili nezavisni alati obrauju i upravljaju dobijenim in!orma"ijama. &ajistaknutiji predstavnik
ove tehnike jeste popularni A*o"let alat$ koji je zapravo pretpro"esor izvornog koda.
=itno je istai da su u okviru -avado"(A*o"let pristupa metapoda"i smeteni unutar komentara$
to znai da ih ne obrauje -ava kompajler. Metapoda"i se ne kompajliraju u regularnu klasu i dostupni
su samo u vreme kompajliranja. %intaksa i semantika metapodataka se ne proverava od strane
kompajlera$ to moe uzrokovati kasno otkrivanje greaka.
1Q
SOAP <Simple Object Access "rotocolB je kompletno kreiran na postojeim$ proverenim i iroko
prihvaenim tehnologijama kao to su F''P i AMP. %;?P koristi AMP za prenos podataka izmenu
aplika"ija$ a poto je AMP univerzalni standard$ sve plat!orme mogu da pristupe i obrade in!orma"iju.
Poto koristi F''P$ jednostavno prolazi kroz port 2N$ tako da !ireIall,ovi ne predstavljaju problem.
Pristup razliitim aplika"ijama na raznim plat!ormama sa %;?P,om postaje jednostavan$ -ava
aplika"ija na Uni>,u jednostavno moe da poziva metode 0;M objekta na JindoIs serveru.
5lijentska aplika"ija na iMa",u pristupa objektu na main!rame raunaru. %ve ovo postaje
transparentno i ne zahteva bilo kakvu posebnu administra"iju. %;?P je moda nekad bio jednostavan$
ali je i on postao kompleksan$ dok je prikupljao sve vie osobina koje ima 0;C=?. AMP protokol ima
prednost u tome to je manje . vie itljiv za ljude tako da je neto laki za debagovanje. %a druge
strane AMP pro"esiranje predstavlja svojevrsno usko grlo za per!ormanse. %ve u svemu$ 0;C=? je
mnogo e!ikasniji$ premda je %;?P bolje prilagoen mrenoj arhitekturi. ?ko se oba objekta koji
komuni"iraju meusobno implementiraju u javi onda je sva uoptenost i kompleksnost 0;C=?,e ili
%;?P,a nepotrebna. %un je razvio jednostavniji mehanizam$ nazvan +emote &ethod !nvocation
<CM4B$ spe"ijalno za komunika"iju izmeu java aplika"ija.
>?M2 />-per?e&t Markup 2an!ua!e0
F'MP je jednostavan jezik koji se koristi za izradu hipermedijskih dokumenata od kojih se sastoji
JG=. 'emelji se na oznakama <tagsB kojima se oblikuje izgled dokumenta koji se sastoje od teksta$
slike$ zvuka$ !ilma i drugih meusobno povezanih objekata. Cazvijen je poetkom devedesetih godina
na temeljima %6MP jezika <%tandard 6eneralized Marup PanguageB kojim je de!inisana sintaksa
elemenata za oznake. Gvolu"ijom tehnologija razvijao se i proirivao$ pa je od jezika sa statikim
hipertekstualnim osobinama prerastao u jezik pogodan za iterak"iju korisnika i JG= servera i prikaz
dinamikih multimedijalnih objekata. *anas razvojem dinamikog F'MP,a <*F'MPB postaje
nezamislivo kreiranje strani"a koje ne sadre dinamike objekte i napredne komponente kao to su
naredbe skriptnih jezika. Upotreba F'MP jezika podrazumeva korienje struktuiranih tekstualnih
datoteka u kojima se nalaze poda"i i oznake jezika koje prepoznaju odreene aplika"ije na strani
klijenta i pravilno ih interpretiraju <na primer JG= itaiB. Moderni Jeb itai <Mi"roso!t 4nternet
G>plorer$ &ets"ape &avigator ili ;peraB naprednim osobinama diktiraju razvoj F'MP i *F'MP te
olakavaju interpreta"iju i kvalitet strani"a. ;bogaen ugraenim skript,programima koji se izvravaju
na strani klijenta ili servera$ F'MP predstavlja odlian jezik za prezenta"iju kako strunih i poslovnih
tako i zabavnih sadraja. Ukartko svaki F'MP dokument se sastoji od odreenih oznaka <tagB i
tekstualnih podataka. %vaki dokument se sastoji od sek"ije zaglavlja i sek"ije tela.
`F'MPV
`FG?*V Z `(FG?*V
`=;*aV Z `(=;*aV
`F'MPV
@M2 /e@tensible Markup 2an!ua!e0
*anas$ kada !unk"ionalnost poslovnog so!tvera u sve veoj meri zavisi od njegove sposobnosti da se
integrie i razmenjuje in!orma"ije sa drugim poslovnim so!tverima$ od vrhunskog znaaja je postojanje
i kontinuirani razvoj standarda za razmenu podataka. ;vi standardi postoje da bi komunika"iju i
integra"iju poslovnih so!tvera uinili e!ikasnom i prepoznatljivom i smanjili napor u implementa"iji
odgovarajuih inter!ejsa. Moe se rei da je tehnoloki razvoj$ naroito u segmentu razvoja interneta$
odnosno Ieba$ danas ustanovio jedinstvenu tehnologiju za modeliranje struktura podataka koje se
razmenjuju izmenu poslovnih so!tvera. 'a jedinstvena tehnologija je AMP jezik.
&ajednostavnije reeno AMP predstavlja proirivi jezik za oznaavanje. 'o je prost i !leksibilan jezik
zasnovan na %6MP,u<%tandard 6eneralized Marup PanguageB. Prestavlja jezik za oznaavanje koji
moe da se pokrene na bilo kojoj plat!ormi$ operativnom sistemu ili okruenju i napravljen je tako da
dizajnerima prua mehanizme za bolje opisivanje njihovog sadraja. Prvobitno je razvijen za
izdavake kue i njihove projekte$ ali je kasnije razvijen za e!ikasnu i laku razmenu podataka na
7N
Jebu. AMP to radi na taj nain to dozvoljava dizajnerima da napiu sopstvene de!ini"ije tipova
dokumenata <do"umet tHpe de!initions *'*B koje opisuju skupove oznaka i atributa koji mogu da se
koriste za opisivanje spe"i!ine vrste sadraja. *'*,ovi su pravila vladanja jezika za oznaavanje koja
de!iniu koji elementi oznaavanja mogu biti upotrebljeni za opisivanje dokumenata.AMP je dovoljno
robustan i proiriv da moe da opie ne samo sadraj ve i metapodat#e. Metapoda"i su in!orma"ije
koje opisuju druge in!orma"ije. Primer metapodataka su kataloke oznake knjiga u bibliote"i. %vaka
karti"a ili stavka u raunarizovanom katalogu jeste in!orma"ija koja prua in!orma"iju o drugom
izvoru in!orma"ija.Unutar svoje ljuture AMP prua ire znaenje opisivanja sadraja dokumenata ili
mehanizma za opisivanje metapodataka$ koristei metod koji e raditi na svim raunarima$ bez obzira
na plat!ormu i operativni sistem. &a taj nain AMP e uiniti da se potroai i proizvoai in!orma"ija
lake pronau tj. mnogi poslovi vezani za pretraivanje ili razmenu in!orma"ija mogu se
automatizovati pomou AMP,a.$ pruajui opti okvir za predstavljanje in!orma"ija.
EM; jezik za mo#eliranje str$kt$re po#ataka
AMP <eAtensible Markup PanguageB jezik predstavlja standardni nain za modeliranje struktura
podataka u elektronskom poslovanju. 4ako je prvobitno namenjen primeni u Ieb aplika"ijama$ postao
je standard za predstavljanje podataka u poslovnim pro"esima$ prihvaen u potpunosti od strane
najveih proizvonaa so!tvera i razvojne zajedni"e. 4deja je bila da se stvori jezik koji e i ljudi i
raunarski programi moi jednostavno da itaju. AMP de!inie optu sintaksu za oznaavanje podataka
pomou odgovarajuih tagova koje imaju poznato ili lako razumljivo znaenje. Dormat koji
obezbenuje AMP za raunarske elemente moe se prilagoditi najrazliitijim oblastima$ kao to su
elektronska razmena podataka$ uvanje podataka$ odvajanje podataka od prezenta"ije$ vektorska
gra!ika$ sistemi glasovne pote$ izrada novih spe"ijalizovanih jezika za oznaavanje. ;snovna svrha
AMP,a je da olaka deljenje podataka kroz razliite in!orma"ione sisteme$ posebno kroz one sisteme
koji su povezani sa 4nternetom. AMP je nastao iz potrebe da se same in!orma"ije sa F'MP strana
!iziki odvoje od naina na koji se prikazuju unutar Ieb strana <dizajnaB. %am F'MP je zasnovan na
%6MP,u <Standard $enerali5ed &ar#up LanguageB$ opirnijem meta jeziku koji je postojao i pre
pojave Jeb,a. %6MP de!inie gramatiku za sve markup jezike dokumenata. %6MP dokumenti nose
svoju gramatiku de!ini"iju sa sobom u obliku *o"ument 'Hpe *e!inition,a <*'*B datoteka. *'*
datoteke de!iniu sve oznake <tagoveB koje se koriste u jednom dokumentu kao i njihovu sintaksu.
%truktura AMP datoteke je hijerarhijska . sastoji se od otvorenih i zatvorenih tagova$ unutar kojih su
drugi tagovi. 'agovi su opisani u *'* <*o"ument 'Hpe *e!initionB datote"i$ koja predstavlja
svojevrsnu gramatiku jezika. #a razliku od %6MP,a$ F'MP,a i drugih markup jezika$ AMP
dozvoljava korisniku slobodno kreiranje gramatike jezika. 4z tog razloga se za !ormiranje strukture
podataka$ mogu koristiti i prirodni jezi"i. #a tumaenje AMP strukture i trans!orma"iju u odrenenu
strukturu podataka$ koriste se tzv. parseri$ programski moduli$ napisani u odgovarajuem jeziku.
Slika 0F> Primer EM; #ok$menta
4ako AMP ne zahteva striktnu spe"i!ika"iju gramatike dokumenta$ dobra je praksa da se ona !ormira$
da bi odgovarajui parseri mogli da izvre valida"iju dokumenta opisanog AMP datotekom. &ajvanije
prednosti korienja AMP standarda za modeliranje podataka u poslovnim Ieb aplika"ijama su:
= Samo#ok$mentovanje> 5orienje prirodnih jezika za opis strukture podataka. 5riva uenja AMP
jezika je mnogo strmija od uenja predstavljanja struktura podataka npr. U rela"ionim bazama. -edan
od osnovnih "iljeva AMP spe"i!ika"ije je integrisanje nove tehnologije za opis podataka u najkraem
moguem roku.
= Veliki stepen konzistentnosti sa BTM; jezikom A jezikom 5e9=a> Poznavanje F'MP jezika
dramatino ubrzava usvajanje AMP.
71
= EM; je #anas $svojen kao #e "akto i #e j$re stan#ar# za E,I )Electronic ,ata Interchan.e+>
;n omoguava ouvanje konzistentnosti dokumenata prilikom razmene i ukida potrebu za
prevodio"ima u i iz razliitih !ormata.
= EM; reprezentacija kompletne 9aze ili neko. njeno. #ela moe posl$iti za 9ack$pG nezavistan
o# R,4MS )sistema za $pravljanje relacionim 9azama po#ataka+$ ili za migra"iju podataka sa
jednog sistema na drugi <npr. ;ra"le V %TP %erverB. Migra"ija se moe izvesti na dva naina$ pisanjem
koda koji e vriti svaku pojedinanu migra"iju ili uz pomo takozvanog "entralnog AMP hub,a.
Prednost "entralnog hub,a je u tome da su za dodavanje novog !ormata baze potrebna samo dva
nova konvertora$ dok je istovremeno bez hub,a$ za est sistema prikazanih na drugoj sli"i potrebno 1N
!iltera.
Slika 0D> 4ack$p po#ataka iz relacionih 9aza primenom EM;=a
= Nezavisnost prikaza EM; $ o#nos$ na 5e9 9ro5serG ko# 9ro5ser=a koji po#ravaj$ EM;> U
ovom trenutku$ najnovije verzije gotovo svih vodeih broIser,a podravaju AMP. ;vo je posebno
vano ukoliko je potrebno da se poda"i iz baza prezentuju na 4nternetu$ gde postoje razliiti broIser,i$
za razliku od korporativnih mrea <intranetaB$ gde je broIser uglavnom uni!i"iran. 'renutno je najei
nain za prikaz AMP,a na 4nternetu korienje A%P',a <AMP %tHle Panguage 'rans!ormationB za
konverziju AMP,a u F'MP <simultana konverzijaB.
7/
2 as %lijent server komponente A SERVER
Xta je to %erver b %a hardverske strane$ najprostiji odgovor na ovo pitanje je da je to raunar koji
istovremeno mogu da koriste vie korisnika$ a sa so!tverske strane %erver je bilo koji pro"es koji
obezbeuje servise za klijente. ;n je reaktivan jer uvek eka na zahteve klijenta. &e postoje neka
ogranienja niti neki posebni uslovi koji su potrebni da se neki raunar pretvori u server. Poeljno je da
raunar koji radi kao server bude mnogo snaniji od uobiajenih klijent raunara zato to server
pro"esi moraju da zadovolje konkurentne zahteve vie klijenata. ;vi raunari obino imaju veu
pro"esorsku snagu <ne retko i vie snanijih pro"esoraB$ vei kapa"itet operativne memorije i vei
kapa"itet diskova nego raunari klijenata.
;no to opredeljuje da neki raunar bude proglaen serverom predstavlja so!tver tj. operativni sistem.
#ato se za server bira raunar u zavisnosti od zahteva aplika"ije koja treba na njemu da se izvrava. *a
bi jedna klasina klijent server aplika"ija mogla da se najbolje izvrava$ potrebno je kon!igurisati
raunar,server tako da operativni sistem na njemu podrava sledee uslove:
o deljivu memoriju <shared memorHB$
o nezavisne aplika"ije <appli"ation isolationB$
o multitasking sa pravom preeg prioriteta <preemptive multitastingB.
;perativni sistem na serveru mora da omogui i kontrolie da vie korisnika moe istovremeno da
pristupi zajednikim resursima kojima taj server raspolae. ;n ne sme da dozvoli da se zbog
nedostupnosti nekog resursa$ koji je zauzeo neki pro"es$ blokira neki drugi pro"es i tako stopira
izvrenje tog pro"esa. Prin"ip prioriteta je jedan od glavnih arbitranih !aktora koji stoji na
raspolaganju operativnom sistemu kod odluivanja koliko vremena i kom pro"esu treba dodeliti neki
resurs. 4sti prin"ip je vezan i za deljivu memoriju$ s tim da se ovde treba voditi rauna da ne doe do
meanja memorijskog prostora dva ili vie pro"esa koji se istovremeno izvravaju u memoriji <problem
se jo vie komplikuje ako imamo dva ili vie pro"esoraB.
?plika"ije koje se izvravaju na serveru pored toga to dele zajednike resurse moraju da ispunjavaju
i jo jedan uslov: izvravanje jedne aplika"ije ne sme da se mea u izvravanje druge aplika"ije.
;perativni sistem je taj koji treba da vodi rauna da ne doe do toga i tako obezbedi da se greka u
izvravanju jedne aplika"ije ne mani!estuje u izvravnju ostalih aplika"ija koje se izvravaju na isom
serveru.
Multitastig sa pravom preeg prioriteta mora da obezbedi da se svi pro"esi na jednom serveru
izvravaju u odreenim vremenskim razma"ima tj. da se svako pro"esu dodeli odreeni kvant vremena
<mali vremenski preiodB u okviru koga taj pro"es raspolae glavnim pro"esorom u serveru. &e sme se
dozvoliti da neki jednostavan pro"es zauzme sve resurse u sistemu i tako sprei izvravanje ostalih
pro"esa. *e!inisanje relativnog prioriteta razliitih pro"esa koji se izvravaju na serveru je posao
operativnog sistema a oni zavise od vrste i svrhe zadataka koji ti serveri treba da izvre. 5od klasinih
klijent server aplika"ija de!inisanje tih prioriteta je znatno vanije nego to je kod !ile server aplika"ija.
#a razliku od klijent server aplika"ija kod !ile server aplika"ija izvrava se samo jedan pro"es vezan za
!ile servis pa tako nema potrebe za nezavisnu aplika"iju <appi"ation isolationB i multitasking
<preemptive multitaskingB.
+e smo napomenuli da ne postoji neka strikno odreena hardverska tehnologija za proizvodnju
servera. 'o se isto odnosi i na servere koji treba da zadovolje klasinu klijent server arhitekturu.
Primarna karakteristika takvih servera je da on mora da podri viestruke simultane <istovremeneB
zahteve klijenata$ koji zahtevaju servisiranje svojih zahteva. #ato$ takvi serveri moraju da omogue
podrku za multitasking kao i da omogue nesmetanu podelu i dodelu svog memorijskog prostora
razliitim pro"esima. Proizvoai pro"esora kao to su 4ntel$ ?M*$ 4=M$ *G0 +?A i C4%0 pro"esori
< %un %P?C0$ 4=M(Motorola$ PoIer P0$ *G0 ?lphaB potpuno ravnopravno uestvuju u izboru
hardverske plat!orme koja e biti odgovarajua za servere u klijent server arhitekturi. 5ao server
plat!orme se mogu koristiti jai P0 raunari$ C4%0 raunari ili veliki raunari ako je u pitanju
upravljanje velikikim bazama podataka ili upravljanje velikim mreama i sl. ;d njih se oekuje da
budu odgovorni u upravljanju serverskog sistema za prihvatanje spoljanjih zahteva$ njihovo
obraivanje i vraanje traenih podataka onim klijentima koji su ih i traili. %ve to moraju da odrade u
71
potpunoj sinhroniza"iji kako bi bilo omogueno da se pravovremeno i pravilno odgovori spoljanjim
zahtevima. %ve to mora da prati potpuna bezbednost i nezavisnost u prihvatanju i slanju potrebnih
podataka. +rlo je bitno da se u tom velikom broju zahteva koji stiu i odgovarajuih odgovora mora
zadrati integritet tih podataka kako bi oni valjano i kompletno stigli do odredita. #adnjh godina sa
velikim razvojem objektno orjentisanih tehnologija <;;'B$ koje su u mnogome diktirale razvoj
operativnih sistema i razvojnih okruenja$ serveri su postali 9svuda prisutni: <ubi,uitousB. 'u vai
pravilo 1? koje kae an-tin! <bilo taB$ an-,ere <bilo gdeB i an-time <bilo kadaB. *rugim reima to
bi znailo da serveri treba da budu potpuno transparentni da ne zavise od tehnologije izrade$ mesta gde
se oni postavljaju tj. gde se nalaze korisni"i<usersB ili razvijao"i<developersB kao i da budu uvek
dostupni. 5ako se jedan raunarski pro"es moe jasno podeliti na klijent i server komponente$ za
server pro"ese moemo da kaemo da vae sledei prin"ipi:
o Poka"iona nezavisnost$ to znai da server pro"es moe biti smeten bilo gde u mrei.
o ;ptimiza"ija resursa . server pro"es mogu deliti vie klijenata.
o %kalabilnost$ to znai da server pro"es moe biti startovan na vie snanih plat!ormi.
o %erver pro"esi bi trebalo da rade u plug*and*play okruenju.
;d savremenih server maina zahteva se:
podrka multipro"esiranju$ disk poljima$ mehanizmima obrade viestrukih niti <multithreadingB i
e!ikasno upravljanje memorijskim podsistemim.
Podrka disk poljima podrazumeva pristup redudantnim je!tinim diskovima <poznatim kao C?4*
diskoviB to uvodi pouzdanost u radu sa diskovima u smislu oporavaka od greaka <otkaz nekog diskaB.
Mehanizam viestrukih niti omoguava da se pro"esi podele na vie nezavisnih izvrnih poslova$ ime
se obezbeuje da aplika"ije mogu izvravati vie simultanih zadataka. M&itM predstavlja najmanji
pro"es koji sistem moe planirati za izvrenje.
Podrka memorijskim podsistemima podrazumeva primenu G00 <Error Correction and Detection
CodeB mehanizma kao i proveru pariteta da bi se izbegao gubitak podataka koji od servera putuju ka
klijentu o obratno.
5ada su u pitanju serveri potrebna je izatita od problema u napajanju elektrinom energijom to se
obino obezbeuje ureajem za neprekidno napajanje. Potrebno je obezbediti mogunost za proirenje
0PU,a$ memorije$ diska i peri!erija.
#a operativni sistem servera se najee bira operativni sistem sa mrenom podrkom <JindioIs &'
ili Uni>B$ ali to nije obavezno. 4de se na to da se odvoje server pro"esi i mreni operativni sistem jer u
tom sluaju server raunar se rastereuje za izvravanje zahteve koji do njega stiu preko nekog
mrenog raunara koji sada preuzima obavezu da zahteve prosledi do servera.
%erver aplika"ija se startuje pod operativnim sistemom i interaguje sa komponentom komunika"ionog
posrednika radi oslukivanja klijent zahteva za servisima. ;va aplika"ija ne mora biti zasnovana na
gra!ikom korisnikom inter!eju. 5ada zahtev bude primljen$ server pro"esi ga lokalizuju <odreuju
adresa klijenta koji je poslao zahtevB. %erver zna kako treba da obradi zahtev tako da mu klijent
saoptava samo ta$ a ne i kako treba uraditi. 5ada se obradi zahtev$ odgovor se alje klijentu preko
komunika"ionog posrednika.
#lo!a servera
+rlo je vano da se razume da je server jedna vrsta prostornog kon"epta a ne opis !izike
implementa"ije neega. 4 !unk"iju klijenata i !unk"iju servera mogue je obezbediti na istom !izikom
sredstvu. %a gledita peer to peer <svi raunari su ravnopravni u mrei raunaraB povezivanja$ svaki
raunar moe poten"ijalno raditi kao klijent i kao server u zavisnosti da li prua ili zahteva neki servis.
6lavna odlika servera upravo je pruanje razliitih servisa,usluga drugim raunarima meu kojima se
istiu: aplika"ini$ !ajl$ print$ !a>$ e,mail$ komunika"ioni$ database$ se"uritH<servis zatiteB$
image<videoB$ JG=$ sistemski i mreni upravljaki servisi. U narednim sek"ijama objasniemo
pojedinano svaki od ovih servisa koji u potpunosti odreuju namenu i ime nekog servera.
.plikacioni serveri omoguuju da se na klijenskoj radnoj stani"i prikazuju poslovni rezultati koji
zavise od vie pro"esa,aplika"ija koje se izvravaju na razliitim raunarima,serverima koji su
postavljeni na potpuno odvojenim i !iziki nezavisnim mestima. U klijent server modelu zahvaljujui
77
4P0 < !nter"rocess Communication B zahtevima omogueno je da se ti rezultati u potpunosti ili
delimino prikazuju na vie razliitih klijent radnih stani"a i to u razliitim prikazima i !ormatima.
5olek"ija aplika"ionh servera mora raditi u jednoj zajedni"i u potpunoj sinhroniza"iji kako bi mogli da
dobijemo potpunu in!orma"iju. -edan od primera aplika"ionog servera je aplika"ija koja je zaduena za
plaanje radnika u nekoj !irmi. &a jednom serveru izvravae se aplika"ija koja je zaduena da
prikazuje zarade radnika na drugom e se izvravati aplika"ija koja izraunava zaradu$ na treem
aplika"ija koja rauna odbitke i td. &a svim tim serverima mogu da se izvravaju aplika"ije pisane u
razliitim programskim jezi"ima$ na razliitim operativnim sistemima$ razliitim hardverskim
plat!ormama i mogu da koriste usluge razliitih database servera. 5lijent aplika"ija poziva sve te
servise ne ulazei u to koja je tehnologija primenjena na tim serverima ili pak gde se ti serveri
geogra!ski nalaze. ;bjektne tehnologije su omoguile tehniku osnovu za aplika"ione servere tako da
oni u potpunosti mogu da odgovore na viestruke klijentske zahteve.
%ile serveri slue za upravljanje datotekama i omoguavaju zapisivanje podataka koji nisu database
orijentisani. &jegova je uloga da vodi rauna o slobodnom prostoru koji je potreban za pamenje
podataka$ da taj prostor dodeljuje poda"ima kao i da organizuje pamenje podataka na nain koji e
kasnije omoguiti lako pronalaenje tih podataka. #a tu namenu !ile server se koristi !unk"ijom
katalaga,adresara koja mu omoguava da se poda"i pamte u vidu imena !ajlova ili direktorijuma
<!olderimaB. *uina tih imena varira od vrste operativnih sistema koji se izvravaju na serverima i idu
od 2 <*;%B do /83<J4& APB karaktera. 5lijent povezan na mreu moe pamtiti datoteke na file
serveru kao da je to njegov lokalni disk. 5ada klijent zahteva podatke iz neke datoteke$ 6ile server mu
prosleuje "elu datoteku koju klijent dalje pretrauje i obrauje.
(rint serveri imaju osnovni zadatak da prihvate podatke za tampanje od klijenata za odreene
tampae$ da ih smeste u red$ dodele im neki prioritet$ aktiviraju odgovarajui drajver za tampa i da
ih preko tog drajvera odtampaju na traenom tampau. Print server takoe mora da poseduje
odreenu logiku koja e podravati jedinstvene karakteristike za svaki tampa. 'o podrazumeva da u
sluaju da se javi neka greka sa nekim tampaem ili dokumentom koji se tampa <lo tampa$
tampa nije ukljuen$ nestao papir na tampau i td.B obavesti klijenta koji je zahtev uputio sa
instruk"ijama za reavanje nastalog problema. ;vaj servis se obezbeuje tako to se jedan ili vie
tampaa poveu preko nekog raunara sa klijentima. 5lijent moe pristupiti bilo kom tampau kao
da je direktno povezan sa njim. ;n alje serveru podatke koje treba odtampati$ poda"i se privremeno
smetaju na disk servera odakle se potom alju na odgovarajui tampa.
%a& serveri imaju slinu !unk"iju kao i print serveri samo to dobijene zahteve koje su takoe
smestili u redove ne upuuju na tampae ve preko tele!onske pari"e na zahtevano odredite. &jihova
uloga se ogleda u mogunostima da !a>,eve alju u tano spe"i!i"iranom vremenu <kada je tari!a za
slanje jevtinijaB$ da izvre dinamiko kompresovanje i dekomprsovanje podataka koji se alju
<smanjuje se koliina podataka koji aljuB i da primljene podatke prikau bilo na displeju ili da ih
odtampaju na tampau. ;snovni uslov da bi ovaj servis !unk"ionisao je da najmanje jedan server
bude opremljen <internim ili eksternimB !aks ureajem. 5lijent ne mora imati !aks ili ak ni tele!onsku
liniju$ ve on predaje !aks serveru podatke koje treba poslati zajedno sa in!orma"ijom kome ih treba
poslati$ a server sam obavlja prenos podataka !aksom.
)*mail serveri su danas moda pored Jeb servera najrasprostranjeniji i serveri koji su najoptereeniji
u pogledu vremena koje provedu u aktivnom radu. &e postoji ni jedan jedini trenutak vremena a da se
u svetu ne poalje neki G,mail tj. da neki G,mail server nije aktivan. G,mail je danas postao glavno
sredstvo za komunika"iju izmeu ljudi kako u poslovnom svetu tako i u privatnom ivotu. +eliki broj
savremenih tehnologija koje su zadnjih godina razvijene < pre svih %"ript jezi"i i AMPB omoguili su
da se putem G,mail,a ne alju samo tekstualni poda"i ve i video i audio zapisi. %a jedne strane to je
doprinelo da moemo da dobijamo znatno kvalitetnije in!orma"ije ali je zato pruilo velike mogunosti
za irenje velikog broja virusa$ "rva i ostalih neprijatnosti koji sve vie prete da u potpunosti unite
ovaj vid komunika"ije.
$omunikacioni serveri dozvoljavaju klijentima koji su povezani na komunika"ioni server$ da pristupe
drugim host raunarima ili serverima za koje nisu direktno povezani. ;ni daju podrku za
komunika"ije koje se odvijaju u okviru jedne J?& <0ide Area networ#B mree. 'a podrka tipino
78
ukljuuje podrku za veliki broj protokola kao to su: asihroni i serijski protokoli$ A./8$ 4%*&$ '0Pc4P$
;%4 i P?&,to,P?& &et=4;% komunika"ioni protokoli. 'ipini predstavni"i ovakvih servera su
poznatiji kao ruteri$ bridge,vi i gateIaH ureaji bez kojih je nezamisliva bilo koja mrea raunara.
Database serveri ili %erveri baza podataka ine najiru i dosta uspenu klijent(server implementa"iju.
U ovom sluaju klijent alje %TP zahtev serveruL server prima zahtev$ potvruje ga$ izvrava i alje
rezultat klijentu. Poda"i i so!tver za upravljanje poda"ima se nalaze na serveru baze podataka. ;d
klijenta se zahteva samo da ima eonu aplika"iju za pristup serveru baze podataka. ;ni upravljaju
poda"ima koji su database <recordB orjentisani. &ajvei predstavni"i ovakvih sistema su %Hbase$
4n!ormi>$ Parado>$ ?00ess$ %TP i ;ra"le serveri. Dile serveri omoguuju ini"ijalni prostor za
pamenje baze podataka$ dok database serveri vode rauna o prostoru za tabele koje se nalaze u bazi
podataka u okviru dodeljenog prostora za bazu podataka. Pored toga database server je odgovoran za
kompletno upravljanje svim poda"ima koji se nalaze u bazi podataka koja se servisira. 'o se pre svega
odnosi na:
automatski bac#out i recovery<oporavakB podataka nakon neke greke u sistemu koja je
prouzrokovana hardIer,om$ so!tIer,om ili prekidom napajanja$
dodela prostora u okviru dodeljenog prostora za bazu podataka$
organiza"iju podataka u velikom broju tabela i rela"ijama izmeu njih$
zakljuavanje podataka <re"ord lo"kingB kod viestrukog pristupa istim poda"ima$
detek"ija i razreavanje mrtve petlje <deadlo"kB$
omoguavanje brzog pretraivanja i nalaenja traenog podataka <inde>ingB.
?ransakcioni serveri se sastoje od baze podataka$ sistema za upravljanje bazom podataka <*=M% .
Dataase &anagment SystemB i pro"edura za manipula"iju poda"ima. Oeona aplika"ija na klijentu alj
zahteve transak"ionom serveru na kome se izvravaju spe"ijalne pro"edure koje koje su instalirane na
njemu. %TP kod ne putuje kroz mreu ime je redukovan mreni saobraaj pa ovaj server ima bolje
per!ormanse od servera baze podataka.
Securit- serveri slue da dodele odreena prava oko pristupa serverima za odreene korisnike .
klijente. U veini operativnih sistema to se radi putem dodeljivanja jedinstvenih imena korisni"ima
koja su uvek u paru sa odreenim lozinkama. &a osnovu tog para podataka vri se prva provera da li se
korektan korisnik javio i ako je ta prva provera u redu tom korisniku se dodeljuju prava koja su
unapred spe"i!i"irana za njega. U okviru ovih servera aktivni su neki servisi koji sa vezani za
dodeljivanje jedinstvenih 4* brojeva za klijente kao to su J4&%$ *F0P ili *&% servisi.
+eb serveri su danas sigurno narasprostranjeniji serveri koji se i najvie eksplatiu. ;gromni razvoj
4nterneta prouzrokovao je i veliki razvoj internet tehnologija koje su omoguile da Jeb ne bude samo
mesto gde se mogu dobiti samo neke statine tekstualne in!orma"ije. Jeb postaje sve vie mesto gde
se uvaju i poda"i kojima se koriste velike kompanije i u integra"iji sa database serverima postaju
mono sredstvo za razvijanje aplika"ija koje u potpunosti zadovoljavaju sve vee zahteve korisnika.
+P& <+irtualH Private &etIareB postaje jako sredstvo u pogledu zatite tih podataka i spreavanja
neeljenih posetila"a koji bi mogli da narue integritet tih podataka.
Mreni operativni sistemi
%erveri se razlikuju po kon!igura"iji zavisno od toga kakvu ulogu obavljaju. 'o su obino raunari
koji su opremljeni diskovima velikih kapa"iteta$ velikim radnim memorijama <C?MB i brzim mrenim
karti"ma. Mogu sluiti kao serveri datoteka <!ile serverB$ serveri za tampanje <print serverB$ serveri za
elektronsku potu <e,mail serverB$ Ieb serveri$ spe"ijalni serveri strogo de!iniranih poslova <domain
name server$ gateIaH$ database serverZB. %ve ove vrste servera mogu se nalaziti i u samo jednom
<malo monijemB raunaru. ; svakoj serverskoj !unk"iji brine i odgovarajua programska podrka$ a
kompletan server baziran je na nekom mrenom operativnom sistemu. *anas najpopularniji serverski
mreni operativni sistemi su ?pple 4=M ;%(/$ &ovell &etIare$ P?& Manager$ Mi"roso!t JindoIs
%erver /NN1(/NN2$ U&4A operativni sistemi raznih proizvoaa <%0; ;pen%erver$ Uni>Jare$
praktiki besplatni Pinu> i slinoB$ ;pen +M% i ostali manje poznati.
73
1. 'ovell 'etware , predstavljao je jedan od najrasprostranjenijih mrenih operativnih sistema za
lokalne raunarske mree. &etJare je zatieno ime amerike !irme &ovell. ;d 1Q21. godine$
kada se ovaj proizvod prvi put pojavio na tritu$ do danas$ pojavilo se nekoliko verzija ovog
operativnog sistema sa vie varijanti <paketaB u svakoj verziji. Dirma &ovell je lansirala itav
niz komunika"ionih proizvoda i pomonih programa koji su na posredan ili neposredan nain
vezani za ovaj operativni sistem. Prema poda"ima iz 1QQ1. godine$ &ovell,ovi proizvodi su se
koristili u preko 7NN.NNN P?& mrea. ;vaj mreni operativni sistem instalira se na jednom od
raunara u mrei koji predstavlja !ajl server. 'o je obino raunar sa najjaim pro"esorom i
najveim kapa"itetom diskova. 5ako predstavlja otvoreni mreni sistem$ on podrava iroki
raspon klijentskih plat!ormi sa kojima moe da radi a koje mogu da budu ;%/$ *;%$ Ma"$
Jin$ U&4A i Pinu>. -ezgro operativnog sistema je program &G'd;%.GAG kod ranijih verzija$
odnosno %GC+GC.GAG od verzije 1.>. Pomoni programi potrebni za normalan rad mree
smeteni su u 7 sistemska direktorijuma: %a%'GM$ PU=P40$ P;64&$ M?4P. ;d verzije 1.>
postoje jo i direktorijumi: *GPG'G*.%?+ i G'0. %vi programi pisani su na jeziku 0. #a
komunika"iju u mreama$ &ovell je razvio sopstveni mreni komunika"ioni protokol 4PA(%PA.
;d verzije 1.> postoji mogunost korienja protokola '0P(4P a omogueno je i slanje paketa
podataka 4PA(%PA kroz mree sa protokolom '0P(4P. %ve verzije od ?dvan"ed &etJare /23
v/.N pisane su za izvrenje sa esnaestobitnim naredbama. +erzija 1.N i kasnije verzija 1.>
pisane su za izvrenje sa tridesetdvobitnim naredbama i najnia hardverska plat!orma za njihov
rad je mikropro"esor 4ntel 2N123%A. 5omer"ijalni naziv za operativne sisteme iz serije 1.>
jeste &etJare 123 ili skraeno &J 123. +erzija 7.N operativnog sistema zamiljena je kao
operativni sistem za gradske raunarske mree <M?&B$ odnosno za mree u velikim
kompanijama <Corporate 'etwor#sB$ jer omoguuje administra"iju i upravljanje takvim
mreama. ;perativni sistem je objektno orijentisan i administra"ija je zamiljena kao
upravljanje objektima <mree$ serveri$ korisni"i$ tampai itd.B i de!inisanje njihovog rasporeda
i prava. 5onzistentnost podataka obezbeena je korienjem replike. ;bjekti u mrei su
hijerarhijski rasporeeni po prin"ipu stabla. Pozi"ija objekta u hijerarhiskoj strukturi zove se
kontekst objekta. Promenom konteksta objekta menjaju se i njegova prava. %tandardne
programe <."om i .e>eB nije mogue izvravati u okviru ovog operativnog sistema zbog
nekompatibilnog ?P4 <Aplication "rogram !nterfaceB. &ovell je razvio sopstvenu tehnologiju
za izvravanje programskih modula poznatu kao &etIare Poadable Modul <&PMB.
Maksimalna verzija ovog operativnog sistema podrava ak do hiljadu korisnika. Poev od
verzije 8.N <1QQ2B &ovell je napokon kao primarni mreni protokol poeo da koristi
opteprihvaeni '0P(4P$ uz ouvanje podrke za 4PA(%PA. ;sim toga$ izvrena je kompletna
reorganiza"ija !ajl sistema$ dodati su *F0P i *&% servisi$ kao i mogunost da se &etJare
kon!igurie kao Ieb server. Poslednje znaajne izmene &etJare je doiveo sa verzijom 3.8
</NN1. godineB$ kada je integrisana podrka za PFP$ MH%TP i ;pen%%F$ dodata !unk"ija
domenskog kontrolera <*0B$ podrka za enkrip"iju diskova$ U%= ureaje itd. &akon 2 revizija$
oktobra /NN2. &ovell je objavio da naputa razvoj &etJare i prelazi u potpunosti na ;G%
<Open Enterpise ServerB. ;snovni nedostak ovog operativnog sistema je da ne podrava
multitasking a i ne poseduje neki snaan sistem zatite podataka.
/. LA' &anager predstavlja proizvod 4=M koji koristi ;%(/ operativni sHstem. 4ako ovaj sistem
omoguava multitasking i zatitu memorije$ i pored podrke velikog imena u svetu raunarstva
ovaj sistem nije doiveo veliku popularnost.
1. Advanced Server 0indows '( predstavlja jednu novu pojavu na polju mrenih operativnih
sistema. ;d svog prvog pojavljivanja JindoIs &' <'ew (echnologyB 1QQ1 god. pa do danas
ovaj proizvod je doiveo veoma brz i ogroman razvoj tako da se danas smatra za jednim od
najrairenijim operativnim sistemima koji se nalaze na serverima. U poetku zamiljen kao
operativni sistem koji bi trebalo da povee nekoliko Jin raunara u okviru lokalne raunarske
mree <konkuren"ija &ovell,uB danas je prerastao u sasvim ravnopravnog pa ak i veeg
uesnika u deljenju kolaa u J?& mreama za koje je vladalo pravilo da su U&4A sistemi
neprikosnoveni. JindoIs je ime operativnog sistema u vlasnitu !irme Mi"roso!t$ koji danas u
7E
svojim raznim verzijama dri preko 8NR trita. +elika prednost JindoIs !amilije operativnih
sistema u odnosu na druge lei u vizuelno atraktivnom korisnikom okruenju$ kao i
jednostavnosti korienja i podeavanja ak i najsloenijih op"ija. 5roz sisteme MarobnjakaM
svaki JindoIs server se moe za tili as podesiti za rad u mrei sa nekim podrazumevanim
parametrima$ pri emu za iskusnije korisnike postoje iroke mogunosti detaljnijeg
podeavanja.JindoIs je izbor mnogih korisnika i zbog ubedljivo najvee so!tverske podrke.
=ill 6ates je ak i ranih 1Q2N,tih godina znao da je umreavanje veoma vano za posao sa
raunarima. *akle$ 18. aprila 1Q28. godine Mi"roso!t je ponudio prvu mrenu alatku M%,&G'
i odgovarajuii operativni sistem *;% 1.1N. %erverski so!tver je bio zasnovan na *;%u$ nudio
je minimalnu zatitu i$ ruku na sr"e$ pokazao se loe. Mi"roso!t je u avgustu 1QQ1. godine
objavo &' ?dvan"ed %erver. Prva verzija servera &' ?dven"ed %erver se savim dobro
pokazala. Meutim$ zahtevala je mnogo memorije$ nedostajale su joj mogunosti povezivanja
koje je nudio &ovell i podravala je najosnovnije povezivanje pomou protokola '0P(4P. U
septembru 1QQ7. godine se pojavila nova verzija i novo ime: Mi"roso!t JindoIs &' %erver
verzije 1.8. +erzija 1.8 je uglavnom doraena verzija 1.1L zahtevala je manje memorije$
ugraene su &ovellove i '0P(4P mogunosti povezivanja i sadrala je JindoIs !or
Jorkgroups verzije upravljakih alatki$ tako da su administratori mogli da rade za raunarom
radne grupe umesto da rade na &' raunaru. &' verzije 7 se pojavio 1QQ3. godine i liio je na
JindoIs Q8. ;sim toga$ sadravao je gomilu novih osobina$ ali ne i radikalne izmene bitne za
umreavanje raunara. U !ebruaru /NNN. godine se pojavio JindoIs /NNN <&' 8.NB. JindoIs
/NNN je sadravao mnogo toga novog$ ali je verovatno najvanija promena bila u nainu na koji
su se zapisivali i organizovali korisniki nalozi i in!orma"ije koje se odnose na te naloge:
pojavili su se ?"tive *ire"torH <?*B domeni. %ledea po vanosti promena je bila u nota"iji
grupnih polisa. %ledea verzija &',a se$ po prvi put od 1QQ1. godine$ dobijala u delovima. Prvo
se pojavio &' Jorkstation$ poznatiji kao AP Pro!essional i \slabiji9 brat AP Fome. Mi"roso!t
je nameravao da potom objavi serversku verziju &' 8.1$ ali je splet okolnosti doveo do toga da
posle nekog vremena napravi &' 8./ . odnosno$ JindoIs %erver /NN1. JindoIs %erver /NN1
je verzija \1.19 JindoIsa /NNN$ dobrodolo poboljanje JindoIsa /NNN. %ada je Mi"roso!t
stigao do JindoIs %ervera /NN2$ koji sadri brojne nove osobine u odnosu na prethodne
verzije. &ajbolje od svega je to to JindoIs %erver /NN2 sadri bitna poboljanja na polju
zatite. &a primer$ ak ni administrator ne moe da pristupi osnovnom <korenomB
direktorijumu$ direktorijumu cJindoIs ili direktorijumu cJindoIsc%Hstem1/$ pa je daleko
tee otetiti izvrne datoteke koje se nalaze u ovim direktorijumima. &ovi JindoIsov !ireIall
titi dolazne i odlazne podatke$ tako da se mnogo tee \ulazi9 u server$ naroito kada
postavimo dodatne !ireIallove. ?dministrator sada \radi9 kao obian korisnik i mora imati
dozvole za obavljanje nekih poslova. 'o znai da neko zlonameran ne moe da napravi tetu
ukoliko ne zna sve to i administrator. Ukratko$ JindoIs %erver /NN2 je poboljao bezbednost$
a to je ono na ta se najvei broj korisnika alio. JindoIs %erver je in!rastrukturna osnova za
pokretanje povezanih aplika"ija$ mrea i Ieb servisa u svim okruenjima. %erver ima napredne
mogunosti za upravljanje i komuni"iranje sa udaljenim loka"ijama$ upravljanje pristupom i
identitetima korisnika$ pokretanje Ieb servisa$ deljenje resursa... 'akoe$ JindoIs %erver se
odlikuje naprednim bezbednosnim mehanizmima za utvrivanje identiteta$ prava i dozvola
korisnika$ kao i mehanizmima za i!rovanje podataka koji su kritini za poslovanje
organiza"ije. JindoIs %erver je modularni operativni sistem koji se sastoji od komponenata.
%vi objekti operativnog sistema imaju inter!ejse$ pomou kojih drugi objekti i pro"esi
obezbeuju njihovu !unk"ionalnost ili usluge. 5omponente meusobno sarauju prilikom
obavljanja konkretnih zadataka operativnog sistema. ?rhitektura JindoIs %ervera podeljena je
u dva glavna sloja: korisniki sloj <engl. user mode3 i sloj jezgra <engl. #ernel mode3.
5orisniki sloj u sutini je sloj za podrku aplika"ijama$ kako za Mi"roso!tov so!tver$ tako i za
so!tver drugih proizvoaa. %ve aplika"ije i usluge instaliraju se u korisnikom sloju. %loj
jezgra se sastoji od nekoliko komponenata koje imaju pristup sistemskim poda"ima i hardveru.
Usluga Active Directory je kljuna za graenje mrea JindoIs %ervera i za upravljanje njima.
72
Pojava ove tehnologije je rezultat evolu"ije Mi"roso!tove tehnologije servera i mrea. Usluge
imenika nisu nita drugo nego uredno razvrstavanje resursa mree i upravljanje njima$ bilo da
se radi o korisni"ima$ tampaima$ serverima ili bezbednosnim parametrima. 4meni"i postaju
re!erentna taka za korisnike usluge i aplika"ije. ;ni olakavaju pronalaenje tampaa u
terenskoj kan"elariji$ pronalaenje korisnika i prosleivanje poruka e,potom$ ili pomau da se
proveri ima li neki korisnik pravo pristupa odreenoj datote"i.
JindoIs je trenutno najkomer"ijalniji i najpopularniji operativni sistem. 'ome je doprinela
lakoa kon!igurisanja i korienja kao i velika so!tverska podrka. JindoIs je razvijan
iskljuivo za 4ntel(?M* plat!orme. 4ma svoja 1/,bitna i 37,bitna izdanja. ;vo je takoe
viekorisniki sistem koji ima mogunost viepro"esne i vienitne obrade. -ezgro operativnog
sistema upravlja nitima pro"esa koje se prosleuju mikropro"esoru$ vremenski rasporeuje
izvravanje niti$ omoguuje istovremeni rad vie programa itd. 5omponenta sistema FardIare
?bstr"tion PaHer <F?PB sadri sped"i!ian kod koji obezbeuje ulazno(izlazne inter!ejse
spe"i!ine za pojedine hardverske ureaje$ obrauje hardverske prekide itd. JindoIs %erver
podrava viepro"esorsku simetrinu obradu. Xto se tie upravljanja memorijom trebamo
napomenuti da ovaj sistem koristi dve vrste memorije. Prva je !izika u obliku C?M ipova
utaknutih na matinu plou raunara. *rugu vrstu ini virtuelna memorija$ to jest kombina"ija
svih vrsta memorije ugraenih u raunar i naina na koji se ona stavlja na raspolaganje
operativnom sistemu.
7. "C 'etwor# 6ile Services 2 '6S 3 ili poznatiji kao U&4A sistemi predstavljali su zaetnike
serverskih operativnih sistema koji su u startu podravali klijent server tehnologiju. *ugi niz
godina U&4A se smatrao kao neprikosnoveni operativnim sistemom na polju klijent serverskih
sistema tako da je izgledalo da ga niko nee moi dostii a kamoli prestii. 4 on je preiveo
mnoge modi!ika"ije i prilagoavanja kako bi se odupreo konkuren"iji. *anas je najpoznatiji
naslednik ove tehnologije ;in$H operativni sistem koji je i jedini ostao kao ozbiljan rival sve
veoj i veoj JindoIs imperiji. Linu4 je brz i stabilan operativni sistem za P0 raunare i radne
stani"e$ otvorenog izvornog koda$ koji prua 4nternet servise pro!esionalnog nivoa$ obimne
razvojne alatke$ potpuno !unk"ionalne gra!ike korisnike inter!ejse <6U4,jeB i znatan broj
aplika"ija$ od onih za kan"elarijsko poslovanje do multimedijalnih aplika"ija. Pinu> je ranih
devedesetih godina dvadesetog veka razvio Pinus 'orvalds$ zajedno sa drugim programerima
irom sveta. 5ao operativni sistem$ Pinu> obavlja mnotvo istih !unk"ija kao i Uni>$
Ma"intosh$ JindoIs i JindoIs &'. Meutim$ Pinu> se istie po svojoj snazi i !leksibilnosti$
kao i po tome to je besplatan. Pinu> predstavlja P0 verziju operativnog sistema Uni> koji se
de"enijama koristi na "entralnim raunarima i mini,raunarima i trenutno je sistem koji
predstavlja pravi izbor za mrene servere i radne stani"e. Pinu> donosi brzinu$ delotvornost$
skalabilnost i !leksibilnost Uni>a P0,ju$ koristei sve mogunosti koje personalni raunari
danas pruaju. 'ehniki$ Pinu> se sastoji od programa operativnog sistema$ koji se naziva
jezgro 2#ernel31 i to je deo koji je prvobitno razvio Pinus 'orvalds na helsinkom univerzitetu.
&o$ jezgro se uvek distribuira sa znatnim brojem programa za posebne primene$ od mrenih
servera i bezbednosnih programa do kan"elarijskih aplika"ija i razvojnih alatki. Pinu> se razvio
kao deo pokreta za so!tver otvorenog izvornog koda$ u okviru kojega su se nezavisni
programeri sakupili da bi obezbedili besplatan kvalitetan so!tver za svakog korisnika. Pinu> je
postao glavna plat!orma so!tvera otvorenog izvornog koda$ iji je veliki deo razvijen u okviru
projekta 6&U organiza"ije 6ree Software 6oundation. Mnoge od ovih aplika"ija upakovane su
kao deo standardnih distribu"ija Pinu>a. 'renutno je dostupno na hiljade aplika"ija otvorenog
izvornog koda za Pinu>. 5ao i Uni>$ Pinu> se uopteno moe podeliti na tri glavne
komponente: jezgro$ okruenje i strukturu datoteka. )e5gro je osnovni program koji izvrava
programe i upravlja hardverskim ureajima$ kao to su diskovi i tampai. O#ru7enje
obezbeuje korisniki inter!ejs. ;no prima komande od korisnika i alje te komande jezgru na
izvravanje. Stru#tura datote#a odreuje nain na koji se datoteke uvaju na ureaju za
skladitenje$ kao to je disk. U poten"ijal Pinu>ovog operativnog sistema ubrajaju se i snane
mogunosti umreavanja$ ukljuujui podrku za 4nternet$ intranetove i JindoIs i ?pple
7Q
umreavanje. Pinu> ima sve alatke za umreavanje$ kao to su podrka za D'P trans!er
datoteka$ Ieb pretraivai i "eo spektar mrenih servisa$ kao to su e,pota$ servis imena
domena <*&%B i dinamika kon!igura"ija matinog servera$ uz D'P i Ieb servere i servere za
tampanje. ;n takoe poseduje potpun skup uslunih modula za razvoj programa$ kao to su
0YY kompajleri i moduli za pronalaenje greaka. 4 uz sve svoje mogunosti$ operativni sistem
Pinu> ostaje mali$ stabilan i brz. U svom najjednostavnijem !ormatu$ Pinu> se e!ektivno moe
izvravati na samo / M= memorije.
8. Open 8&S je smatran takoe za neprikosnoveni operativni sistem za snane i mone raunare
koje je proizvodila korpora"ija *igital 0orporation . +?A. 'o je bio period kada su snage
klijentskih raunara bile vrlo male$ sa veoma skromnim resursima u pogledu memorijskog
prostora i brzine pro"esora$ tako da se iole ozbiljnija aplika"ija koje je zahtevala malo vee
resurse morala da se izvrava na monijim raunarima koje je proizvodila ova !irma. %a
razvojem tehnologija sva ta snaga velikh raunara polako se sputala na obine klijentske
raunare a samim tim se i polako gubila potreba za jako snanim raunarima. %naga klijenskih
raunara bila sasvim dovoljna u pogledu raunarskih resursa za izvravanje gotovo svih
zahtevnijih aplika"ija a sva vea zastupljenost interneta omoguila je korienje drugih
serverskih usluga. -ednom reju vrila se de"entraliza"ija svih potrebnih serverskih usluga tako
da su se sada poslovi odvjali na vie servera koji su bili usko spe"ijalizovani za poslove koje
su radili. +M% je tradi"ionalni operativni sistem kompanije *igital GWuipment 0orpration. /8.
oktobra 1QEE. verzija 1.N +M%,a je ugledala svetlost dana. ;d tada je +M% promenio ime u
;pen+M% i promenio je dva vlasnika$ prvo ga je kupio 0ompaW da bi ga posle preuzeo *G0
koji e na kraju opet biti kupljen od strane FP,a. Uprkos svemu +M% se razvijao i napredovao
u kontinuitetu. *anas ;pen+M% radi na +?A$ ?lpha$ i 4tanium pro"esorima <FP 4ntegritHB i
trenutno je aktuelna verzija 2.1,1F1. ;voj operativni sistem predstavlja viekorisniki
multipro"esni sistem koji omoguava e!ikasno deljenje resursa$ obradu transak"ija i rad u
realnom vremenu. Caspoloivost sistema je uvek na visokom nivou$ s obzirom na sposobnost
sistema da se distibuira na vie !iziki odvojenih raunara. 4z tog razloga +M% je ujedno
izuzetno tolerantan na bilo koji vid greke koja bi uti"ala na rad bilo koje pojedinane jedini"e
za obradu in!orma"ija. +M% ima i mogunost da bilo kom korisnikom pro"esu$ prema potrebi$
dodeli prioritet iznad pro"esa sistemskog jezgra. +M% je uveo mnoge novine koje se danas
smatraju obaveznim osobinama ozbiljnih mrenih operativnih sistema$ poput integrisane
raunarske mree$ multipro"esiranje$ distribuirani !ajl sistem$ podrku za vie razliitih
kompjuterskih jezika$ sopstveni komandni jezik$ visok nivo bezbednosti itd.
8N
Q as Pro.ramska po#r7ka servera
=aze podataka i sistemi za njihovo upravljenje predstavljaju nezobilazne komponente klijent server
sistema. %matra sa da danas ne postoji ni jedna ozbiljnija klijent server alika"ija koja se ne oslanja na
neku bazu podataka i mehanizam za upravljanje tom bazom. #ato emo se u daljem izlaganji i najvie
zadrati oko tehnologija koje su razvijene da bi u klijent server modelu zadovoljile pristupe razliitim
bazama podataka. &ajoptije posmatrano$ baza podataka se moe de!inisati kao kolek"ija meusobno
povezanih podataka memorisanih na nekom medijumu. Pod poda"ima podrazumevao injeni"e o
nekom segmentu realnog sistema koje imaju tano odreeno <impli"itnoB znaenje za korisnike baze
podataka. Poda"i koji se uvaju mogu se sastojati od svega nekoliko ulaznih podataka ili redova koji
ine jednostavan adresar sa imenima$ adresama i tele!onskim brojevima. &asuprot tome$ baza
podataka moe da sadri i milione zapisa koji opisuju katalog proizvoda$ audio video zapisa ili platni
spisak neke velike kompanije. 5ao i za druge komponente sistemskog so!tvera gde se korisni"i
odvajaju od aplika"ija$ tako se i u upravljanju bazama podataka koriste neki modeli za odvajanje
korisnikih aplika"ija od !izike baze podataka. 5od baze podataka taj model je predstavljen kroz
aritekturu tri "eme koja se sastoji od sledeih nivoa:
1. !nterni nivo koji koristi internu emu pomou koje opisuje !iziku strukturu baze podataka.
4nterna ema opisuje sve detalje memorisanja podataka i pristupne mehanizme i puteve u bazi.
/. 9onceptualni nivo koristi kon"eptualnu emu pomou koje opisuje logiku strukturu baze
podataka. U stvarnosti to je globalni opis baze podataka koji od korisnika krije nepotrebne i
optereujue detalje !izike arhitekture baze podataka. 5on"eptualni nivo opisom entiteta
<objekata realnog mini svetaB$ tipom podataka i meusobnih odnosa izmeu entiteta$
omoguuje projektantima i korisni"ima baze podataka da se potpuno posvete dogaajima u
mini svetu$ rela"ijama koje vladaju u njemu$ atributima entiteta$ i na taj nain to tanije
de!iniu upotrebnu vrednost i e!ikasnost jedne konkretne baze podataka.
1. E#sterni nivo ukljuuje odreeni broj eksternih ema$ drugim reima korisnikih pogleda kako
na deo mini sveta koji ih interesuje$ tako i na deo baze podataka koja prati taj mini svet. Uloga
eksternog nivo je da od takve korisnike grupe sakrije deo baze podataka koji nije interesantan
za njih.
U "entru svih klijent server aplika"ija koje se bave bazama podataka nalazi se *=M%
<*ataManagment %HstemB. *=M% je skup komponenata za de!inisanje$ izradu i korienje baze
podataka koji treba da omogui skladitenje$ pretraivanje i upravljanje poda"ima u bazi podataka.
5ada pomenemo sistem za upravljanje bazom podataka <*=M%B$ uglavnom mislimo na real"ioni
*=M% tj. C*=M%. Cela"ione baze podataka skladite veze izmeu podataka i upravljaju tim vezama.
*a bi klijent server radio kako treba *=M% mora da zadovolji neke uslove i to:
Potreban je transparetni pristup poda"ima za razliite klijente bez obzira na hardver$ so!tver i
mrenu plat!ormu koju koristi klijent aplika"ija.
*a se dozvoli da klijent alje svoje zahteve prema serveru baze podataka <ukljuujui i %TP
zahteveB kroz mreni sistem.
*a se svi zahtevi klijenta za poda"ima obrauju u lokalnom serveru.
*a se klijentu alju samo poda"i koji se dobijaju kao rezultat obrade njegovog zahteva.
5lijent server *=M% oslobaa klijenta od lokalne obrade. 'o znatno redukuje mreni saobraaj i time
ubrzava rad sa traenim poda"ima. 5lijentu se vraaju samo oni poda"i koji odgovaraju traenom
zahtevu. 5lijent server sistem je promenio nain na koji mi pristupamo i obraujemo podatke u bazi
podataka. %ada poda"i mogu biti smeteni ne samo na jednoj loka"iji . jednom serveru$ ve na vie
servera koji mogu biti na potpuno loka"ijski razliitim mestima. ?ko su poda"i smeteni na vie mesta
tada kaemo da se radi o distribuiranim klijent server bazama podataka. 'akve baze podataka
karakterie:
Poka"ija podataka je potpuno transparentna za korisnika. Poda"i mogu biti smeteni na lokalnom
P0,ju$ serveru odeljenja ili na velikim raunarima irom zemlje. Poda"i mogu biti distribuirani
81
izmeu razliitih loka"ija i izmeu razliitih baza podataka koristei iste ili razliite modele
podataka. *=M% mora biti sposoban da upravlja distribu"ijom podataka izmeu razliitih
vorova. Poda"i mogu biti podeljeni na nekoliko naina i oni mogu biti smeteni na nakoliko
razliitih raunara koji rade na razliitim so!tverskim plat!ormama. 5orisnik ne treba da zna ni
gde su poda"i lo"irani$ ni kako se oni uzimaju a ni protokole koji to treba da obave.
Poda"i treba da budu pristupani i da se njima moe manipulisati od strane korisnika u bilo koje
vreme i vie puta. Pristupanost poda"ima je poveana zato to je krajnji korisnik sposoban da
pristupi poda"ima direktno koristei pokazivae <miaB u sistemu baziranom na 6U4,u. 5rajnji
korisnik moe manipulisati poda"ima na razliite naine u zavisnosti od njegovih potreba. 'ako je
mogue da iste podatke dobijamo u razliitim gra!ikim prikazima. #ahtev za poda"ima se
izvrava na serverskoj strani a !ormatiranje i prikaz podataka na klijentskoj strani.
;brada podatak <smetanje$ ispravnost$ !ormatiranje$ prezenta"ija i td.B je distribuirana izmeu
razliitih raunara. Predpostavimo da se naa baza podataka nalazi na tri *=M% pri emu su oni
lo"irani na razliitim raunarima. ?ko klijent zahteva neki izvetaj on se tada obraa sa zahtevom
jednom od tih servera. %erver baze podataka prihvata zahtev i brine se za lo"iranje i pribavljanje
svih podataka koji su zahtevom spe"i!i"irani. ;brada pristupa i uzimanje podataka se obavlja na
tri razliita raunara i takvi ujedinjeni poda"i se sada alju klijentu. 5lijent se sada samo brine o
!ormatiranji primljenih podataka i njihovom odgovarajuem prikazivanju na svom raunaru.
-edan klasian *=M% sistem se sastoji od sledeih komponenti:
1. 6nterfejs za aplikacije predstavlja standardne biblioteke koje pomau u komunika"iji sa *=M%,
om. +eina *=M%,ova ima svoj jednostavni prevodila" u obliku komandne linije koji esto
koristi biblioteke za prenoenje zahteva unetih sa tastature do *=M%,a i za prikazivanje
odgovora.
/. 6nterpretator SA2 koda %intaksni analizator proverava sintaksu prosleenih upita i prevodi ih u
interni prikaz.
1. .nalizator upita 6enerie razne planove izvravanja upita na osnovu statistike baze podataka i
njenih svojstava$ odabira jedan od planova i prevodi ga u ak"ije koje izvrava na niskom nivou.
7. (ristup podacima U module koji upravljaju pristupom poda"ima uskladitenim na disku spadaju
modul za upravljanje transak"ijama$ modul za upravljanje postupkom obnavljanja stanja$ modul
za upravljanjem ba!erom glavne memorije$ modul za zatitu podataka i modul za upravljanje
pristupom datotekama.
8. Baza podataka podrazumeva same !izike podatke koji su razvrstani u razliitim tabelama.
;vde su obuhvaeni i neki drugi poda"i koji olakavaju rad za bazom podataka kao to su
indeksne datoteke i statistike datoteke. 'i se poda"i prvenstveno koriste za generisanje i
optimizovanje planova za izvravanje upita.
&eki od predstavnika sistema za upravljanje bazama podataka koji su danas najzastupljeniji su
;C?0PG *=M%$ %TP %erver$ MH%TP i td. #a sve njih je zajedniko da podravaju sve gore
pomenute uslove kao i da podravaju jedinstveni jezik za upravljanjem poda"ima u bazama %TP
<%tru"ture Tueru PanguageB.
A;ATI ZA :PITE )I:ERJ TOO;S+
5lijent,server arhitektura i alati vezani za takvu arhitekturu uti"ali su na razvoj korisniki orijentisanih
alata za upite i izvetavanja$ koji su obeavali korisni"ima da e moi samostalno$ bez intervenisanja
raunarskih spe"ijalista$ napraviti jednostavnije upite i izvjetaje bazirane na tim upitima. Meutim$
realnost je pokazala$ da kada su u pitanju velike baze podataka . pogotovo skladita podataka$
in!ormatiki spe"ijalisti postaju nuni kako bi optimizirali per!ormanse baze podataka$ alo"irali
podatke i njihovu obradu izmeu plat!ormi$ te kreirali i testirali sloenu logiku obrade podataka.
;d savremenih alata za upite i izvetavanja oekuje se da osiguravaju:
1. Pristup velikom broju redova baze podatakaL
/. Prenos velikog broja rezultata iz baze podataka na radne stani"e krajnjih korisnikaL
1. %loene %TP iskaze ukljuujui povezivanje vie tabli"a i podupitaL
7. %loenu logiku izvetavanja kao grupnih postupaka koji ukljuuju veliki broj redova.
8/
&avedeni zahtevi utjiu na to da se arhitektura naprednih alata za upite i izvetavanja sastoji od vie
slojeva. Pro!esional"i <i ponekad krajnji korisni"iB prave upite i izvetavanja koristei klijent,server
razvojne alate. 5rajnji korisni"i pokreu izvetavanja sa svojih radnih stani"a. 4zvetavanja se smetaju
i pozivaju s drugog sloja$ dok serveri baze podataka ine trei sloj. ;vakva arhitektura omoguava
upitima i izvetajima da se e!ikasno izvravaju i nad velikim bazama podataka$ kao i da mogu vratiti
velike koliine podataka.
Oinjeni"a je da alati za upite i izvetavanja postaju sve so!isti"iraniji$ to vie prevladava potreba za
pristupom sraHmerno velikim bazama podataka <skladitima podatakaB. 4zbor alata za izvetavanje vie
nije tako jednostavan pro"es$ pogotovo otkako per!ormanse nisu jedini kriterijum$ nego odluka treba
primarno biti bazirana na korisnikom sistemu. U tom sluaju treba postojati razumevanje korisnikih
zahteva za pristupom poda"ima$ strukture baze podataka$ P?&(J?& komunika"ijskih mogunosti i
slino$ kako bi se moglo odabrati odgovarajue rjeenje. U sluaju pristupa skladitima podataka$
potrebno je de!inirati kategoriju 9veliko: kako bi se lake odabrao odgovarajui alat za upite i
izvetavanja.
?lati za krajnje korisnike koji omoguavaju da baza podataka upravlja optimiza"ijom izvrenja upita
su najbolji za odabir malog broja redova baziranog na jednostavnoj logi"i iz jedne ili dvije ogromne
tabli"e. Prilagodljivi serveri za upite i izvetavanja su potrebni za odabir srednjeg do ogromnog broja
redova bazirano na sloenoj logi"i$ tako da spe"ijalisti mogu praviti upite koji imaju naje!ikasniji
pristup bazi podataka. %erver orijentisani proizvodni alati za upite i izvetavanja sa mogunostima
programiranja$ pamenja i optimiziranja upita$ potrebni su za odabir velikog broja redova iz nekoliko
razliitih tabli"a baziranih na sloenoj logi"i i gde postoje zahtevi za sloenim izlaznim !ormatiranjem
izvetavanja.
+eina proizvoaa alata za upite i izvetavanja pronala je jednostavne naine da 4% administratorima
omogui 9prikrivanje9 ili 9prevod9 %TP,a u poslovne termine. #ahvaljujui metapoda"ima$ ili
podacima o podacima$ alati za upite i izvetavanja obeavaju ukidanje potrebe da korisni"i razumeju
dizajn baze podataka i postavljaju rela"ije neophodne za povezivanje tabli"a u trenutku pravljenja
upita.
Cazvoj robusnijih alata za upite i izvetavanja napravio je znaajan korak ka smanjenju . ali ne i
eliminisanju , potrebe za unapred de!inisanim izvetajima. &aime$ ti alati su zamenili jedan nain
unapred de!inisanih upita$ drugim. 'amo gde savremeni alati za upite i izvetavanja pomau poslovnim
korisni"ima u !ormulisanju njihovih vlastitih upita$ oni to mogu uraditi tako pre"izno zato to su
arhitekti sistema za podrku odluivanju anti"ipirali korisnike upite i prede!inisali sloene %TP
naredbe. &a primer$ da bi se izvrili zada"i vezani za podrku odluivanju . sabiranja i izraunavanje
proseka . to zahteva znatan broj unaprijed de!inisanih koraka i znatno programiranje. Pogino je da u
sluaju promene zahteva$ postupak prede!inisanja i programiranja treba ponoviti. 5rajnji zakljuak je
da alati za upite i izvetavanja u sutini ne podravaju stvarne ad hoc korisnike upite$ odnosno upite
!ormirane 9od nule: direktno na poda"ima iz baze podataka.
4 pored znaajnog napretka u razvoju alata za upite i izvjetavanje$ oni su jo uvek dostupni samo u
manje sloenim delovima sistema za podrku odluivanju. 5ako je za njih karakteristian nedostatak
so!isti"iranosti potrebne za sloeno okruenje za potporu odluivanju$ u takvom okruenju oni se
mogu upotrebljavati samo u kombina"iji s drugim$ za podrku odluivanju podesnijim$ alatima.
;snovni nedosta"i alata za upite i izvetavanja ogledaju se u sledeem:
1. %talno uee in!ormatiara u pro"esu izrade i odravanjaL
/. Potekoe u ispunjavanju izazova vezanih za sloena poslovna pitanjaL
1. &esposobnost podrke velikim upitimaL
7. &edostatak kon"epta vremena$ konsolidiranja i agregiranjaL
8. &emogunost transparentne potpore i ujednaavanja razliitih tehnika optimiziranja baza
podatakaL
3. %laba povezanost izmeu upita i izvjeivanjaL
E. *izajn tipa 9debeli: klijent.
&avedena ogranienja$ kao i ukupan razvoj alata za upite i izvetavanja koji je primarno bio vezan za
transak"ijske$ a ne sisteme za podrku odluivanju$ dovela su do toga da su ti alati ostali marginalni s
81
aspekta podrke odluivanju$ dok su se za potrebe podrke odluivanju razvijali mnogo so!isti"iraniji
alati bazirani iskljuivo na potrebama tih sistema.
%TP predstavlja standardan jezik za iterak"iju sa rela"ionom bazom podataka. %koro svi sistemi
rela"ionih baza podataka podravaju %TP kao alat za izradu$ zatitu i pretraivanje baze podataka$ kao
i za upravljanje njome. %Wl predstavlja mnogo vie od obinog jezika za upiteL to je u potpunosti
usavrena alatka za sve aspekte odravanje jedne baze podataka. %Wl se sastoji iz etiri glavna dela i to:
1. 7ezik za definisanje podataka /Data Definition 2an!ua!e0 predstavlja skup %TP komandi koje
!ormiraju i briu bazu podataka$ dodaju ili uklanjaju tabele$ !ormiraju indekse i unose izmene na
svakom od pobrojanih elemenata. 5omande **P,a se koriste samo u toku izrade baze podataka.
/. 7ezik za manipulisanjem podacima /Data Mana!ement 2an!ua!e0 je skup komandi koje rade
sa *=M%,om i bazom podataka. 'o su komande za pretraivanje$ umetanje i brisanje podataka u
tabelama baze podataka. 'o su komande koje se najvie upotrebljavaju u toku uobiajenog
korienja baze podataka.
1. #pravljanje transakcijama podrazumeva da %TP sadri komande za oznaavanje grupe
komandi kao "eline ili transak"ije. 5orienjem ovih komandi transak"ije se mogu pozvati ili
ponititi.
7. Napredne mo!uBnosti *MP i **P omoguavaju da se %TPnaredbe mogu uba"iti i u
programske jezike opte namene i de!inisanje prikaza postojeih podataka za spe"ijalne namene$
kao i dodeljivanje i oduzimanje prava pristupa *=M%,u i bazi podataka. 'u spadaju i komande
za obezbeivanje integrititeta tj. komande za obezbeivanje ispravnosti podataka i potovanje
unutranjih rela"ija izmeu tabela.
0elokupno ovo razmatranje klijent server baza podatak ne bi bilo kompletno ako ne spomenemo veze
izmeu klijenata i servera koje nam upravo omoguuju da moemo da pristupamo razliitim bazama
podatak pod razliitim *=M%,ovima. &aveemo samo neke tipine predstavnike tih veza koji se
danas najvie koriste.
1. ;*=0 <;pen *ata=ase 0onne"tivitHB predstavlja najstariji Mi"roso!t,ov standard za
povezivanje aplika"ionog so!tvera sa razliitim rela"ionim bazama podataka. %tariji 0;M
inter!ejsi kao to su *?; <*ata ?""ess ;bje"tsB i C*; <Cemote *ata ;bje"tsB zasnivali su se
upravo na ;*=0 preko koga su pristupali poda"ima u bazi podataka. ;*=0 je predstavljao
niski nivo ?P4,a i zahtevao je od programera da vodi rauna o memorijskoj raspodeli i dodeli. 'o
je u mnogome oteavalo rad sa njim jer je optimiza"ija baze podataka bila oteana. *anas postoji
preko 1NN razliitih ;*=0 drajvera za razliite so!tverske plat!orme. -ednostavnom zamenom
odgovarajueg ;*=0 drajvera omoguen je pristup razliitim bazama podataka.
/. ;PG *= predstavlja ime Mi"roso!t standarda koji je de!inisan za jedinstveno podravanje
aplika"ija koje pristupaju i rela"ionim i nerela"ionim bazama podataka. Postoje razliiti ;PG *=
inter!ejsi za svaki razliiti izvor podataka. Ukoliko nemamo odgovarajui ;PG *= inter!ejs za
neke podatke onda moemo da koristimo odgovarajui ;*=0 drajver i tako pristupimo
poda"ima.
1. ?*; <?"tiveA *ata ;bje"tsB predstavlja Mi"ros!tov 0;M bazirani objektni modul koji nam
omoguava da upravljamo ;PG *= izvorima podataka. *izajniran je tako da omogui klijentima
to lake i bre dobijanje skupa slogova iz baze podataka.
87
1N as Veze izme$ klijent server sistema
-edan od najeih opisa klijent server sistema koji na najednostavniji nain pokazuje i opisuje ta ta
tehnologija predstavlja je 9Mrea je raunar:. U ovoj prostoj reeni"i sadrana je sva mudrost ove
tehnologije koja omoguava korisni"ima da mogu sa svojih raunara$ bez obzira kakvi su to raunari$
gledano i sa hardverske i sa so!tverske strane$ da pristupe poda"ima$ servisima ili drugim resursima
koji se nalaze bilo gde na mrei. 5orisnik . klijent radi na svom raunaru i koristi mnoge servise koji
su mu dostupni$ u zavisnosti od njegovih prava pristupa pojedinim servisima$ poda"ima ili resursima
koji se nude na mrei$ a da on nema pojma da li se taj servis$ podatak ili resurs koristi sa njegovog ili
nekog drugog raunara u mrei. Xto se njega tie on ima utisak da se sve to dogaa na njegovom
raunaru. &a taj nain od jednostavnog klijent raunara pravi se jako snana maina ija se snaga sada
ogleda u snazi kojom raspolae mrea raunara u koju je on ukljuen. 4z tog razloga gornja izreka
postaje prihvatljiva$ jer najbolje odslikava klijent server tehnologiju u kojoj korisniki raunar
predstavlja samo jedan mali deo jednog velikog i snanog raunara$ a to je "elokupna mrea svih
povezanih klijenata i servera u njoj.
*a bi sve stani"e bile povezane u neku mreu potreban je neki medijum koji e !iziki povezivati te
stani"e. P?& kabliranje je upravo taj medijum koji povezuje sve te raunare u jednu jedinstvenu "elinu
i omoguava im da razmenjuju podatke$ dele resurse i koriste razliite servise. #a povezivanje
raunara koriste se i mnogi dodatni ureaji koji nam pomau kod povezivanja raunara i to su: habovi
<hubsB$ mreni komutatori <sIit"hesB$ repetitori,pojaavai <repeatersB$ mostovi <bridgesB$ ruteri
<routersB i mreni prolazi <gateIaHsB. *a bi povezali dva ili vie raunara razvijane su mnoge
tehnologije iz kojih su danas proizale tri osnovne tehnologije koje se koriste:
?C0net <?tta"hed Cesour"e 0omuter &etIorkB . raunarska mrea prikljuenih resursa
predstavlja najstariju tehnologiju umreavanja koja se danas jo uvek koristi. Cazvijena je EN,tih
godina u kompaniji *atapoint 0orporation i svoj maksimum je doivela sredinom 2N,tih godina kada
je Gthernet jo uvek bio preskupa tehnologija a veina mrea je bila jako mala. Poto se radi se o
tehnologiji koja koristi sistem prosleivanja tokena$ ona predstavlja deterministiku tehnologiju pa se
njena upotrebljivost vidi samo u sistemima sa predvidljivim propusnim opsegom. =rzina rada ove
mree iznosi od /$8 Mbps do 1N Mbps i u okviru ove mree moemo povezati maksimalono /88
raunara. Mada ?C0net vie nije reenje pre svega za P0 raunare$ i dalje sbog svojih svojstava ova
tehnologija je zastupljena i to pre svega u industrijskim aplika"ijama <vrlo jednostavna i pouzdana
komunika"ija u okviru predvidivog propusnog opsegaB.
'oken Cing mree$ u odnosu na Gthernet mree$ koriste drugaiji mehanizam kontrole pristupa
medijumu i drugaiji !ormat podataka. #aet"i tehnologije umeravanja token ring bili su u kompaniji
4=M. 5asnije je ona standardizovana od strane 4GGG 2N/.8 radne grupe. U 'oken Cing mrei nema
sukobljenosti niti algoritma odustajanja. Cadne stani"e se nadmeu pomou okvira koji se prosleuje
od stani"e do stani"e i ije posedovanje omoguava prenoenje podataka preko mree. ;vaj okvir se
naziva token. ;n se prosleuje preko mree prema logikoj topologiji prstena pa od tuda i naziv ovoj
mrenoj tehnologiji. Poto token redovno krui prstenom$ moe se izraunati najdue vreme potrebno
da ga stani"a primi i zapone slanje podataka preko mree. #ato se 'oken Cing mree nazivaju
deterministike mree jer se moe izraunati vreme pristupa za najnepovoljnije okolnosti rada. 6lavni
nedostatak 'oken Cing tehnologije je njegova skuplja realiza"ija u odnosu na realiza"iju Gthernet,a.
%vega nekoliko kompanija proizvodi token ring adaptere$ a zbog svoje sloenosti njihova proizvodnja
je skuplja.
?ko sednete za bilo koji dananji raunar,P0 koji se nalazi u nekoj mrei$ budite sigurni da je
on povezan sa lokalnom mreom nekim oblikom Gtherneta. 4ako postoje i druge tehnologije
povezivanja u lokalne mree$ broj raunara koji su povezani pomou Gtherneta nadmauje sve ostale i
to za red veliine. Gthernet je najraspostranjenija mrena tehnologija koja povezuje servere$ tampae i
ostale ureaje na mrei. ;n je toliko raspostranjen da gotovo svi proizvoai mrene opreme nude
opremu koja je projektovana da radi sa Gthernet lokalnim mreama. +ano je napomenuti da postoje
vie vrsta Gtherneta. ;n je poeo kao jednostavna tehnologija lokalne mree da bi se danas razvio u
ozbiljnu tehnologiju regionalne mree. &jegov razvoj poeo je u istraivakim laboratorijima Aero>,a
88
koji su dobili zadatak da umree vie raunara koji e istovremeno da koristire najnoviji laserski
tampa. ;d prvih komer"ijalnih verzija koje su radile brzinama od 1N Mbps <sredinom EN,tih godinaB
do dananjih 6igabit,nih mrea < 1N 6igabit Gthernet 4GGG 2N/.1ae B. 5orienjem komuta"ije$
poveanjem brzina$ vezama u punom dupleksu i prilagodljivost razliitim medijumima$ Gthernet
tehnologiju svrstava daleko ispred svih ostalih P?& tehnologija razvijanih zadnjih 1N godina. &e
postoji ni jedan razlog koji bi ograniavao dalji napredak ove tehnologije to je jo jedan jak razlog za
dominantnu ulogu koju ova tehnologija ima na polju mrenog povezivanja.
4nstalirana baza sadanjih raunara uglavnom koristi tehnologije zasnovane na bakarnim
provodni"ima i optikim kablovima. Meutim$ ne smemo zaboraviti sve vei rast beinih
tehnologija. 'o potvruje trite mobilnih tele!ona koje svake godine raste velikom brzinom. *ananji
mobilni tele!oni prihvataju tekstualne poruke$ G,mail potu i doputaju ogranieno pretraivanje JG=
servisa. Poseban protokol razvijen za beine aplika"ije <J?PB doprineo je da mobilni tele!on sve vie
postane klijentski raunar preko koga moemo da odradimo gotovo sve poslove kao i sa normalnog
desktop raunara. &a ovom polju vodi se rat izmeu dva konkurenta na polju beine komunika"ije i
to: Ji,Di <4GGG 2N/.11 standardB i FomeCD. FomeCD tehnologija je projektovana posebno za kune
korisnike i predstavlja izradu potpuno nove beine mree. 4GGG 2N/.11 standardi protokola slue za
proirenje mogunosti beinog povezivanja postojeih mrea dodavanjem taaka beinog pristupa
<a""es pointB. ;va tehnologija odnosi se na povezivanje raunara od kue do javnih prostora. &jen "ilj
je da postavi svetske standarde koji e omoguiti da se u mnogim raznorodnim okruenjima korisrti
jedna karti"a beinog mrenog adaptera. 'u treba pomenuti jo jednu tehnologiju koja sve vie hvata
zamaha a to je =luetooth tehnologija. luetooth predstavlja jo jednu beinu tehnologiju koja je
projektovana da zameni veliki broj i"a na kratkom prostoru. ;na treba da povee ureaje kao to su
tampa$ tastatura$ mi$ raunar i mobilni tele!on.
5ada razmatrarno razliite mrene ureaje ili so!tverske komponente mree$ obino kao re!erentnu
taku koristimo model koji je napravila Meunarodna organiza"ija za standardiza"iju <6nternational
Standardization Model$ 4%;B. %edmoslojni re!erentni model umreavanja <%even,PaHer &etIorking
Ce!eren"e ModelB povezivanjem otvorenih sistema <;pen %Hstem inter "onne"tion$ ;%4B prvobitno je
razvijen kao na"rt za izradu dodatnih mrenih 4%; protokola. Meutim$ ovi protokoli su nastali u
vreme kada je bilo potrebno veliko angaovanje raunara za njthovo implementiranje i nisu bili iroko
prihvaene. &eke kompanije$ kao to je *G0,net korpora"ije *igital GWuipment$ ipak su prele na ;%4
standarde. %a naglim razvojem 4nterneta$ kao i protokola koji su mu potrebni$ '0P(4P je postao
globalni standard za veinu lokalnih <i regionalnihB raunarskih mrea umesto ;%4 protokola. '0P(4P
se zasniva na mrenom modelu koji ima manji broj slojeva , etri$ ali je ;%4 ostao re!erentni model jer
se razmatranje tehnologije umreavanja obino jo uvek odnosi na ovaj model.
;%4 model umreavanja je upravo to , model. 'o je re!eren"a koju moete da koristite kada sa
kolegama razgovarate o mrema. Model odreuje sedam slojeva$ koje rnoete da posmatrate kao
zasebne modele$ od kojih svaki obavlja odreen skup !unk"ija. %vaki sloj u modelu komuni"ira sa
susednim slojevima preko standardnog de!inisariog inter!ejsa. Prema tome$ razvoj unutranjih !unk"ija
svakog sloja moe da se prepusti proizvoau. ;no to je vano jeste da svi slojevi rade zajednu$ bez
obzira na to koji proizvoa ih obezbeuje. &a primer$ mreni adapteri i mreno kabliranje spadaju u
najnii$ !iziki sloj. Mrene karti"e su projektovane za rad sa so!tverom koji spada u sledei vii sloj$
sloj povezivanja podataka. &a sli"i se vidi kako meusobno komuni"iraju razliiti slojevi modela$ sa
dva kraja mrene veze.
83
%vaki sloj u ;%4 re!erentnom modelu obezbeuje !unk"ije za susedne slojeve u modelu. 5ao to se
vidi na sli"i streli"e pokazuju protok in!orma"ija u steku$ od raunara ? nanie. 5ada in!orma"ije
stignu u !iziki sloj$ komponente u svakom sloju deluju tako da se poda"i prenesu na udaijeni sistem.
&a udaljenom sistemu$ !iziki sloj prima elektrine <ili svetlosneB impulse$ konvertuje ih odgovarajui
!ormat poruke i vraa in!orma"ije u stek tako da poda"i na kraju stiu do aplika"ije za koju su
namenjeni. &a sli"i se takoe vidi da postoji veza u oba smera izmedu slojeva u jednom sistemu i
odgovarajuih slojeva u drugom slstemu. 'o znai da sa 4ogike take gledita$ svaki sloj u modelu
obavlja !unk"ije kao da uspostavija vezu direktno sa sebi odgovarajuim slojem na uda4jenom sistemu.
&ijedan sloj ne zna ta se dogaa u slojevima koji se nalaze neposredno ispod njega$ odnosno kako se
poruka prenost do odgovarajueg sloja na udaljenom raunaru.
&a primer$ '0P deli velike poruke u manje poruke koje se zovu segmenti. ;vi segmenti zatim se
prenose u nie slojeve koji ih enkapsuliraju u 4P datagrame$ a zatim u protokol !izkog sloja$ kao to je
Gthernet. &a prijemnom kraju$ '0P so!tver ne mora da zna da je za prenos poruke upotrebljen
Gthernet$ 'oken Cing ill neka druga tehnologija. Umesto toga$ '0P so!tver na udaljenom sistemu
prima segmente koje je '0P so!tver na predajnom sistemu prvobitno poslao.
Gnkapsula"ija
+eina slojeva prikljuuje in!orma"ije poda"ima koje predaje niim slojevima. ;vi poda"i zovu se
informacije 5aglavlja. &a primer$ jedan 4P datagram sadri in!orma"ije zaglavija kao to su izvorna i
odredina adresa i brojevi portova. 5ada se 4P datagrami prenosi nanie u steku$ on moe da se
enkapsulira u Gthernet okviru. Gthernet okvir dodaje sopstvene in!orma"ije zaglavija. U Gthernet
zaglaviju$ umesto 4P adresa$ koriste se !izike M?0 adrese.
&a prijemnom kraju komunika"ije$ in!orma"ije Gthernet zaglavlja se uklanjaju pre nego to se
preostali poda"i predaju u stek. &a 4P nivou uklanja se 4P zaglavlje i poda"i se vraaju nanie do '0P
so!tvera$ i tako dalje. *akle$ svaki sloj na svakom raunaru stvarno vidi$ uz nekoliko izuzetaka$ samo
in!orma"ije zaglavlja koje je odgovarajui sloj na drugom raunaru prikljuio prvobitnoj poru"i. &a
ovaj nain slojevi logiki komurii"iraju jedan sa drugim$ bez obzira na to kako slojevi iznad ili ispod
njih interno rade.
U sledeim odelj"ima opisane su !unk"ije koje obavlja svaki sloj$ poevi od dna <!iziki slojB i penjui
se prema vrhu. +ano je napomenuti da neki proizvoai kombinuju dva iii vie slojeva u jednu
so!tversku aplika"iju. 5ao to smo ve rekli$ sedmoslojni ;%e re!erentni model je samo model. 'o je
nain da se tehnologije urnreavanja razmatraju na ra"ionalan nain razumljiv za pro!esional"e. 'o ne
znai da svi proizvodi za umreavanje moraju da budu usaglaeni sa ovim modelom.
0> *izi!ki sloj
Diziki sloj predstavljaju !izike komponente koje sainjavaju hardver za urnreavanje$ ukljuujui
mrene adaptere$ konektore$ mrene nosio"e podataka <bakarne provodnike ili optike kabloveB i tako
8E
dalje. -ednostavno !iziki sloj prenosi podatke sa jednog na drugo rnesto. ;vaj sloj pokriva elektrine i
mehanike aspekte mree. Predstavlja najnii nivo ;%4 re!erentnog modela i pored spe"i!ika"ija za
povezivanje raunara pokriva i deo koji se odnosi na detaljnu spe"i!ika"iju medija za povezivanje:
upredene pari"e <tIisted,pairB$ optikog <!iber,opti"B i koaksijalnog <"oa>ialB kabla. %tandardi koji su
interesanrni za klijent server aplika"ije a koji su u okviru ovog nivoa su 4GGG 2N/.1 <GthernetB$ 4GGG
2N/.8 <'oken CingB. ;ni su zadueni da de!iniu zahteve za mrenim inter!ejs karti"ama kao i
so!tverske zahteve za M?0 nivo <Media ?""ess 0ontrolB. ;vde su ukljueni i standardi koji de!iniu
serijsko povezivanje kao to su G4?/1/ i A./1 standardi. ;d mrenih ureaja ovom nivou pripadaju
repetitori,pojaavai <repeatersB i multiplekseri. &a primer$ u ovom sloju odluuje se o metodu koji se
koristi za kodiranje podataka u elektrine ili svetlosne signale u mrenim nosio"ima podataka.
1> SIoj povezivanja po#ataka
%loj povezivanja podataka obavija nekoliko !unk"ija koje je 4GGG podelio u dva podsloja. Prvi je
logika kontrola veze<Logical Lin# Control$ PP0B$ a drugi kontrola pristupa nosio"ima podataka
<&edia Access Control$ M?0B. 5ao "elina$ sloj povezivanja podataka odgovoran je za prenos
podataka sa jednog mesta na drugo kao i za minimalno ispravljanje greaka. %vrha PP0,a je da
obezbedi pristupne take servisa <service access point$ %?PB koje ureaji mogu da koriste za slanje
in!orma"ija. M?0 komponenta vodi rauna o prenosu podataka i ispravljanju greaka. %loj
povezivanja podataka odgovoran je$ na primer$ za sastavijanje Gthernet okvira. 'u spada !ormatiranje
in!orma"ija u zaglavlju u tana polja i smetanje podataka na pravo mesto. Dunk"ije koje rade u ovom
sloju takoe odreuju redosled interpretiranja bitova <to jest$ sa veeg iii manjeg krajaB i dodaju
in!orma"ije kontrolnog zbira koje se koriste da bi se osiguralo da okviri stignu nedirnuti na svoje
odredite. Mreni komutatori<sIi"hesB i mostovi<bridgesB su mreni ureaji koji rade u ovom sloju
modela. ;ni pregledaju M?0 adrese paketa i koriste te in!orma"ije da bi od4uili da 4i da paket
proslede na drugi port.
2> Mreni sloj
Gthernet$ 'oken Cing i D**4 <Diber *istributed *ata 4nter!a"eB de!iniu zapise podataka paketa koji
"irkuliu izmeu M?0 i &etIare nivoa. ;vaj nivo je odgovoran za sviovanje i rutiranje poruka i
podataka na njihove odgovarajue destina"ije. #aduen je da omogui jedinstvenu mrenu adresu$
odredi put za podatke do odredita$ podeli velike blokove podataka u manje pakete i izvri tekuu
kontrolu. Mreni sloj obezbeuje vane !unk"ije mrenom steku protokola. ;vde se prave protokoli
koji upravljaju nainom prenosa paketa u mrei ili usmeravanja paketa u drugu mreu. &a primer$
4nternet protokol <4PB nalazi se u ovom sloju. 4P adresiranje obavlja se u ovom sloju. %etite se da 4P
adrese imaju dve komponente: mreni 4* i 4* raunara. Prema tome$ paketi mogu da se prenose u
lokalnom P?&,u <korienjem 4*,a raunara ili da se usmere u drugu mreu <korienjem mrenog
4*,aB. ;vaj sloj je odgovoran i za podelu veih poruka u manje koje se smetaju u okvire napravljene
u sloju povezivanja podataka. ;va veliina zove se maksimalna jedini"a prenosa <&a4imal
(ransmision %nit$ M'UB. &a prijemnom kraju$ mreni sloj ponovo sastavlja manje poruke u vee$
originalne poruke$ pre nego to preda podatke nave u transportni sloj. &ajlaki nain da se setimo
ovog sloja jeste da zapamtimo da on obezbeuje adresiranje i usmeravanje. 'rebalo bi da bude
oigledno da na ovom nivou rade tradi"ionalni usmerivai. Usmerivai koriste mrenu adresu
protokola da bi odredili na koji port treba proslediti paket.
3> Transportni sloj
*ok je mreni sloj odgovoran za usmeravanje paketa podataka$ protokoli u transportnom sloju
preuzimaju dunost da se postaraju da ovi paketi stvarno budu preneseni i to tanim redosledom. 5ada
se poruke sadre vie od jednog paketa$ tada prenosni nivo sekven"ira te poruke i regulie njihov
protok. ;n je odgovoran za siguran prenos poruka od jednog do drugog raunara tj. odredita. ;vaj
nivo uvodi svoje adrese koje se dodaju na mrene adrese. #ato to servisira pro"ese na sistemima$
viestruke transportne adrese <izvor ili odrediteB mogu da imaju istu mrenu adresu. &a primer$ u
ovom sloju moe da se nae protokol za kontrolu prenosa <'ransmission 0ontrol Proto"ol$ '0PB. '0P
82
koristi 4P <u mrenom slojuB$ prati koji segmenti se gube u mrei i stara se da ih 4P po potrebi ponovo
alje.
lako ovaj segment moe da obezbedi ponovno slanje izgubljenih paketa$ on to ne mora da ini. &a
primer$ u ovom sloju nalazi se protokol korisnikih datagrama <User *atagram Proto"ol$ U*PB. U*P
takoe koristi 4P da bi preneo svoje poruke. Meutim$ U*P minimalno upravlja porukama koje alje.
;n ne potvruje prenos paketa$ ali odgovara na 40MP poruke$ kao to su one koje su napravijene da bi
usporile prenos kada poda"i stiu na prijemni kraj prevelikom brzinom.
K> SIoj sesija
%loj sesija odgovoran je za odluivanje o !ormatu podataka koji se prenose. Primeri protokola sesija su
pozivi udaljenih pro"edura <koristi ih &D% kao i druge aplika"ijeB. -o jedan nain posmatranje sloja
sesija jeste da njegovo !unk"ionisanje omoguuje pro"esima na umreenim raunarima da meusobno
komuni"iraju. ;vaj nivo nam omoguava da se jedna aplika"ija izvrava na dva ili vie razliitih
pro"esora. #adatak je da tu aplika"iju svedu na jednu sesiju. %esija je jedna razmena podataka,poruka
tj. dijalog koji vode dva pro"esora. U sluaju da neka stani"a <pro"esorB otkae ili prekine rad ovaj
nivo treba da obezbedi da se sesija bezbedno zavri. '0P i &et=4;% su protokoli koji se nalaze u
ovom sloju sesije.
F> SIoj prezentacije
%loj prezenta"ije interpretira stvarne podatke koji se razmenjuju. &a primer$ razliiti stemi mogu da
koriste razliite metode predstavljanja brojeva sa pokretnim zarezom ili nekih drugih podataka. &a
ovom nivou se prevodi redosled bitova u bajtu. U ovom sloju obavlja se i neophodna konverzija. Pored
toga$ upravo u ovorn sloju obavljaju se prevoenja izmeu razliitih metoda za i!rovanje znakova. &a
primer$ kada jedan raunar koristi ?%044 znakove$ a drugi 4=M,ovo G=0*40 i!rovanje$ prevoenja
izmeu ova dva metoda predstavljanja znakova obavljaju se u sloju prezenta"ije
D> SIoj aplikacija
5orisnik stupa na s"enu u sloju aplika"ija. =ez aplika"ija koje treba da koriste mreu$ administratori
mrea ostali bi bez posla. ;vo je nivo gde se aplika"ija direktno izvrava. Programer kodira jedan ?P4
<?pli"ation Programing 4nter!a"edB koji je de!inisan za taj nivo. Primeri mrenih komponenti koje se
nalaze u ovom sloju su mrene barijere ili umreeni sistemi datoteka <ka" to je &D%B. 5rajnji korisni"i
mogu da prepoznaju komponente sloja aplika"ija kao programe koje svakodnevno koriste$ na primer$
elektronsku potu i D'P.
o $omunikacioni posrednik
%o!tver komunika"ionog posrednika obezbeuje sredinu kroz koju klijent i server komuni"iraju radi
izvoenja spe"i!inih ak"ija. ;n je logiki smeten izmeu klijenta i servera i obezbeuje spe"ijalne
servise za izolovanje klijenta od detalja mrenih protokola i detalja u protokolima server pro"esa.
'akoe$ on izoluje aplika"ionog programera od internih poslova u serveru i od mrenih protokola.
Upotreba posrednika kod baza podataka donosi: mrenu nezavisnost <eone aplika"ije mogu da
pristupe poda"ima bez obzira na protokolB i nezavisnost servera baze podataka <eone aplika"ije mogu
da pristupe poda"ima na razliitim serverima baze podataka bez potrebe da se pie kod koji je
spe"i!ian za takav server baze podatakaB.
#a korienje baze podataka posrednik omoguuje programerima da koriste generike %TP reeni"e za
pristup razliitim i viestrukim serverima baze podataka. Posredniki nivo izoluje programera od
razlika izmeu %TP dijalekta trans!ormiui %TP reeni"e u sintaksu koja se oekuje na serveru baze
podataka. ;vo je veoma znaajno$ jer postoji veliki broj razliitih *=M% so!tvera$ u kojima je
implementiran %TP sa razliitom sintaksom i sa razliitim !unk"ijama. Pored toga$ poda"i mogu biti
smeteni i u nerela"ionim *=M%,ima koji ne podravaju %TP.
*a bi izvrio ove !unk"ije$ komunika"ioni posrednik radi u dva nivoa:
8Q
o Diziki nivo$ koji razmatra komunika"iju izmeu klijenta i servera. Dizika veza ukljuuje mreni
hardver i so!tver. Mreni so!tver sadri mrene protokole$ a to su pravila koja kazuju kako raunar
mora interagovati sa ostalim raunarima u mrei i obezbeuje da taj raunar bude spreman da
primi i poalje signal od i prema ostalim raunarima u mrei. U veini sluajeva$ !iziki nivo
komunika"ionog posrednika jeste mrea$ tj. mrene karti"e i kablovi.
o Pogiki nivo razmatra komunika"iju izmeu klijent i server pro"esa. ;vo je nivo gde klijent(server
konverza"ija dolazi najvie do izraaja.
*a bi bolje razumeli kako u klijent(server okruenju putuju poda"i i upravljake in!orma"ije$ trebalo
bi da znamo vie detalja o komunika"iji raunara. #a ilustra"iju ovih detalja koristiemo ;%4 re!eren"u
mrenog modela koji je zasnovan na sedam nivoa koji su meusobno izolovani. -edan nivo$ da bi
obavio svoju !unk"iju ne mora poznavati detalje o radu sledeeg nivoa u nizu obrade. ;vaj model se
sastoji od sledeih nivoa:
1. ?plika"ioni nivo. 'o je aplika"ija krajnjeg korisnika. 5od klijenta su to eone aplika"ije
<elektronska pota$ radne tabele$ programi za obradu teksta$ itd.B$ a kod servera su to pozadinske
aplika"ije.
/. Prezenta"ioni nivo. ;bezbeuje !unk"ije !ormatiranja za aplika"ioni nivo protokola kao to su
konverzija$ kompresija$ i!rovanje i sl. *rugim reima$ ovaj sloj obezbeuje da se in!orma"ija
poalje u !ormi koja je razumljiva i upotrebljiva na odreditu.
1. &ivo sesije. ;vaj nivo obezbeuje uspostavljanje i kontrolu komunika"ije izmeu aplika"ija.
;bezbeuje bezbednost$ dostavnost i komunika"ioni oporavak.
7. 'ransportni nivo. ;n obezbeuje prepoznavanje greke i oporavak$ obezbeujui na taj nain da se
svi poda"i pravilno dostave$ dodajui identi!ikator koji je spe"i!ian za transportni nivo.
8. Mreni nivo. ;bezbeuje rutine za pakovanje razbijajui velike poruke na male delove. ;n deluje
kao mreni kontroler koji odluuje kojim putevima poda"i mogu da se preba"e na odredite.
3. *ata,link nivo. 5reira okvire za prenos i kontrolie dodelu pristupa prema mrenom !izikom
medijumu <kabluB. ;vaj nivo ukljuuje jo i proveru greke$ korek"iu i sl.
E. Diziki nivo. ;bezbeuje standardni postupak prenosa$ sa elektrinim detaljima$ mrenu karti"u$
tip kabla$ napon$ itd. Diziki prenosi okvire podataka kroz mreni kabl.
3N
11 as Protokoli za povezivanje klijent server sistema
Povezivanjem dva ili vie raunarskih sitema <klijenti i serveriB putem razliitih mrenih topologija$ ne
znai i potpunu interoperatibilnost izmeu njih. Potrebno je da se ti sistemi sloe oko mnogih stvari
koje utiu na njihovu vezu a to su: naini uspostavljanja veze kod poetka prenosa podataka$ vrste
poruka koje se razmenjuju$ !ormati podataka i poruka$ razreavanje in"identnih situa"ija <loi poda"i$
prekid veze i td.B$ kodiranje i dekodiranje podataka$ strategije korienja mrenih resursa i td.
5ombina"ijom mrenih protokola kao to su &ovelov 4PA(%PA. &et=4;%$ '0P(4P$ i
interoperatibiolnih udaljenih pro"esa kao to je CP0 <Cemote Pro"edure 0allB tehnologija postie se
potpuna interoperatibilnost izmeu dva povezana mrena segmenta. *rugim reima$ kao to izmeu
ljudi postoji komunika"ija koja moe da se uspostavi na vie razliitih jezika$ tako i izmeu mrenih
segmenata postoji veliki broj protokola koji im pomau da bezbedno i sigurno razmenjuju podatke.
&ormalno oba segmenta moraju da 9razgovaraju na istom jeziku: tj. da koriste iste protokole kako bi
se potpuno razumeli i na taj nain obezbedili normalno !unk"ionisanje veze kako u P?& okruenju
tako i ire u okviru J?& mree.
+erovatno najpoznatija J?& mrea koja se sastoji od ogromnog broja manjih mrea poznata je kao
4nternet. &jen istorijat datira jo od kraja 3N,tih godina prolog veka$ kada je .dvanced Researc
(rojects agen"ija <?CP?B amerikog ministarstva odbrane$ poela da prikuplja sredstva od
univerziteta i privatnih organiza"ija za razvoj komunika"ionih sistema. 4straivanja su na kraju dovela
do razvoja ?CP?&G',a$ male eksperimentalne mree koja je demonstrirala mogunost povezivanja
razliitih raunara pomou mree sa komuta"ijom paketa podataka. Prvi protokol koji je upravljao
?CP?&G',om je bio &0P <'etwor# Control "rotocolB i on je predstavljao zaetak svih dananjih
savremenih protokola poznatih pod nazivom '0P(4P skup protokola. *aljim razvojem ove mree ona
je znaajno narasla i polako prerasla u 4nternet koji danas povezuje na hiljade univerziteta$ privatnih
institu"ija i vladinih agen"ija irom sveta. 'eko je pro"eniti koliko ljudi danas koristi 4nternet$ ali sa
mreama koje danas postoje bukvalno u svim privatnim i javnim organiza"ijama i sa sve veim brojem
4nternet provajdera$ broj korisnika dostie desetine miliona$ a sasvim je mogue da je re i o nekoliko
milijardi korisnika irom sveta.
-edan od najdominantnih pojmova koji je u neku ruku i postao sinonim za 4nternet mrenu
komunika"iju je '0P(4P skup protokola. '0P(4P predstavlja primarni mreni protokol koji se koristi na
4nternetu i za razliku od mnogih drugih protokola on nema svog vlasnika tj. njega nije razvijao samo
jedan proizvoa. Cazvijen je da bi obezbedio vezu preko mree izmeu raunara razliitih
proizvoaa <kao to su 4=M i ?ppleB$ tako da jedan protokol <ili vie protokolaB moe da se koristi za
izradu mree$ bez obzira na to koji se izvrni raunarski hardver koristi. 'okom vremena '0P(4P se
razvijao i napredovao zahvaljujui brojnim pojedin"ima koji su imali mogunosti da daju svoj
doprinos njegovom napredku. CD0 <+e,uest 6or Comments * zahtevi za komentarimaB dokumenti
predstavljaju dokumente koji su otvoreni za sugestije u vezi unapreenja postojeih i izrade novih
protokola$ koji se analiziraju od strane razliitih grupa spe"ijalista za pojedine oblasti. '0P(4P je
razvijan pomou ovog metoda da bi obezbedio vezu preko mree$ izmeu razliitih hardverskih
kon!igira"ija raunarskih sistema. ;slobaajui se u toku razvoja od uti"aja samo jednog proizvoaa$
'0P(4P je razvijen tako da zadovolji hardverske potrebe mnogih proizvoaa$ a ne samo jednog. ;%4
<Open System !nterconnect . otvoreni sistem uzajamnog povezivanjaB predstavlja re!erentni model koji
se koristi uglavnom kao radni okvir u kome mogu de se sprovode diskusije mrenih protokola. ;vaj
model je 1Q27 godine razvio 4%; <!nternational Organi5ation for Standardi5ation B i on de!inie
stekove protokola u modularnom obliku i podrazumeva da se svaka mrena aplika"ija moe predstaviti
u sedam meusobno povezanih slojeva. 5ako je razvoj '0P(4P protokola poeo mnogo ranije nego to
je de!inisan ovaj re!erentni model ;%4 umreavanja$ za oekivati je da se '04(4P protokoli ne uklapaju
uvek u sedam slojeva ;%4 re!erentnog modela. 4%; je koristio ovaj model da zapravo razvije skup
otvorenih mrenih protokola$ ali oni nikada nisu bili iroko prihvaeni. Meutim$ ;%4 re!erentni model
danas se i dalje koristi kada se govori o mrenim protokolima. +ano je da uoi da je i '0p(4P razvijan
na osnovu slinog$ mada manjeg modularnog re!erentnog model *;* < Department of Defense B ili
31
*?CP? modela. &a sli"i 1. su prikazana etri sloja od kojih se sastoji '0P(4P . *;* model i kako se
svaki od ovih slojeva odnosi prema ;%4 re!erentnom modelu.
;%4 model %loj '0P(4P model
?plika"ija E
?plika"ija Prezenta"ija 3
%esija 8
'ransport 7 'ransport
Mrea 1 Mrea
Podata"i /
Pristup na mreu
Diziki 1
%lika br. 1
5ao to se sa slike moe videti '0P(4P se ne uklapa tano u ;%4 model$ ali i dalje je mogue da se
pozovete na ovaj model kada raspravljate o izvesnim aspektima protokola i servisa koje obezbeuje
'0P(4P.
%kareni"a '0P(4P odnosi se na (ransmission Control "rotocol:!nternet "rotocol <protokol za
kontrolu prenosa(4nternet protokolB. Pored ova dva znaajna protokola$ mnogi drugi srodni protokoli i
usluni programi obino se grupiu zajedno i nazivaju se (C":!" "rotocol Suite ,'0P(4P skup <ili stekB
protokola. Prema tome pod pojmom '0P(4P podrzumevamo skup protokola i uslunih programa koji
nam stoje na raspolaganju kod 4nternet komunika"ija. &eki od tih protokola i programa su:
1. IP <!nternet "rotocolB , predstavlja jedan nesiguran protokol bez uspostavljanja veze koji se
koristi kao sredstvo za prenos datagrama sa jednog raunara na drugi i za adresiranje izmeu
mrea. ;vde treba objasniti pojmove kao to su segment$ datagram$ paket i okvir jer se oni
obino pogreno tumae i zamenjuju. Poevi od '0P protokola$ poda"i koji treba da se alju
nazivaju se segmentima. '0P proputa segmente 4P,u$ koji pravi pakete ili datagrame od tih
segmenata. 4P proputa podatke nanie u stek$ a ovi$ kada stignu na !iziki provodnik$ dobijaju
naziv okvir. Prema tome$ u svim praktinim primenama moe se smatrati da su paketi i
datagrami jedno te isto.
/. T'P <(ransmission Control "roto#olB , je protokol koji koristi 4P$ ali obezbeuje vii nivo
!unk"ionalnosti$ pri kome se proverava da li odreeni datagrami kojima upravlja 4P zaista stiu
sa odreenog odredita i do njega. '0P je protokol orijentisan na uspostavljanje veze$ koji
zahteva da se uspostavi sesija za upravljanje komunika"ijama izmeu dve take na mrei.
1. :,P <%ser Datagram "rotocolB takoe koristi 4P da alje podatke preko mree. *ok '0P
koristi mehanizam za potvrivanje da bi osigurao pouzdanu isporuku$ U*P to ne ini. ;n je
namenjen za korienje u aplika"ijama kod kojih nije neophodan garantovani servis isporuke
koji obezbeuje '0P. %ervis *&%<Domain 'ame System * sistem imena domenaB predstavlja
primer aplika"ije koja koristi U*P. ?plika"ije koje koriste U*P odgovorne su za preduzimanje
!unk"ija provere radi pouzdane isporuke koju inae obezbeuje '0P.
7. I'MP <!nternet Control &essage "rotocol * protokol koji upravlja 4nternetom putem porukaB
predstavlja neophodan deo svake '0P(4P implementa"ije$ a !unk"ije koje on sprovodi veoma
su vane za usmerivae i ostale mrene ureaje koji komuni"iraju preko '0P(4P,a. %lino kao i
'0P i U*P i ovaj protokol koristi 4P protokol za slanje svojih poruka. *ok '0P obino moe
da se oporavi zbog isputenih datagrama tako to jednostavno zatrai od 4P,a da ih ponovo
prenese$ 40MP je mehanizam za izvetavanje koji i 4P koristi a samim tim i mnogi protokoli
koji koriste 4P <ako ste koristili komande ping ili traceroute onda ste sigurno koristili usluge
40MP,aB.
8. I&MP < !nternet $roup &enagment "rotocol . protokol za upravljanje grupama na 4nternetuB
slui za upravljanje grupama sistema koji su istovremeno lanovi vie grupa. +ieznano
upuivanje 2 multicasting B predstavlja tehniku koja doputa da se isti datagrami isporue na
vie razliitih odredita odjednom. Upravo ovaj protokol igra glavnu ulogu u ispunjavanju ove
!unk"ije.
3. ARP < Address +esolution "rotocol . protokol za razreavanje adresa B koristi se da bi raunar
odredio koje hardverske adrese treba da se pridrue 4P adresi. ;vo je neophodno poto se 4P
3/
adrese koriste za usmeravanje podataka izmeu mrea$ dok se komunika"ije na lokalnom
mrenom segmentu obavljaju pomou !iksnih hardverskih adresa mrenih karti"a.
E. RARP <"rotocol +everse Address +esolution B je protokol slian ?CP,u$ ali radi suprotno. 'o
je stariji protokol koji je razvijen da bi omoguio raunaru da utvrdi koju 4P adresu treba da
koristi$ na osnovu tabele koja se obino uva na usmerivau. U optem sluaju$ ovu
!unk"ionalnost preuzeli su drugi protokoli$ kao to su =;;'P i *F0P. Meutim jo uvek
moemo da pronaemo da se ovaj protokol koristi u mnogim mreama koje koriste stariju i
zastarelu opremu iji radni vek polako istie.
2. 4OOTP < ootstrap "rotocol B predstavlja protokol za podizanjem sistema. 4 on predstavlja
stariji protokol$ koji je u optem sluaju zamenjen *F0P,om. Praktino veina *F0P servera
moe da radi i kao =;;'P serveri. =;;'P je napravljen da bi omoguio stani"ama bez
diskova da mogu da uitavju kon!igura"ione in!orma"ije$ kao to su 4P adresa i naziv servera$
koje mogu da se koriste za uitavanje operativnog sistema. =udui da radne stani"e bez
diskova nemaju lokalne ureaje za smetanje podataka <osim operativne C?M memorijeB one
ne mogu same da uvaju ove in!orma"ije izmeu dva podizanja sistema.
Q. SMTP < Simple &ail (ransport "rotocol . jednostavni protokol za upravljenje potomB koristi
se za prenos poruka od klijenta do %M'P servera$ kao i za prenos tih poruka od jednog do
drugog %M'P servera. Poto %M'P predstavlja aplika"ioni protokol$ on je pridruen broju
porta isto kao i D'P$ 'elnet ili drugi aplika"ioni protokoli. Port koji se obino koristi za %M'P
je '0P port /8. 4ako je '0P verzija koja se najvie koristi za implementa"iju %M'P,a on moe
da se koristi i sa drugim protokolima. 5ao aplika"ioni protokol$ %M'P se oslanja na
mehanizme detek"ija i ispravljanja greaka koji se nalaze u oanovnim protokolima i ne
implementira ovu vrstu !unk"ija u samom %M'P,u.
1N. SNMP < Simple 'etwor# &anagement "rotocol .jednostavni protokol za upravljanjem
mreomB napravljen je da olaka upravljanje mrenim ureajima i raunarima sa neke "entralne
loka"ije. 5ako !ormiranje mree u dananjim uslovima podrazumeva integrisanje proizvoda
razliitih proizvoaa tako je potrebno imati neki servis koji e nam pomoi da upravljamo
svim tim razliitim komponentama sa jedne "entralne loka"ije. Upravo tu dolazi do izraaja
ovaj protokol koji treba da obezbedi jednostavnost u upravljanju mrenih komponenti <kao
prostih mostova i habova tako i sloenijih usmerivaa ili komutatoraB.
11. RMON < +emote &onitoring "rotocol B je razvijen radi daljeg unapreenja mogunosti
administratora da daljinskim putem moe da upravlja udaljenim raunarima i mrenim
ureajima.
1/. LINS < 0indows !nternet 'ame Service B predstavlja Mi"roso!t,ov 'et!OS 'ame Server
<&=&%B koji je razvijen za razreavanje problema oko dodele imena raunarima u mrei$
zasnovan je na klijent server arhitekturi. J4&% koristi dinamiku bazu podataka u kojoj se
registra"ija imena sprovodi putem poruka sa jednoznanim upuivanjem <direktan kontaktB
izmeu servera i odreenog J4&% klijenta. Poto J4&% server ne mora da bude na istom
segmentu mree kao i klijent i poto nema di!uziono upuenih poruka koje mogu da izazovu
nered na mrenom medijumu$ J4&% predstavlja e!ikasan metod za razreavanje problema
dodele imena sve do pojave *&% servera i Active Directory,aktivnog diretorijuma.
11. ,B'P<Dynamic ;ost Configuration "rotocol*protokol za dinamiko kon!igurisanje raunaraB
oslobaa mrenog administratora od dunosti kao to su runo kon!igurisanje svakog
umreenog raunara adresnim i drugim in!orma"ijama.
17. ,NS < Domain 'ame System B predstavlja hijerarhijski sistem imenovanja koji se koristi na
4nternetu i u veini '0P(4P mrea. &a primer$ kada u svom 4nternet pretraivau otku"ate
III.eunet.Hu $ va '0P(4P stek alje zahtev *&% serveru da utvrdi 4P adresu koja je
pridruena tom imenu. ;d tog trenutka pa nadalje$ pretraiva moe da koristi tu 4P adresu da
alje zahteve toj Jeb strani.
18. *TP < 6ile (ransfer "rotocol .protokol za prenos datotekaB predstavlja sloen protokol koji
omoguava razmenu datoteka sa poda"ima$ pomou razliitih metoda za prikaz podataka i za
smetanje datoteka. U svom najjednostavnjem obliku on koristi razmenu nezatienih imena i
31
lozinki$ tako da nije osmiljen kao posebno bezbedan usluni program. 'o je i normalno jer
kada je on razvijan napadi na bezbednost nisu se smatrali kao ozbiljna pretnja.
13. TE;NET predstavlja jo jedan vrlo koristan alat koji ini skup '0P(4P protokola. 'elnet
aplika"ija 9udaljeni terminal: pmoguava vam da uspostavite interaktivnu sesiju za
prijavljivanje na sistem udaljenog raunara i da izvravate komande kao da ste se diretno
prijavili na taj udaljeni raunar. 'elnet se ne koristi samo da bi se uspostavila sesija sa
raunarom$ ve je takoe ugraen i u mnoge mrene ureaje kao to su serveri za tampanje$
habovi$ komutatori i usmerivai. 5orienje telneta predstavlja jednostavan nain za
upravljanje sa vie vorova u mrei$ raunara ili mrenih ureaja$ sa neke "entralne loka"ije.
&a sli"i broj / prikazan je raspored svih ovih protokola u odnosu na re!erentni ;%4 model
umreavanja. %a slike se vidi da 4P predstavlja osnovni protokol koji se u '0P(4P skupu koristi za
isporuku datagrama. 'akoe moemo da primetimo da da protokol '0P(4P i srodni protokoli rade
iznad !izikih komponenti mree. #bog toga je jednostavno prilagoditi '0P(4P za razliite vrste mrea$
kao to su Gthernet ili 'oken Cing. 5ada se radi o korienju protokola '0P(4P u mrei$ ono to on
odrauje jeste prenos 4P paketa u koji ste upakovali svoje podatke i kojeg ste prosledili nadole$ ka
stvarnom mrenom hardveru.
F''P %M'P D'P 'GP&G' *&% %&MP voi"e over 4P
'0P U*P <7 slojB %egment
4P 40MP 46MP <1 slojB Paket(*atagram
%loj veze podataka </ slojB
Diziki mreni medijum <1 slojB ;kvir
%lika broj /.
=udui da 4P predstavlja zajedniki imenala" '0P(4P skupa u narednim poglavljima malo vie emo
objasniti taj protokol$ a ksnije i '0P i U*P protokol.
37
1/ as IP A Internet Protocol
U skraenom nazivu protokola '0P(4P$ 4nternet protokol se nalazi kao druga komponenta$ ali prema
!unk"iji koju obavlja moe se slobodno rei da je on u stvari mnogo znaajnija komponenta. ;n
predstavlja osnovni protokol preko koga se preba"uju paketi sa jednog mesta na drugo i gotovo svi
protokoli iz skupa '0P(4P ga koriste. ;snovna uloga ovog protokola je da on treba da obezbedi mreni
servis bez potvrivanja i bez uspostavljanja veze$ a pored toga treba da obezbedi mehanizam za
adresiranje koji koristi '0P(4P. %ledeih nekoliko karakteristika izdvaja 4P protokol od ostalih:
4P predstavlja protokol bez uspostavljanja veze kod koga nije potrebno nikakvo podeavanje. ;n je
jedan nepovezan protokol kod koga svaki paket predstavlja poseban entitet koji sa 4P aspekta nije ni
u kakvoj vezi sa sa drugim paketima. 4P ne kontaktira odredini raunar ili mreni ureaj da bi
uspostavio putanju koja e se koristiti za slanje podataka. Umesto toga$ on samo prihvata podatke od
protokola vieg nivoa$ kao to su '0P ili U*P$ !ormatira pakete koji sadre adresne in!orma"ije i
alje te pakete na njihov put$ koristei kao podlogu !iziku mrenu arhitekturu. 5ada protokoli vieg
nivoa koriste 4P za isporuku svojih in!orma"ionih podataka$ ne postoji garan"ija da e svaki paket
koji nastane na 4P nivou koristiti istu putanju do svog odredita. +rlo je verovatno da e serija paketa
koju je sainio protokol vieg nivoa stii na odredite u sekven"i koja ima sasvim drugaiji redosled
od onoga po kome je zapoet prenos. Oak ta vie$ 4P uopte i ne vodi rauna o tome da li su svi
paketi stigli do odredine take. 'a !unk"ija je preputena protokolu koji koristi 4P za isporuku koji je
zaduen za proveru greaka i potvrivanja ispravnog prijema.
4P je protokol bez potvrivanja. U veini sluajeva on ne proverava da li je datagram nedirnut stigao
na svoje odredite. ;n samo !ormatira in!orma"ije u pakete i alje ih du provodnog medija. =ez
mehanizma za potvrivanje$ 4P mogu da koriste drugi protokoli kojima ova !unk"ionalnost nije
potrebna$ i na taj nain eliminiu dodatno troenje vremena koje prati potvrivanje. 'aj zadatak moe
da odradi neki vii protokol <'0PB ili sama aplika"ija kojoj je bitno da se svaki paket ispravno stigne
do odredita. Meutim$ i na nivou 4P postoji poseban protokol $ 40MP <!nternet Control &essage
"rotocol B$ koji posredno pomae 4P,u u reavanju ovog zadatka$ utoliko to moe da utie da se
neki uslovi slanja koriguju. &a primer$ iako 4P ne dobija natrag potvrdu sa odredita 4P paketa$
dobie 40MP poruku da uspori$ ukoliko se paketi alju bre nego to mogu da se obrade na
odreditu.
4P je nepouzdan. 'o je lako uoiti budui da je u pitanju protokol bez uspostavljanja veze i bez
provere da paketi stiu na svoje odredite$ kao ni po kom redosledu oni stiu. *rugim reima za 4P je
samo bitna brzina isporuke paketa. Postoji jo jedan razlog zbog koga se 4P smatra nepouzdanim
protokolom a to je to 4P implementira ''P <(ime (o LiveB vrednost$ koja ograniava broj mrenih
usmerivaa ili raunara kroz koje datagram moe da prolazi. 5ada se ova grani"a dostigne$ taj
datagram se jednostavno odba"uje a kako 4P nema mehanizme za otkrivanje ovog problema
<potvrivanje prijemaB on je potpuno nesvestan ovog problema. Meutim ''P ima i svoje prednosti
a to su u sluaju da administrator sistema pogreno kon!igurie usmerivae <routerB i tako napravi
beskonanu petlju u mrei. *a nije ''P vrednosti$ paket bi beskonano putovao od jednog do
drugog usmerivaa i tako nepotrebno optereivao gustinu saobraaja na mrei.
4P obezbeuje adresni prostor za '0P(4P. ?dresiranje predstavlja najvaniju !unk"iju koja je
implementirana u 4P sloju. %vaka mrena karti"a koja se nalazi u bilo kom raunaru ima jedinstvenu
!iksnu <burned inB adresu koja se naziva M?0 <&edia Access Control B adresom. ;ve adrese
obezbeuje proizvoa mrenih karti"a i ona se utiskuje u svaku karti"u u pro"esu proizvodnje tih
karti"a. ?drese koje se tada uba"uju u karti"e !ormiraju takozvani f)ravni adresni prostor)) koji nam
ne dozvoljava da moemo e!ikasno da organizujemo usmeravnje datagrama iz jednog sistema ili
mree u druge. 'a M?0 adresa koja se dodeljuje karti"i je jedinstvena i sastoji se od 3 bajtova <72
bitovaB. Prvi deo te adrese identi!ikuje proizvoaa a ostali deo predstavlja obini serijski broj
karti"e koji se redom dodeljuje svakoj karti"i. ;bino je prikazana u vidu heksade"imalnih brojeva
kao na primer: NN,2N,02,?=,17,83. 4P adresa se takoe sastoji iz dva dela i to adrese mree i adrese
raunara. #ahvaljujui mrenoj adresi mogue je napraviti hijerarhiju koja omoguava e!ikasne
mehanizme za usmeravanje pri slanju podataka u druge mree. *ok odreena mrea moe da ima
38
mrene adaptere koji su od vie isporuila"a a samim tim i M?0 adrese koje su razliite$ moe se
slobodno rei sluajni brojevi$ dotle su 4P adrese organizovane po mreama. %amim tim usmerivai
ne moraju da imaju na milone M?0 adresa$ ve sadre samo 4P adrese kojih ima onoliko koliko i
raunara ili mrenih ureaja koji su vezani na isti usmeriva.
Mta zapravo ra#i IP N
;snovna uloga 4P protokola je da prihvata podatke iz vieg sloja i da vri njihovo usitnjavanje u manje
pakete <ili datagrameB i iste prenosi preko mree. &a prijemnom kraju 4P ponovo prikuplja te
datagrame i prosleuje ih ka viem sloju$ ka protokolu vieg nivoa koji koristi 4P. *a bi se svaki paket
uruio$ 4P u zaglavlju datagrama postavlja 4P adrese izvora i odredita. 4P takoe na osnovu prorauna
proverava ispravnost in!orma"ije u zaglavlju kako bi mogao da je potvrdi. Meutim$ to se samo radi sa
poda"ima u zaglavlju a ne i sa kompletnim paketom tj. ta se !unk"ija ne izvrava nad poda"ima u
paketu. 5ao to smo ranije napomenuli velika prednost '0P(4P je da on doputa mreama da koriste
razliite medijume za meusobne veze. *ok jedna mrea moe da koristi !ormat okvira Gthernet 2N/$
druga moe da koristi D**4 <Diber *istributed *ata 4nter!a"eB. %vaki od ovih okvira nieg nivoa ima
svoje posebno zaglavlje koje sadri in!orma"ije$ koje su za tu tehnologiju potrebne$ za slanje okvira
du !izikog mrenog medijuma. &a ovom niem nivou$ u steku protokola$ 4P datagram se nalazi u
delu sa poda"ima u odreenom okviru. Poto 4P doda svoje in!orma"ije iz zaglavlja u poruku koju
prima od protokola vieg nivoa$ i poto napravi datagram odgovarajue veliine$ on taj datagram
preba"uje u sloj 'etwor# Access$ koji taj 4P datagram uba"uje u Gthernet okvir. &a prijemnom kraju$
in!orma"ije se skidaju iz zaglavlja Gthernet okvira$ a 4P datagram se prosleuje navie u stek koji
obrauje 4P protokol. &a slian nain$ in!orma"ije iz 4P zaglavlja skidaju protokoli vieg nivoa koji
samo koriste 4P$ kao to su '0P ili U*P.
4ako je veini ljudi 4P poznat kao transportni protokol koji koriste protokoli vieg nivoa$ jedna od
njegovih vanijih !unk"ija je da obezbedi adresni prostor za potrebe '0P(4P skupa. Uvoenjem 4P
adresa obezbeen je hijerarhijski adresni prostor za mree$ tako da je sada bilo lako da se konstruie
usmeriva koji e koristiti deo te 4P adrese koji e predstavljati adresu mree. &a taj nain kada
datagram stigne do usmerivaa on na osnovu mrenog dela adrese usmeri podatke prema toj
odredinoj mrei. 5ada datagram stigne do odredine mree tada se tek koristi drugi deo adrese tj.
adresa raunara u toj mrei. =ez mogunosti odreivanja mrene adrese i adrese raunara$ hijerarhijski
adresni prostor ne moe da se uspostavi$ a usmeravanje bi zahtevalo tabele usmeravanja koje bi
doslovno morale da sadre sve adrese svakog raunara ili ureaja u odreenoj mrei. Umesto toga$
ograniavanjem tabela za usmeravanje samo na uvanje mrenih adresa$ ovo postaje jednostavan
postupak.
Postoje tri vrste 4P adresa i to:
#nicast /jednoznano upuBivanje0 . ;va vrsta adresa je najuobiajeni tip 4P adrese. ;na na
jednostavan i jedinstven nain identi!ikuje jedan raunar u odreenoj mrei.
Broadcast /difuzno upuBivanje0 . &e treba ga meati sa di!uznim upuivanjem <broad"astB kod
Gthernet okvira. 4P takoe ima ovu mogunost i podeava za sebe skup adresa koje mogu da se
koriste za di!uziono upuivanje$ ime se alju poda"i svakom sistemu na odreenoj mrei.
Multicast /vi"eznano upuBivanje0 . %lino adresama za di!uziono upuivanje$ adrese za
vieznano upuivanje alju podatke na vie odredita. Cazlika izmeu adresa za vieznano i
di!uziono upuivanje jeste u tome to adresa za vieznano upuivanje moe da alje podatke na
vie mrea$ gde ih primaju raunari koji su kon!igurisani za prijem tih podataka.
%ve 4P adrese takoe moemo podeliti na vie adresnih klasa u zavisnosti od veliine mrenog i
raunarskog dela 4P adrese. 5lase 4P adresa su prvo de!inisane u preporu"i CD0 <+e,uest for comentsB
EQ1. 4ako je ovaj sistem klasa sluio svrsi dug niz godina$ dananje usmeravanje na 4nternetu mnogo je
sloenije od onoga to ove jednostavne klase adresa doputaju. Meutim$ od sutinskog je znaaja da
se razumeju klase adresa u lokalnom P?&,u ili korporativnoj mrei. *ok su se M?0 adrese sastojale
od 3 bajta <72 bitaB i heksade"imalno se prikazivale$ dotle se 4P adrese sastoje od 7 bajta <1/ bitaB i
predstavljaju se u vidu 7 de"imalna broja sa takama izmeu njih. %ve 4P adrese se dele na tri glavne
33
klase adresa i to 9?:$ 9=: i 90: klasu$ i dve manje poznate 9*: i 9G: klasu. %vaka od ovih klasa
koristi drugaiji deo 4P adresnih bitova za identi!ika"iju mree. Potreba da se mree klasi!ikuju
posledi"a je potrebe da se prave mree razliitih veliina. *ok neki mali P?& moe da ima nekoliko
ili nekoliko stotina raunara$ vee mree mogu da imaju na hiljade pa i vie umreenih raunara.
%istem klasa 4P adresa ostvaruje se pomou razliitog broja bitova u "elokupnoj adresi za identi!ika"iju
mrenog i raunarskog dela 4P adrese. Uz to$ prvih nekoliko bitova u binearnoj adresi koristi se za
indika"iju klase kojoj pripada odreena adresa. Ukupan broj bitova raspoloivih za adresiranje je uvek
1/ bita. =udui da broj bitova koji se koriste za identi!ika"iju mree varira u zavisnosti od klase$
oigledno je da varira i preostali deo bitova koji se inae koristi za adresiranje raunara u mrei. 'o
znai da neke klase mogu da adresiraju vei broj mrea$ a kao posledi"a ovoga je da onda one druge
mree mogu da identi!ikuju vei broj raunara u svakoj mrei.
Prva etri bita u 4P adresi govore kojoj klasi pripada sama adresa i to:
1. 5lasa 9?: N > > > < N.N.N.N 1/E./88./88./88B NN NN NN NN , ED DD DD DD
/. 5lasa 9=: 1 N > > <1/2.N.N.N 1Q1./88./88./88B 2N NN NN NN , =D DD DD DD
1. 5lasa 90: 1 1 N > <1Q/.N.N.N //1./88./88./88B 0N NN NN NN , *D DD DD DD
7. 5lasa 9*: 1 1 1 N <//7.N.N.N /1Q./88./88./88B GN NN NN NN , GD DD DD DD
8. 5lasa 9G: 1 1 1 1 </7N.N.N.N /88./88./88./88B DN NN NN NN , DD DD DD DD
< > oznaava bilo koju vrednost i ne utie na odreivanje klaseB.
%lasa A a#resa
5ao to je prikazano u gornjoj tabeli$ svaka 4P adresa koja ima nulu na prvoj pozi"iji pripada klasi ?
adresa. #a adresiranje mrenog dela adrese u klasi ? koristi se samo prvi bajt <prvih 2 bitovaB i to je u
sistemu 4P adresa najmanji opseg koji se koristi. Preostala 1 bajta </7 bitaB koristi se za !ormiranje
adrese raunara u mrei. Prema tome klasa ? moe da adresira najmanji broj mrea ali zato se u ovoj
klasi moe adresirati najvei broj raunara. 5ako je prvi bit rezervisan za adresu mree <uvek je jednak
NB$ preostaje sedam bitova za adresiranje mrea kojima moemo da adresiramo 1/E razliitih mrea$ ali
zato imamo /7 bita za adresiranje raunara to znai da imamo 13 EEE /13 </
/7
B razliitih adresa koje
moemo dodeliti raunarima.
%lasa 4 a#resa
*a bi utvrdili da li je u pitanju klasa = 4P adrese potrebno je pogledati prva dva bita 4P adrese. ?ko su
ona 1N onda smo sigurni da ta adresa pripada klasi =. 5od klase = prva dva bajta se koriste za
adresiranje mree dok se preostala dva bajta koriste za adresiranje raunara. Pa prema tome ovde
imamo na raspolaganju 13 127 moguih </
17
B mrenih adresa i 38 813 < /
13
B adresa koje moemo
dodelti razliitim raunarima u mrei. *o razliitog broja adresa mrea i raunara dolazi zbog toga to
su u mrenoj adresi rezervisana prva dva bita za oznaku klase 4P adrese pa je od tuda smanjen broj
adresa za mree.
%lasa ' a#resa
;pseg adresa klase 0 ima uvek prva tri bita postavljena na 11N. U ovoj klasi sa prva tri bajta koriste
za adresiranje mrea to isnosi / NQE 18/ adresa </
/1
B$ a preostali jedan bajt adresira /83 <N,/88B
razliitih raunara u mrei.
%lasa , a#resa
Prve tri klase adresa predstavljaju one adrese koje se standardno koriste u 4P adresiranju. ;pseg klase
* rezervisan je za grupno korienje slanja na vie adresa <multicastingB. %lanje na vie adresa
predstavlja postupak kada se paketi alju na vie raunara odjednom. ;vde se ne koriste nikakvi
posebni bajtovi za adresiranje mrea i raunara ve se ukupno moe napraviti /32 718 783 </
/2
B
jedinstvenih adresa.
%lasa E a#resa
Ukoliko u 4P adresi vidimo da stoje 1 na prvih etiri mesta,bita onda smo sigurni da ta adresa pripada
klasi G adresa. ?drese klase G su rezervisane za buduu upotrebu i obino se ne sreu na veini mrea
koje su povezane na 4nternet.
U razreavanju problema oko dodele 4P adresa moramo pomenuti kako se to u praksi radi. Ma koliko
da je adresni prostor$ koji dozvoljava dodelu 4P adresa$ veliki on je ipak konaan i da ne postoji jedna
3E
tehnika poznata kao &?' <'etwor# Address (ransslationB on bi brzo bio dostignut. Prevoenje
mrenih adresa <&?'B moe da se koristi sa usmerivaima$ tako da moete da koristite samo adresni
prostor svoje interne mree$ dok su usmerivau koji predstavlja vezu prema 4nternetu dodeljuje jedna
ili vie stvarnih registrovanih adresa. 5oristei &?' taj usmeriva moe da manipulie 4P adresama i
portovima$ odnosno da se ponaa kao pro>H server za klijente u internoj mrei kada komuni"iraju sa
spoljanjim svetom. U praksi su poznata nekoliko opsega koji su opet putem CD0 dokumenta broj
1Q12 de!inisana za upotrebu u lokalnim 4ntranet okruenjima i to su:
1N.N.N.N do 1N./88./88./88
1E/.13.N.N do 1E/.11./88./88
1Q/.132.N.N do 1Q/.132./88./88
%ve ove adrese nisu validne za 4nternet pa prema tome vie privatnih mrea mogu da koriste ove
ospege za de!inisanje svog 4ntranet okruenja.
Postoji nekoliko izuzetaka koji se izdvajaju iz ukupnog broja adresa koje su mogue u klasama adresa.
&a primer$ sve adrese koje zapoinju sa adresom 1/E u prvom bajtu nisu validne izvan lokalnog
raunara. ?dresa 1/E.N.N.1 <koja spada u opseg adresa ? klaseB uobiajeno se naziva adresom povratne
petlje <loopbac#B i koristi se za testiranje lokalnog '0P(4P steka da bi se utvrdilo da li su kon!igura"ija
i !unk"ionisanje korektni. ;stali izuzet"i obuhvataju vrednosti N i /88. 5ada se N koristi u mrenom
delu adrese tada ona oznaava trenutnu mreu. =roj /88 se koristi u adresi za navoenje di!uziono
upuene poruke. Uzimajui u obzir sve ove izuzetke onda dolazimo do stvarnog broja mrea i raunara
koje moemo da adresiramo u svakoj klasi i on izgleda ovako:
5lasa ? 1/3 mrea 13 EEE /17 raunara
5lasa = 13 127 mrea 38 817 raunara
5lasa 0 / NQE 18/ mree /87 raunara.
;vde treba pomenuti jo jednu tehniku koja se koristi da bi se poveao broj razliitih mrea a to je
tehnika deljenja jednog ad!resnog prostora na manje jedini"e poznate kao podmree <subnetsB.
Primenom maske podmree mogue je 9pozajmiti: bitove iz dela 4P adrese za raunare$ za !ormiranje
novih mrea. Maska podmrea je takoe 1/,bitna binarna vrednost kao i 4P adresa ali to nije adresa ve
niz bitova koji se koristi za identi!ika"iju dela ukupne 4P adrese koji treba da se koristi za identi!ika"iju
mree i podmree. -ednostavnom ?&* opera"ijom izmeu maske adrese i 4P adrese dolazimo do
konane adrese koja je validna na mrei. Prema tome u zavisnosti od klase adresa imamo i
odgovarajue maske. 'ako klasi ? odgovara maska /88.N.N.N$ klasi = maska /88./88.N.N i klasi 0
maska /88./88./88.N. -ednostavnim maskiranjem dela adrese koji ukazuje na adresu raunara mi
moemo proiriti broj adresa kojima adresiramo mreu tj. u ovom sluaju podmeu. 'ako na primer
ako koristimo masku /88./88./88.1/2 mi moemo da adrese iz klase 0 podelimo na dve podmree i to
za prvu podmreu od adresa 1Q/.111./88.1 do 1Q/.111./88.1/2 i za drugu podmreu od
1Q/.111./88.1/Q do 1Q/.111./88./87. %lino ovome ako koristimo masku /88./88./88.1Q/ mi
moemo da izvrimo podelu adresnog prostora iz klase 0 na 7 podmree.
Novi razvoj internet protokola = IPvF
%ve ovo to smo do sada objanjavali odnosi se na internet protokol verzije 7.4Pv7. %ve vei razvoj
4nterneta kao i sve vea potreba za dodeljivanjem !iksnih 4P brojeva pojedinim entitetima na mrei
doveli bi do manjka 4P adresa u skoroj budunosti. Pjudi razmiljaju o ovom problemu ve godinama.
4nternet Gngineering 'ask Dor"e <4G'DB poeo je 1QQ1. godine da razmatra problem promene
postojeeg 4P,ja i kreiranje nove genera"ije 4P,ja$ ne!ormalno nazvane 4Png <4P &e>t 6eneration , 4P
nove genera"ijeB. U pokuaju da se ukljui kompjuterska zajedni"a$ pozvani su razni pro!esional"i
<istraivai$ proizvoai$ prodav"i$ programeri$ itdB da daju svoje predloge.
;!ormijeni komitet nazvan 4Png *ire"torate razmotrio je predloge i mnoge odba"io$ jer su bili
namenjeni spe"ijalnim zahtevima$ ili su bili isuvie kompleksni. Meutim$ jedan predlog koji je
ukljuivao dizajn pod nazivom %imple 4nternet Proto"ol , %4P bio je proiren tako da se iskoriste ideje
opisane u drugim predlozirna. Cezultujui protokol je dobio naziv %imple 4nternet Proto"ol Plus
<%4PPB.
32
4G'D se 1QQ7. godine sastao u 'orontu i$ na osnovu preporuka 4Png *ire"torate$ izabrao je %4PP kao
osnovu za sledeu genera"iju 4nternet protokola$ koja je !ormalno trebalo da bude poznata kao 4Pv3 <4P
verzija 3B.
U poreenju sa 4Pv7 paketom najvea izmena je izvrena u proirenju broja bitova kojima se vri
adresiranje. #a razliku od 4Pv7 gde smo imali 1/ bita za adresiranje sada nam je na raspolaganju 1/2
bita$ etiri puta due od 4Pv7 adresa. 'eorijski je omogueno / na 1/2 ili 1N na 7N razliitih adresa.
-edan od problema sa eksponen"ijalnom nota"ijom je to to je esto teko razumeti koliko je to veliko$
nego zapisati broj. *a biste lake razumeli koliko je veliko / na 1/2 objasniemo sledeim primerom.
Pokazano je da ako bi se sve adrese rasporedile ravnomerno po povrini "ele zemaljske kugle$
postojale bi 1.N/7 adrese na svakom kvadratnom metru$ to je vie nego dovoljno za svaku osobu$
glistu i insekta na planeti.
&ota"ija 1/2,bitnih adresa se razlikuje od one koja se koristi za 4Pv7. 5orienje tekue nota"ije u
kojoj se takama razdvajaju tro"i!reni brojevi dalo bi nota"iju koja sadri 13 tro"i!renih brojeva
razdvojenih takama. &aravno$ ovo postaje pomalo nezgrapno. Umesto toga$ take se menjaju
dvotakama i svakih 13 bitova u adresi predstavlja heksade"imalnu nota"iju etvoro"i!renog broja.
Primer 4Pv3 adrese ima sledei oblik
E7EE:NNNN:NNNN:NNNN:NNNN:;?DD: 1=*D:EDDD
%vaka heksade"imalna "i!ra u ovoj reprezenta"iji ima jedinstveni 7,bitni ekvivalent. Cezultat je i dalje
nezgrapan$ ali je bolji od alternative. #a adrese koje sadre mnogo nula <a sa / na 1/2 adresa bie ih
dostaB koristi se skraena nota"ija. U sutini$ nule se ne navode$ ve se na njihovo prisustvo ukazuje sa
dve dvotake <::B. %tvarni broj nula koje nedostaju izraava se oduzimanjem broja heksade"imalnih
"i!ara u nota"iji od 1/$ broja heksade"imalnih "i!ara koje su potrebne za punu 1/2,bitnu
reprezenta"iju.
&a primer$ prethodna adresa bi bila zapisana kao
E7EE::;?DD: 1=*D:EDDD
Poto ova nota"ija sadri 13 "i!ara$ znamo da mora da nedostaje 13 nula. U sluajevima kada adresa
poinje sa N$ nota"ija zapoinje dvotakom. *rugim reima$ adresa
NNNN:NNNN:NNNN:NNNN:;?DD: 1=*D:NNND:NNEE
moe da se zapie i kao ;?DD: 1=*D:NNND:NNEE
*a bi se adrese dalje pojednostavile$ vodee nule u okviru etvoro"i!rene grupe ne moraju da se
navode. ;vo omoguava uproenu nota"iju na sledei nain:
::?DD: 1=*D:D:EE
5ao to 4Pv7 deli svoje adrese na razliite klase u zavisnosti od vodeih bitova$ to radi i 4Pv3.
'renutno postoje // razliitih tipova adresaL svaki ima jedinstven bitski pre!iks. Pre!iksi mogu da
sadre od tri do 1N bitova. &a primer$ adresa koja poinje sa osam nula odgovara 4Pv7 adresi.
;snovni problem u primeni ovog protokola je u tome to ve preko milon raunara komuni"ira putem
4Pv7. ;vako veliki broj onemoguava konvertovanje u 4pv3 preko noi. *a bi se potpuno prelo na
4Pv3 bie potrebno dosta godina i za to vreme veina mrenih entiteta <pre svega ruteriB$ morae da
podravaju oba protokola. #a 4Pv3 to nije problem jer on podrava 4Pv7 ali je se problem javlja u
obrnutom smeru jer 4Pv7 kao prvonastali protokol ne podrava nove protokole.
T'P )Transsmision 'ontrol Protocol+
'0P protokol predstavlja protokol za kontrolu prenosa podataka. ;n koristi 4P adresu ali dodaje i svoje
parametre i !unk"ionalnosti koje ine da '0P protokol pouzdanim protokolom orijentisanim prema
uspostavljanju veze. %ve ono to 4P protokol nije zahtevao i to ga je inilo nesigurnim protokolom$
'0P protokol ispravlja i na taj nain omoguava 4P,u da napravi sesiju koju aplika"ije mogu da koriste
3Q
za pouzdanu razmenu podataka. ;snovne karakteristike ovog protokola koje ga izdvajaju kao pouzdan
protokol i koje ga svrstavaju u protokole koji se najee koriste su:
obezbeuje proveru ispravnosti prenoenih podataka$
regulie protok podataka da ne doe do zaguenja$
uba"uje brojeve za sekven"e u svom zaglavlju kako bi 4P datagrami mogli da se rekonstruiu u
ispravnom stanju na prijemnom mestu.
'0P prima podatke iz gornjih delova <slojevaB u steku protokola$ dodaje svoje in!orma"ije zaglavlja$ a
zatim ih predaje 4P sloju koji sada dodaje svoje in!orma"ije zaglavlja. Poruke koje se alju '0P od
aplika"ija iz viihslojeva obinose nazivaju tok <streamB podataka. =udui da koliina podataka moe
da varira i nije ograniena na neki skup brojeva bajtova$ '0P preuzima ove poruke i$ ako su suvie
velike da bi se uklopile u paket$ usitnie ih na manje segmente i svaki od njih poslati u posebnom
paketu. '0P sloj na prijemnom kraju rekonstruie te poruke pre slanja na gore$ prema aplika"iji.
#a proveru ispravnosti '0P koristi tri parametra i to:
Polje u '0P zaglavlju
'0P podataka
Pseudo in!orma"ija u zaglavlju
'0P predstavlja protokol koji je orijentisan na uspostavljanje veze tj. raunari koji komuni"iraju treba
prvo da uspostave uslove koji e upravljati sesijom i uspostavljaju komunika"iju. '0P doputa
dvostruku komunika"iju odnosno to je dvosmerna ili puna dupleksna veza. ;be strane mogu
istovremeno da primaju i da alju podatke. *a bi se uspostavlia veza$ svaka od strana mora da otvori
svoju stranu veze. &a strani servera to se naziva pasivno otvorena veza <passive openB. ?plika"ija na
serveru izvrava se kao pro"es na raunaru$ koji slua zahteve za vezu koji stiu na odreni port.
Pomou 4P adrese i broja porta$ pro"es na serveru moe na jedinstven nain da identi!ikuje svakog
klijenta koji upuuje zahtev za vezu. 5ada klijent eli da uspostavi vezu sa serverom$ prolazi kroz
postupak poznat kao aktivno otvoren <active openB. %erver ve slua zahteve za vezu$ ali klijent mora
da ini"ira stvarni pro"es povezivanja slanjem zahteva na broj porta aplika"ije servera koju eli da
koristi.
:,P ) :ser ,ata.ram Protocol +
Predstavlja jednostavan protokol koji ne zahteva dodatno angaovanje kao '0P. Ukoliko aplika"iji
nisu potrebne vrednosti koje obezbeuje '0P veza$ moe da se koristi U*P. 5ako U*P ne podeava
sesiju i svi U*P datagrami predstavljaju nezavisne entitete na mrei$ on moe da se posmatra kao
nepouzdan protokol i protokol bez uspostavljanja veze. -edan od servisa koji koriste ovaj protokol je
*&% <Domain 'ame ServiceB. Ukoliko klijent ne primi natrag odziv na jednostavan *&% zahtev$ on
moe ponovo da pokua ili da jednostavno iskoristi neki drugi *&% server ako je kon!igurisan da
moe to da uradi. U poreenju sa '0P zaglavljem U*P zaglavlje je vrlo prosto i ono se sastoji od
sledeih polja:
!5vr<ni port . predstavlja 13,bitno polje koje se koristi za identi!ika"iju porta koji koristi
aplika"ija koja alje podatke.
Odredi<ni port . takoe je 13,bitno polje koje se koristi za identi!ika"iju portaW na kome se
uruuju paketi na prijemnom kraju veze.
Du7ina . ;vo 13,bitno polje se koristi za uvanje duine itavog 4P datagrama$ i ukljuuje delove
i sa zaglavljem i sa poda"ima.
"rovera ispravnosti . 13,bitno polje koje se koristi da obezbedi da se sadraj U*P datagrama ne
narui pri prenosu.
EN
11 as %lijent server arhitekt$re
5ada razmatramo prelazak na klijent server model jednog raunarskog sistema$ bilo da je to
nadogradnja ve postojeeg ili uvoenje potpuno novog raunarskog sistema$ vrlo je vano odluiti se
za tip arhitekture jednog takvog klijent server sistema. 6lavni zada"i jedne aplika"ije za krajnjeg
korisnika . klijenta mogu se predstaviti kroz sledee tri komponente a to su: poda"i,in!orma"ije$
obrada tih podataka i njihovo adekvatno predstavljanje. &ain na koji su ove komponente obraene$
podela na delove aplika"ije koji obrauju ove komponente$ kao i mesto obrade u mrenom sistemu$
tano de!iniu i odreuju tip klijent serverske arihitekture koja je primenjena za reavanje datog
problema. 'akoe izbor odgovarajue arhitekture zavisi i od: broja korisnika i raunara na mrei$
vrsta razvojnih okruenja i programskih alata$ modela i obima baze podataka kao i sloenosti
programskih pro"edura. Postoji vie naina kako se ta podela vri a mi emo se najvie zadrati na dve
arhitekture koje su danas najvie u upotrebi. 'o su dvoslojna <two*tierB i troslojna <three*tierB
arhitektura. +e smo ranije napomenuli da se kod klasinih sistemima za obradu podataka po
klijent(server modelu$ mogu uoiti tri osnovne klase komponenti i to:
1. server . ima zadatak da optimalno upravljanja zajednikim resursima to su najee poda"i$ da
upravlja bazom podataka kojoj pristupa vie korisnika$ da kontrolie pristup i bezbednost podataka
i da omogui "entralizovano obezbeenje integriteta podataka za sve aplika"ije
/. klijent , vri upravljanje korisnikim inter!ejsom i izvrava deo logike aplika"ije.
1. mrea . ili komunika"ioni posrednik koji ima zadatak da omogui prenos podataka izmeu klijenta
i servera.
Dvoslojna aritektura
Mada postoje vie naina na koji se ova arihitektura moe realizovati mi emo se zadrati na
najprostijoj implementa"ija jer ona najjasnije pokazije osobine ovakve realiza"ije. #a poetak razvoja
jedne ovakve arhitekture smatra se 1Q2N god. i ona je predstavljala prirodni nastavak dotadanje file*
server arhitekture. ;snovne prednosti koje su je izdvajale od klasine !ile,server aritekture bile su:
Upotrebljivost <%sabilityB,korienjem razliitih !ormi za korisniki inter!ejs mogue je jedne iste
podatke prikazati na vie razliitih naina.
%kalabilnost <ScalabilityB,za razliku od !ajl,server sistema gde su istovremeno mogli da rade
desetak korisnika a da se per!ormanse sistema drastino ne narue$ ovde je omogueno da taj broj
bude oko 1NN istovremenih korisnika.
Dleksibilnost <6le4ibilityB,mogunost da poda"i budu deljivi za veliki broj korisnika koji rade na
heterogenim raaunarskim sistemima.
;snovne komponente koja svaka dvoslojna klijent server arhitektura mora da ima su:
1. 5orisniki inter!ejs <%ser System !nterfaceB , nain predstavljanja podataka$ sesije$ unos teksta$
dijaloki prozori$ prikaz na ekranu.
/. Upravljanje pro"esima <"rocessing &anagementB. obrada podataka$ generisanje$ izvoenje i
nadgledanje pro"esa i neophodnih resursa
1. Upravljanje poda"ima <Dataase &anagementB , servisi vezani za uvanje i deljenje podataka i
datoteka
E1
%lika broj 11.1
5ao to je prikazano na sli"i broj 11.1 sve tri komponente koje su bitne za jednu aplika"iju <poda"i$
njihova obrada i predstavljanjeB podeljene su izmeu dva so!tverska entiteta <tiersB: klijent aplika"ija i
server baze podataka. Cobustan jezik za razvoj klijentske aplika"ije kao i prilagodljivi mehanizam za
prenos klijentskih upita ka serveru su dve najvanije stvari kod dvoslojne klijent server arhitekture.
Predstavljanje podataka se iskljuivo vri na klijentskoj strani$ njihova obrada se deli izmeu klijenta i
servera$ dok se poda"ima pristupa i oni se uvaju na serveru. &ajveu odgovornost za !unk"ionalnost
jedne aplika"ije na sebe preuzima klijent jer se na njemu odvija najvei deo te aplika"ije. ;d njega i
polaze svi zahtevi za nekim poda"ima i kod njega se zavravaju svi poda"i koji se sada prikazuju u
razliitim !ormama prikaza. %erverska strana je odgovorna za integritet i ispravnost tih podataka$
prihvatanje zahteva putem redova <,uery capabilitiesB i pravovremeno reavanje i slanje odgovora na
te zahteve. -edan od najrairenijih jezika koji je danas postao gotovo standard u slanju zahteva za
nekim poda"ima je %TP,jezik. %lanje %TP zahteva od strane klijenta ka serveru zahteva vrstu
povezanost izmeu dva sloja koji ine dvoslojnu klijent server arhitekturu. *a bi poslao jedan %TP
zahtev klijent mora dobro da poznaje sintaksu serverske komponente ili pak da se putem
odgovarajueg ?P4,a taj zahtev prevede da bi postao razumljiv serverskoj strani. 'akoe klijent mora
da zna loka"iju servera$ kako su poda"i na njemu organizovani$ kao i nazive tih podataka. Upueni
zahtevi mogu da iskoriste prednosti logike koja je upamena i koja se izvrava na serveru a koja
"entralizuje globalne zadatke koji se izvravaju na serveru kao to su: valida"ija podataka$ njihov
integritet kao i sigurnost tih podataka. 'raeni poda"i se vraaju klijentu i sada je na njemu kako e ih
on prikazati$ da li e izvriti novu selek"iju ili izvriti neke nove opera"ije na njima. -edna od najveih
prednosti dvoslojne arhitekture je brzina razvoja nove aplika"ije. #ahvaljujui velikom razvoju P0
baziranih rutina omogueno je klijentu da veoma lako razvije novu aplika"iju koja e koristiti veliki
broj ve razvijenih rutina za pozivanje podataka i njihovo predstavljanje bez obzira na nain kako su ti
poda"i organizovani na serveru.
-edna od osnovnih karakteristika klijent(server sistema je distribuirana obrada podataka koja
podrazumeva da se logika aplika"ije podeli izmeu klijenta i servera$ kako bi se obezbedilo optimalno
iskorienje raspoloivih resursa. &a primeru dvoslojne arhitekture$ to bi znailo da se prezenta"ija
podataka kao i provera ulaznih podataka vru u okviru klijent,aplika"ije$ dok se rukovanje poda"ima$ u
smislu njihovog !izikog smetaja i kontrole pristupa$ vri na serveru. 5od dvoslojne arhitekture
klijent pokree aplika"iju koja preko mree pristupa serveru baze podataka. #atim pokree aplika"iju
koja izvrava logiku i prikazuje traene rezultate na ekranu.
&eke od glavnih prednosti ovakvog modela obrade podataka su: "entralizovano upravljanje resursima
sistema i jednostavnije obezbeivanje sigurnosti podataka$ a osnovni problem predstavlja nedostatak
skalabilnosti. Pod skalabilnou se podrazumeva osobina sistema da omogui e!ikasan rad velikom
broju korisnika$ i da dalje poveavanje broja korisnika ne izaziva drastian pad per!ormansi sistema.
*voslojna arhitektura je arhitektura koja je pogodna za sisteme sa malim brojem korisnika jer se ona
dobro ponaa za manje sredine koje imaju do 1NN klijenata. %vaka konek"ija novog korisnika na mreu
E/
zahteva izvesne sistemske resurse. 'akoe treba napomenuti da kod dvoslojne arhitekture kada se
korisniku alje ogromna koliina podataka dolazi do zaguenja to utie na usporavanje protoka
in!orma"ija kroz mreu a samim tim usporava rad drugih korisnika.
;va arhitektura se koristi za homogene sredine gde imamo tano de!inisana pravila koja se ne menjaju
tako esto. ;na je mnogo manje pogodna za heterogene sredine gde se pravila ponaanja izmeu njih
vrlo esto menjaju.
?roslojna aritektura
'roslojna arhitektura kako i sam naziv kae je takva arhitektura kod koje je potrebno uvesti jo jedan
sloj tzv. srednji sloj u kome se nalazi aplikativni server. ?plikativni server komuni"ira sa database
serverom$ poda"i dobijeni sa database servera se preko aplikativnog servera prosleuju klijentu. ;vde
imamo 9tankog: klijenta. Poslovna logika se izvrava na aplikativnom serveru. ?plika"ija na
aplikatinom serveru je vienitna <multithreadB i omoguava istovremeni pristup vie klijenata.
?plika"ioni server kreira konek"iju sa bazom i rezultate vraa klijentu. Cadi na prin"ipu Connection
"ooling.a. #ahtevi klijenata se stavljaju u bazen tzv. "ool. 5ada konek"ija bude slobodna dodeljuje se
sledeem korisniku u zavisnosti od prioriteta korisnika koji eka u Pool,u. Pooling se moe
realizovati primenom 44%,a <!nternet !nformation ServerB i 0;MY tehnologije.
;va arhitektura namenjena je da prevazie neke probleme i ogranienja dvoslojne arhitekture time to
je potpuno odvojila podatke$ njihovu obradu i prezenta"iju u posebne so!tverske entitete,slojeve
<tiersB. 4sti tipovi rutina za predstavljanje podataka koje su koriene kod dvoslojne arhitekture$ mogu
se koristiti i ovde ali se sada one iskljuivo koriste za predstavljanje podataka. 5ada se zahteva neka
obrada tih podataka ili pristup novim poda"ima$ upuuje se novi poziv srednjem sloju. 'aj sloj sada
izvrava obradu na poda"ima ili generie novi zahtev$ sada kao klijent$ prema serveru ako se trae novi
poda"i. 'aj srednji sloj se obino realizuje u visoko portabilnim programskim jezi"ima kao to je 0
jezik. 'aj sloj mora da omogui pristup velikom broju klijenata pa njegova realiza"ija zahteva servere
koji podravaju vie,nitno <multi,threadedB pro"esiranje.
5ao to je na sli"i brj
/. prikazano troslojna arhitektura se sastoji iz tri sloja ito : korisniki sloj<%ser interfaceB$ srednji sloj
<Comutational function ili &iddle tier serverB i sloj podataka <Data accessB.
E1
%lika broj /.
Poetak razvoja ovakvih arhitektura datira od 1QQN godine i za razvoj ovakve arhitekture mogue je
primeniti razliite tehnologije. Meutim ono to je zajedniko za ovakvu arhitekturu je pozivni
mehanizam koji je jedinstven za svaku vezu klijent server a to je CP0 tj. udaljeni poziv pro"edure
<remote procedure callB. 5ako veina dvoslojne arhitekture primenjuje %TP mehanizam poziva a taj
mehanizam nije zatupljen kod troslojnih arhitektura ve je to standardni CP0 poziv$ potrebno je
razmotriti malo vie ove pozive. %tandardni CP0 poziv ima mnogo veu !leksibilnost u odnosu na
%TP poziv. 'o proizilazi od toga to taj poziv jednostavno moe da sadri parametre upita u okviru
kojih e spe"i!i"irati strukturu podataka u kojoj eli da prihvati traene podatke. 'o znai da korisniki
sloj ne mora da zna %TP jezik jer on u CP0 pozivu diktira u kom obliku eli da dobije povratne
in!orma"ije. %ada ukoliko doe do promene podataka u sloju podataka tada nije potrebno da se
aplika"ija na nivou korisnika menja ve se to radi samo u srednjem sloju koji je zaduen za prihvatanje
podataka i njihovu isporuku korisnikom sloju. 'o znai da sada ni sloj podataka ne mora da uva
podatke koji su %TP orjentisani. ;ni sada mogu da budu organizovani hijerahijski$ rela"iono i u vidu
objekata. %amim tim to dodaje veliku !leksibilnost da se omogui pristup poda"ima koji e biti
razliito organizovani a i omoguava prodor i uvoenje novih tehnologija za baze podataka.
Slika broj 13.2 sss
E7
Pored toga podeljenost na tri zasebne "eline omoguava paralelan razvoj so!tverskih entiteta koji sada
mogu da budu potpuno nezavisno razvijani i to na potpuno razliitim kako hrdverskim tako i
so!tverskim plat!ormama. =a zbog ove osobine ova arhitektura je primenljiva za razvoj aplika"ija
koje se zasnivaju na distribuiranim bazama podataka. 'ri kljune stvari koje su nam ovom
arhitekturom omoguene su zakljuavanje$ koegzistentnost i replika"ija. 4 ovde se veza dinamiki
menja u zavisnosti od korisnikih zahteva za poda"ima i servisima. %rednji sloj omoguuje praenje i
upravljanje pro"esima$ njihovo aktiviranje$ kontrolu rada$ aktiviranjue i uspavljivanje pojedinih
pro"esa i obnovu pro"esa.
5lijent(server sistemi sa troslojnom arhitekturom <three*tier architectureB predstavljaju sisteme sa tri$ u
velikoj meri nezavisna$ podsistema. U pitanju su sledei podsistemi:
0> po#sistem za interakcij$ sa korisnikom <implementira !unk"ije korisnikog inter!ejsaBL
1> po#sistem za implementacij$ osnovnih "$nkcija sistema <implementira tzv. 9poslovnu logiku:BL
2> po#sistem za r$kovanje po#acima$ pri emu se pre svega misli na !iziki smetaj podataka <ovo
je$ zapravo$ sistem za upravljanje bazama podatakaB.
#a razliku od dvoslojnog modela obrade podataka$ gde je logika aplika"ije bila podeljena izmeu
klijenta i servera$ u troslojnom modelu ona se nalazi kon"entrisana u tzv. aplikacionom serveru . ija
je namena da izvrava programski kod koji implementira logiku aplika"ije. 5lijent aplika"ija je
namenjena samo za implementa"iju korisnikog inter!ejsa$ a !unk"ija sistema za upravljanje bazom
podataka je iskljuivo !iziko rukovanje poda"ima <u prethodnom sluaju je$ pored toga$ izvravao i
deo logike aplika"ijeB.
'roslojni kon"ept je doveo do podele programskog koda na segmente koji implementiraju tano
odreene !unk"ije sistema. 'ako organizovan sistem je je#nostavniji za o#ravanje$ jer je mogue
nezavisno razvijati korisniki inter!ejs i logiku aplika"ije. #a potrebe !izikog rukovanja poda"ima
najee se koristi neki od komercijalno #ost$pnih servera za tu namenu. 'roslojne arhitekture
sistema podrazumevaju oslanjanje na stan#ar#e u odgovarajuom oblastima$ zasnovane na 4nternet
tehnologijama. ;slanjanje na standarde omoguava inte.racij$ sistema hetero.enih u pogledu
koriene hardverske i so!tverske opreme.
Pre#nosti troslojne arhitekt$re
1. +ana karakteristika troslojnih sistema je skala9ilnost.
aB poveavanje broja klijenata je jednostavno
bB poveavanje propusne moi i brzine odziva servera srednjeg sloja je mogue kroz dodavanje novih
serverskih maina uz korienje postojeih
/. %istem sa vie servera karakterie i poveana po$z#anost i "leksi9ilnost
1. Pogika aplika"ije se moe menjati i u toku rada sistema
7. Mogue je e!ikasno vriti balansiranje optereenja serverskog podsistemapo#sistema za
;va arhitektura se koristi u heterogenim sredinama koje zahtevaju povezivanje heterogenih baza
podataka. Primenjije se za povezivanje velikog broja klijenata gde je potrebno povezati vie od 1NNN
klijenata.
Arhitekt$ra vi7eslojnih sistema
*aljim proirivanjem kon"epta troslojnih sistema dolazi se do pojma vieslojnih sistema <multitier
arcitectureB$ gde se vri dalja podela na komponente u okviru srednjeg sloja sa "iljem jo veeg
poveanja skalabilnosti$ odnosno per!ormansi. %rednji sloj je podeljen na dva sloja: jedan je namenjen
za opsluivanje Jeb klijenata$ a drugi sadri komponente koje implementiraju poslovnu logiku
sistema. &ekada se srednji sloj deli na dva ili vie sloja u zavisnosti od aplika"ije. ;vakva arhitektura
poznata je kao vieslojna <multi tierB arhitektura. 'o je sluaj kod nekih 4nternet aplika"ija. ;ne obino
imaju tankog klijenta pisanog u F'MP jeziku a aplika"ioni serveri su pisani u 0YY ili -?+? jeziku.
Postoji veliki jaz izmeu ove dve tehnologije koji predstavlja neprolaznu prepreku da bi se ovakve dve
aplika"ije meusobno direktno spojile. #aro postoji meusloj <intermediate layerB$ obino JG= server
$ koji je implementiran u nekom s"ript jeziku. 'aj sloj prihvata zahteve od klijenata i generie F'MP
dokument koristei servise koje pozajmljuje od poslovnog <businessB sloja.
(ava tehnolo.ije za iz.ra#nj$ vi7eslojnih sistema
E8
4nterak"iju sa korisnikom u ovakvom sistemu obavljaju klijenti koji imaju standardan Jeb inter!ejs. U
pitanju su Jeb itai koji prikazuju F'MP strani"e. 5omunika"ija izmeu Jeb itaa i Jeb servera
se odvija putem standardnog F''P protokola$ uz dodatak coo#ie podataka kojima se prati korisnika
sesija dok se on kree po Jeb sajtu. %trani"e koje prikazuju klijenti su najee generisane dinamiki$
tj. po prijemu zahteva za nekom strani"om. *inamiko generisanje Jeb sadraja na osnovu podataka
iz ostatka sistema vre servleti ili se za tu namenu koriste (SP <)ava Server "agesB strani"e. #a
potrebe manipula"ije poda"ima u sistemu servleti ili -%P strani"e pristupaju objektima u okviru
aplika"ionih servera koji su dostupni kao 'OR4A <Common Object +e,uest ro#er ArchitectureB ili
E(4 <Enterprise )avaeansB komponente. Protokol za komunika"iju izmeu ova dva sloja je (RMP
<)ava +emote &ethod "rotocolB$ protokol za komunika"iju izmeu distribuiranih -ava objekata$ ili
IIOP <!nternet !nter*O+ "rotocolB ekvivalentan protokol vezan za 0;C=? tehnologiju.
0;C=?(G-= komponente za potrebe skladitenja podataka u bazi podataka pristupaju serveru za
upravljanje bazama podataka preko standardnog (,4' <)ava Database ConnectivityB inter!ejsa.
korisnikom i po
E3
03> !as ,istri9$irani sistemi
*istribuirani sistemi <*%B predstavljaju jedan vid mrenih sistema koji omoguuju raunarima
izvoenje obrade podataka korienjem svih raspoloivih mrenih resursa u toj mrei. #a razliku od
mrenih sistema koji omoguuju kontrolisani pristup drugim raunarima i prenos podataka izmeu
raunara$ *% omoguuju istovremeno izvoenje obrade na vie raunara. Upotrebom *%,a klijent
moe pristupati svim mrenim resursima kao resursima lokalnog raunara. *rugim reima$ *%
predstavlja skup nezavisnih raunara koji su klijentu predstavljeni kao jedan koherentan sistem.
%lika 1. ;rganiza"ija distribuiranog sistema
&a sli"i br.1. prikazano je mesto jednog distribuiranog sistema u mrenoj strukturi raunara kao
meusloj <middlewareB. &avedimo sada koje su prednosti koje nam jedan *%,a prua u odnosu na
klasian mreni sistem:
1. Ubrzanje obrade podataka . obrada se izvodi na vie raunara istovremeno pa je ukupno vreme
obrade krae u odnosu na obradu na jednom raunaru.
/. +ea pouzdanost . u sluaju nekorektne obrade izvodi se ponavljanje obrade na raunaru na kome je
greka nastala$ dok se obrade izvedene na ostalim raunarima ne ponavljajuL u sluaju izvoenja svih
obrade na jednom raunaru nuno je ponavljanje svih obrada.
1. Cavnomerno optereenje raunarske mree . ako je neki od raunara u mrei jako optereen nekom
obradom$ mogue je izvriti njegovo rastereenje prenosom obrade na manje optereene raunare.
7. %manjeni zahtjevi za hardverom . dovoljno je imati nekoliko raunara sa nadproseno kvalitetnim
hardverskim osobinama$ a zatim se sve hardverski zahtevnije obrade preusmeravaju na te raunare.
8. %manjene zahteva za so!tverom . skupi so!tverski proizvodi instaliraju se na nekoliko raunara$ a
zatim se sve potrebne obrade preusmeravaju na jedan od tih raunaraL na taj nain se smanjuje
potreban broj li"en"i i "ena upotrebe so!tverskih paketa.
0iljevi razvoja *%,a:
1. Povezivanje korisnika i resursa , Povezivanje korisnika i resursa omoguuje korisniku pristup
resursima svih raunara u mrei i njihova upotreba kao lokalnih resursa raunara na koje je korisnik
spojen. *%,i koji se mogu korisniku i aplika"ijama prikazati u !ormi jednog sistema su transparentni.
/. 'ransparentnost , 'ransparentnost u distribuiranim sistemima moe se prikazati u sledeim
obli"ima:
1. 'ransparentnost pristupa <accessB . prikrivanje razlike u prikazu podataka <razliite hardverske
osnove raunara koriste razliite !ormate u prikazu podatakaB i naina korienja resursa.
/. 'ransparentnost loka"ije <locationB , korisnik nije upoznat sa !izikom loka"ijom resursa koji
sadri podatke koje korisnik upotrebljava.
1. 'ransparentnost promene mesta <migrationB . promena !izike loka"ije resursa ne utie na nain
pristupa resursima.
7. 'ransparentnost reloka"ije <realocationB . omoguava promenu loka"ije resursa u trenutku kada se
resurs koristi.
8. 'ransparentnost replika"ije <replicationB . mogunost postojanja vie kopija originalnih podataka
a da korisnik ne mora biti upoznat sa time.
EE
3. 'ransparentnost konkurentnosti <concurrencyB . mogunost korienja skupa podataka za vie
korisnika istovremeno pri emu to korisni"i ne vide i ne znaju za to.
E. 'ransparentnost pogreke <failureB . korisni"i ne opaaju ne!unk"ionalnost odreenog resursa kao
ni postupak oporavka sistema u sluaju kvara.
2. 'ransparentnost postojanosti <persistanceB . korisnik nije upoznat sa trenutnom loka"ijom
podataka koji koristi <npr. poda"i na kojima se izvodi manipula"ija u bazi podataka kopiraju se u
glavnu memoriju$ obrauju i rezultat se smeta u bazu podataka dok korisnik taj postupak vidi kao
direktnu opera"iju u bazi podatakaB.
1. ;tvorenost , ;tvoreni *% omoguuje izvoenje usluga prema prihvaenim standardima. %tandardi
za *%,e sadrani su u inter!ejsu <interfaceB koji se opisuje sa jezikom za de!inisanje inter!ejsa
<!nterface Definition Languge = !DLB. 4*P sadri imena !unk"ija sa popisom parametara$ rezultata
izvoenja$ moguih razlika itd. Popis svih !unk"ija ini specifi#aciju. ;sobine dobre spe"i!ika"ije su
kompletnost i neutralnost. 5ompletnost znai da je sve to je nuno potrebno za implementa"iju ve
je ukljueno u spe"i!ika"iju. &eutralnost znai da spe"i!ika"ija ne propisuje nain implementa"ije
!unk"ija.
7. Merljivost <scalabilityB . %kalabilnost ili merljivost je osobina koje se primenjuje na tri naina:
1. Prema veliini . mogunost dodavanja novih korisnika i resursa.
/. Prema loka"iji . odvojenost korisnika i resursa podataka.
1. Prema administriranju . mera jednostavnosti upravljanja sistemom iako se sistem sastoji od
mnogo neovisnih administrativnih organiza"ija.
Ukoliko elimo poveati kvalitet sistema nailazimo na niz ogranienja. Pri porastu broja korisnika
ogranienja se mogu prikazati tabelom 1.
5on"ept Primer
0entralizirani server
0entralizirani poda"i
0entralizirani algoritmi
-edan server za sve korisnike
-edan on,line tele!onski imenik
4zvoenje usmeravanja zasnovanog na
kompletnim in!orma"ijama
(abela /. Ograni>enja pove?anju broja #orisni#a
Primena "entraliziranog servera za sve korisnike uslovljava veliki stepen optereenja servera$ ali u
nekim situa"ijama nije opravdana upotreba vie servera iste namene <jedan od razloga je sigurnostB.
Pristup "entraliziranim poda"ima je problematian ako je u pitanju velika koliina podataka jer
dolazi do velikog optereenja servera na kome su poda"i smeteni. Ukoliko se koristi vie raunara
mora se osigurati jednakost podataka na svim serverima. Primena "entraliziranih algoritama nije
dobro rjeenje jer se komunika"ija izvodi slanjem i primanjem velikog broja poruka pa je poeljno
koristiti razliite mrene linije u "ilju ubrzanja izvoenja algoritma. #a to je potrebno imati
in!orma"ije o raspoloivim putanjama i odabrati najpovoljniju putanju za prenos poruka.
'ehnike za realiza"iju s"alabilitH,a su:
1. ?sinhrona komunika"ija . nakon slanja poruke aplika"ija pokree druge aktivnosti$ odnosno ne
eka na prijem odgovora od servera$ a kada odgovor stigne on se prekidom dojavljuje aplika"iji te
poseban pro"es <handlerB izvodi obradu pristiglog odgovora. U nekim sluajevima je bolje veinu
obrade izvesti na klijent strani kako bi se rasteretio server <slika /. prikazuje moguu primenu
obrade podataka !ormu za unos podataka na klijent strani . <bBB
/. *istribu"ija , znai slanje odreene komponente podeljene na manje dijelove i njihova distribu"ija
putem mree kako bi se na odreditu svi dijelovi ponovo spojili u "elinu. Primer je rad *&%
servera <slika 1.B gdje se primenom zona izvodi usluga dodele imena <naming serviceB primjenom
vie de"entraliziranih servera.
1. 0a"hing . to je spe"ijalna !orma kopije <replikeB podataka$ a njena upotreba de!inisana je
potrebama klijenta i servera koji ima originalnu verziju podataka.
E2
%lika /. Primer obrade na klijent strani
%lika 1. Primena zona za rad *&% servera.
0>0> Bar#5are
*istribuirani sistemi mogu se koristiti za razliite vrste raunara spojenih u raunarsku mreu.
Cazliitosti raunara uslovljavaju nivo sloenosti *%,a. Cazlikujemo:
1. Multipro"esorske raunarske sisteme
/. Multiraunarske raunarske sisteme.
Multipro"esorski sistemi imaju jedan memorijski adresni prostor koji koristi vie pro"esora$ dok kod
multiraunarskih sistema svaki pro"esor koristi svoj zasebni adresni prostor <slika 7.B. ?rhitektura
sistema moe se zasnivati na magistrali <busB ili na prekidaima <switchB. Multiraunarski sistemi
mogu biti homogeni i heterogeni. Fomogeni sistemi imaju skup raunara istih karakteristika jer koriste
iste pro"esore <struktura pro"esora je identinaB i imaju jednu mrenu tehnologiju. Feterogeni sistemi
sastoje se od velikog broja razliitih raunara koji su spojeni na razliite mree.
EQ
M$ltiprocesori
%vi pro"esori koriste jedan adresni prostor. Ukoliko se promena vrednosti memorijske loka"ije od
jednog pro"esora moe u 1 gs prikazati na drugom pro"esoru kaemo da imamo koherentan sistem.
Primena ovog sistema dovodi do optereenja magistrale i smanjenja per!ormansi sistema. #ato se
koristi "a"he memorija. %vaki pro"es ima malu brzu "a"he memoriju za smetanje vrednosti koje
trenutno obrauje <slika 8.B. 0a"he memorijom se rastereuje magistrala$ ali se pojavljuje problem
auriranja vrednosti "a"he memorije ukoliko dva pro"esora obrauju vrednost na istoj memorijskoj
loka"iji.
%lika 7. Cazlika multipro"esorskih i multiraunarskih sistema
%lika 8. Primjena "a"he memorije
Primena velikog broja pro"esora uslovljava e podelu memorije u module kako bi se poboljale
osobine sistema. Pri radu sa memorijom svaki pro"esor moe pristupati memorijskim modulima
korienjem prekidaa. Prekidai mogu biti crossbar i omega. Crossbar prekidai omoguuju direktno
spajanje svakog pro"esora sa svakim memorijskim modulom$ pruaju veliku brzinu spajanja ali
uslovljavaju velik broj prekidaa. Manji broj prekidaa postie se upotrebom omega prekidaa gde se
njihovom upotrebom bira putanja pristupa memorijskim modulima <slika 3.B.
Bomo.eni m$ltira!$narski sistemi
5ako kod ovih sistema svi raunari imaju istu strukturu njihova upotreba u *%,u je znatno
jednostavnija. ;staje jedino problem naina povezivanja i komunika"ije raunara. Pri povezivanju
raunara mogua je upotreba strukture reetke <gridB ili hiperko"ke <hypercubeB. &a sli"i broj E
prikazana je ema povezivanja raunara kod ovih struktura.
2N
%lika 3. Upotreba "rossbar i omega prekidaa
%lika E. %truktura aB reetke bB hiperko"ke
Betro.eni ra!$narski sistemi
%astoje se od veeg broja razliitih raunara spojenih na mreu putem razliitih mrenih struktura.
Primjenom *%,a generie se sloj <middlewareB koji je nezavisan od hardvera raunara koji su spojeni
na mreu i komunika"ija se izvodi primenom tog sloja. &a taj nain se izbjegavaju problemi koji
nastaju zbog razliitosti raunara.
0>1> SO*TVER
Pri analizi so!tvera razlikujemo mrene raunare koji koriste operativni sistem koji ima kontrolu nad
svim resursima mree <tightly*coupled systemB i operativni sistem koji kontrolie resurse lokalnog
raunara <loosely*coupled systemB. #a prvu grupu sistema koristi se distribuirani operativni sistem$ a za
drugu mreni operativni sistemi. 'abela / prikazuje razlike izmenu ovih operativnih sistema.
%istem ;pis 0iljevi
*;% (ightly*couped sistemiL primena
za viepro"esorske i homogene
sisteme
prikrivaju nain
upotrebe resursa
&;% Loosely*couped sistemiL
primena za heterogene sisteme
pruaju lokalne usluge
za udaljene klijente
MiddleIare dodatni sloj na &;% za
implementa"iju usluga opte
namene
osigurava
transparentnost
(abela @. +a5li#a i5menu OS*a
21
,ISTRI4:IRANI SISTEMI A ,S
Cazlikujemo multipro"esorske *% i multiraunarske *%. ?naliza primjene mikrokernela u dizajnu ;%
jednog rauna zasnovanog na klijent,server strukturi <slika 2.B omoguiti e bolju razumljivost rada
*%,a.
%lika 2. Primjena mikrokernela
M$ltiprocesorski ,S omoguuju poveanje per!ormansi sistema upotrebom vie 0PU,a. ?plika"ije
koje pokreemo ne uoavaju upotrebu vie 0PU pri njihovom izvoenju. 5omunika"ija u
viepro"esorskom sistemu ostvaruje se manipula"ijom podataka izmeu deljenih memorijskih loka"ija
za vie pro"esora$ a jedini uslov koji mora biti zadovoljen je onemoguavanje istovremenog pristupa
jednoj memorijskoj loka"iji dva ili vie 0PU istovremeno. 'o je omogueno primenom sema!ora$
monitora i uslovnih promenljivih.
M$ltira!$narski ,S omoguuju rad potpuno razliitih raunarskih sistema$ pa je i njihova
kompleksnost znatno vea u odnosu na multipro"esorske *%,e. *% za multiraunarske sisteme se
zasniva na slanju poruka <slika Q.B.
%lika Q. ;pta struktura multiraunarskih operativnih sistema
#a prijenos poruka bitna je usklaenost poiljao"a i primao"a pri slanju poruka$ a pri tome je korisna
upotreba bu!!era.
,istri9$irani sistemi sa dijeljenom memorijom zasnivaju svoj rad na dijeljenju globalnog
memorijskog prostora raunarske mree. ?dresni prostor je podeljen na strani"e <veliine 7 5= ili 2
5=B. Prin"ip je da svaki raunar koristi strani"e u svojoj memoriji$ a kada je potrebno izvoditi strani"u
koja nije u lokalnoj memoriji generie se zahtjev za uitavanjem traene strani"e. Prin"ip je slian
klasinom stranienju ali se za virtualnu memoriju ne koristi sekundarna memorija <obino hard diskB$
nego C?M memorija drugih raunara u mrei. %lika 1N. prikazuje prin"ip rada deljene memorije. Pri
radu sa dijeljenjem memorije javljaju se problemi uzrokovani obradom podataka unutar jedne strani"e
koja se izvodi na razliitim pro"esorima. U tom sluaju promena promenljive u jednoj strani"i nije
vidljiva u drugoj strani"i i moe doi do greke <false sharingB to prikazuje slika 11.
2/
%lika 1N. *eljenje memorije aB poetno stanje bB 0PU 1 re!eren"ira strani"u 1N "B stanje nakon
upotrebe replike strani"e 1N
%lika 11. Primer greke pri obradi promenljivih u strani"i koja se izvodi na dva pro"esora.
4stovremene promene nezavisnih promenljivih rezultirali bi gubitkom promena za jedan od pro"esa.
Mreni operativni sistemi se prilagoavaju operativnom sistemu svakog raunara i ne stvaraju sliku
jedinstvenog sistema kao kod *%,a. Mreni operativni sistemi svaki raunar vide posebno i pruaju
mrene servise operativnom sistemu na svakom mrenom raunaru. %lika 1/ prikazuje ulogu mrenih
operativnih sistema u radu distribuiranih aplika"ija.
21
%lika 1/. ;pta struktura mrenih operativnih sistema
5omunika"ija u mrenim operativnim sistemima usmerena je na prenos poruka izmeu klijent
raunara i raunara namenjenih pruanju usluga drugim raunarima <npr. Data serverB. %lika 11.
prikazuje komunika"iju klijent i server raunara u mrenim operativnim sistemima.
%lika 1/. 5omunika"ija klijent,server
Mi##le5are je dodatni sloj so!tvera koji se pozi"ionira izmeu distribuiranih aplika"ija i mrenih
operativnih sistema. MiddleIare je namenjen usklaivanju razliitosti izmeu mrenih operativnih
sistema. %lika 11. prikazuje optu strukturu middleIare sistema. MiddleIare se primenjuje u
distribuiranom datotenom sistemu$ zatim pri izvedbi poziva na udaljenom raunaru <+emote
"rocedure Call = +"CB ili za rad distribuiranih objekata. Usluge middleIare,a su:
1. 5omunika"ijske usluge . maskiranje prenosa podataka niskog nivoa.
/. 4menovanje . omoguavanje pristupa i deljenje resursa.
1. Postojanost podataka.
7. *istribuirane transak"ije . izvoenje vie zasebnih opera"ije koje se moraju kompletno izvesti da bi
se zavrila distribuirana transak"ija.
8. %igurnost.
%lika 11. ;pta struktura midleIare,a
27
'abela 1. prikazuje uporedni prikaz multipro"esorski$ multiraunarskih$ mrenih i middleIare
zasnovanih distribuiranih sistema prema stepenu transparentnosti$ razliitosti ;% za raunare u mrei$
broju kopija ;%$ komunika"ijskoj osnovi$ upravljanju resursima$ proirivosti i otvorenosti..
(abela A. %poredni pri#a5 distribuiranih sistema
1> %OM:NI%A'I(A
5omunika"ije su kljuni element *%,a. ;snovna razlika distribuiranih sistema i lokalnog sistema je
komunika"ija meu pro"esima. #asniva se na primjeni poruka niskog nivoa <bliskom hardveru raunaraB
korienjem postojee mrene strukture. 5omunika"ija dva raunara izvodi se primenom strukture slojeva.
%vaki sloj izvodi set aktivnosti i ini osnovu za primenu vieg sloja. &ii slojevi usmereni su prema
hardveru$ a vii prema aplika"ijama. Primenjujemo sledee modele komuni"iranja:
1. Poziv pro"edure na udaljenom raunaru <+emote "rocedure Call = +"CB
/. Poziv metode na udaljenom raunaru <+emote &ethod !nvocation = +&!B
1. Meusloj usmeren prenosu poruka <&essage*Oriented &iddleware = &O&B
7. Primena toka <StreamB.
1>0> Protokoli slojeva za kom$nikacij$
&ajvaniju$ kljunu ulogu u komunika"iji igraju protokoli. Prema modelu realiza"ije njih moemo podeliti
na protokole zasnovane na slojevima <layersB <;%4 model i ?'MB i klijent,server model protokola.
%lika 1Q. %lojevi ;%4,modela
28
OSI mo#el
Pri komunika"iji dva raunara koristi se vie slojeva za prenos podataka.%lojevi se mogu razli ito de!inisati
u skladu sa njihovim !unk"ionalnostima. ;pte prihvaeni predlog strukture slojeva predloen je od
!nternational Standard Organi5ation <4%;B pa je i predloeni model strukture slojeva nazvan ;%4 model.
;%4 model omoguuje komunika"iju otvorenih sistema <sastavi koji koriste propisane standarde . pravila$
!ormate$ sadraj i znaenje poruka koje se alju i primajuB. Pravila za otvorene sisteme su !ormalizirana u
protokolima. Protokoli mogu biti connection*oriented <potrebna je uspostava veze pre slanja i primanja
podatakaB i connectionless <veza ne mora biti uspostavljena da bi se poruke mogle slati i primati . upotreba
mailbo4*aB. %lika 1Q. prikazuje slojeve u ;%4 modelu. 5oristi se E slojeva. 5ada pro"es jednog raunara
alje poruku drugom raunaru$ sloj aplika"ije generie poruku i prosleuje sloju prezenta"ije$ koji poruku
prosleuje niem nivou. Pri tom svaki sloj dodaje header na poetak poruke. 4zgled poruke pre prenosa
mreom prikazuje slika /N. Primljena poruka se pomou headera poruka moe preneti do pro"esa kojem je
namijenjena.
%lika /N. Primjer poruke sa header,ima
Protokole potrebne za rad ;%4 modela delimo na:
1. protokole niskog nivoa <low*levelB
a. !iziki sloj <physical layerB . sloj za prijenos N i 1 putem !izike veze
b. %loj prenosa podataka <data lin# layerB . grupiranje bitova u vee "eline ili pakete . !rame i provera
ispravnosti prenosa !rame,ova primenom postupka za proveru <chec#sumBL slika /1 prikazuje proveru
podataka.
". Mreni sloj <networ# layerB . izbor putanje za slanje paketa mreomL najee koriteni protokol je 4P
<!nternet "roto#olBL pri brim vezama <A(&B koriste se virtualni kanali koji povezuju vie
komunika"ijskih vorova u jednu "elinu
/. 'ransportne protokole . !unk"ija protokola je deljenje poruke za prenos na manje delove$ dodela brojeva
delovima i njihovo slanjeL najee koriten protokol je '0P <(ransmission Control "roto#olB$ zatim
U*P <%niversal Datagram "roto#ol$ to je proirenje 4P protokolaB$ za real,time prijenos se koristi C'P
<+eal*time (ransport "rotocolB. Primena transportnih protokola esta je u klijent,server interak"iji u
distribuiranim sistemima primenom '0P i U*P protokola$ pri tome komunika"ija moe biti standardna
<normalB ili transak"ijska <slika //.B
1. protokole visokog nivoa <high*levelB
a. protokol sesije . nadogradnja transportnog sloja sa !unk"ijama izvoenja dijaloga sa niim slojem i
sinhroniza"ije uz mogunost de!inisanja kontrolnih taaka za nastavak komunika"ije u sluaju
neuspelog prenosa poruke
b. prezenta"ijski protokol . orijentisan je sadraju poruka pa omoguuje povezivanje podataka poruke sa
!ormatom prenosa poruke <poruke mogu sadrati imena$ adrese$ novane iznose i sl. pa je prikladno
odrediti strukturu poruke kako bi se jednostavnije manipulisalo porukamaB.
". ?plika"ijski protokoli . orijentisani su na radu sa aplika"ijama sa karakteristikama protokola opte
namene. Primeri su D'P <6ile (ransport "rotocolB$ F''P <;yper(e4t (ransfer "rotocolB.
d. MiddleIare protokoli . protokoli sadrani u sloju aplika"ije za izvoenje posebnih usluga <protokoli
za provjeru autentinosti$ protokoli za implementa"iju atominosti . izvoenje vie pro"esa kao jedna
nedjeljiva "elinaB
23
%lika /1. Postupak provere prenosa poruka
%lika //. aB standardni '%P bB 'ransak"ijski '0P
1>1> Poziv proce#$re na $#aljenom ra!$nar$ A RP'
Poziv pro"edure na udaljenom raunaru omoguuje prenos obrade na drugi raunar pokretanjem
odgovarajue pro"edure. #a vreme izvoenja pro"edure na drugom raunaru pro"es koji je ini"irao poziv je
suspendovan i eka rezultat izvoenja pro"edure <slika /1B. 5ada pozvana pro"edura vrati rezultat rada
pro"edure pro"es na lokalnom raunaru nastavlja izvoenje$ pri emu je "eli postupak nevidljiv za
programera.
2E
%lika /1. Prikaz CP0 poziva izmenu klijenta i servera
Primenom CP0 poziva omoguavamo da se pozvana pro"edura na udaljenom raunaru izvede na nain kao
da lokalni pro"es izvodi pro"eduru na lokalnom raunaru. 'o se ostvaruje upotrebom posebnog tipa zapisa
pro"edura <client stubB u stac# deo memorije pro"esa. 5ada udaljeni raunar primi poruku sa pozivom
pro"edure prosljeuje je posebnom zapisu <server stubB u stac# memoriji. 5ada se pro"edura izvede sledi
prenos rezultata klijentu i nastavak izvoenja pro"esa na klijent raunaru. 5ora"i za izvoenje CP0 poziva
su <slika /7.B:
1. klijent pro"es poziva pro"eduru i generie klijent stub$
/. klijent stub generie poruku i prosleuje je lokalnom ;%$
1. klijent ;% alje poruku udaljenom raunaru <serveruB$
7. server ;% prima poruku i prosljeuje je server stubu$
8. server stub raspakuje primljenu poruku$ analizira parametre poruke i genee sistemski poziv na serveru$
3. server izvodi poziv i vraa rezultat server stubu$
E. server stub pakuje poruku i prosleuje je server ;%$
2. server ;% alje poruku klijent raunaru$
Q. klijent ;% poruku prosleuje klijent stubu$
1N. klijent stub raspakuje poruku i prosleuje rezultat klijent pro"esu.
%lika /7. 4zvonenje CP0 poziva
Pri tome je nuno uskladiti !ormate za prenos podataka ukoliko klijent i server koriste drugaiji zapis
podataka <npr. Pentium i %P?C0 arhitekturaB. %lika /8. prikazuje postupak prevoenja poruka u drugaiji
!ormat <korienje drugaijih kodova za karaktere$ !ormate brojeva itd.B. Pri generisanju poruke prema
serveru nuno je poznavanje servisa koji se eli koristiti <razliiti servisi imaju razliite portoveB. 5lijent
moe dobiti potreban port statikim nainom$ kada server svim klijent raunarima poalje oznake portova
<to je nepraktino u sluaju promene oznaka portova jer se poda"i o promeni portova moraju slati svim
22
raunarimaB. *rugi nain je dinamiki: klijent alje serveru upit za oznakom porta za traenu uslugu$ a
zatim dobivenu in!orma"iju ugrauje u poruku prema serveru.
%lika /8. Prevoenje !ormata podataka aB 4ntel bB %P?C0 "B invertirana poruka
Pro7irenje RP' mo#ela
Ukoliko je potrebno koristiti poziv CP0 poziva na jednom raunaru koristi se posebna vrsta pro"edure
ekvivalentna CP0 pozivu a zove se door. Door pro"edura mora biti podrana u ;% raunara. Postupak
izvoenja je identian CP0 pozivu osim komunika"ije putem mree jer se poziv izvodi na istom raunaru.
%lika /3. prikazuje izvedbu door pro"edure. ?sinhroni CP0 poziv omoguuje klijent pro"esu nastavak
izvoenja aktivnosti koje se ne odnose na rezultat CP0 poziva$ pa klijent ne mora biti suspendovan za
vrijeme izvoenja CP0 poziva <slika /E.B. %lika /2. prikazuje izvoenje dva CP0 poziva <deffered
synhronous +"CB
%lika /3. 4zvoenje door pro"edure
2Q
%lika /E. aB standardni CP0 bB asinhroni CP0
%lika /2. 5lijent i server izvode dva asinhrona CP0 poziva
1>2> Poziv meto#e na $#aljenom ra!$nar$ A RMI
Cad se zasniva na primeni distribuiranih objekata koji su opisani poda"ima koje sadre<stateB i opera"ijama
na poda"ima <methodB. Metode su *% dostupne primenom veze inter!ejsa <interfaceB. *istribuirani sistemi
dozvoljavaju smjetaj interface,a na jedan raunar i objekta na drugi raunar <slika /Q.B.
%lika /Q. Primjer organiza"ije objekta na udaljenom raunaru
QN
5lijent poziva udaljeni objekat putem inter!a"e,a <pro4yB$ koji zahtev prosleuje na server gde se
primjenom interface,a <s#eletonB prosleuje objektu. &akon to klijent pristupi objektu on pokree
izvoenje metode na objektu. 5orieni interface,i mogu biti de!inisani u trenutku izrade aplika"ije na
klijentu pa se takav nain upotrebe interface,a zove static invocation. Ukoliko interface nije unapred
poznat koristi se dinamic invocation. U tom sluaju aplika"ija odabire eljenu metodu te se dinamiki
odreuje potreban interface za selektovanu metodu.
1>3> Me$sloj $smeren prenos$ por$ka
Porukama se izbegava ogranienje blokiranja klijent pro"esa pri CP0 ili CM4 pozivu na serveru. Primer
primene poruka je slanje elektronske pote <slika 1N.B. ?plika"ija generie poruku koja se prosleuje putem
lokalne mree prema komunika"iskom serveru <mail serveruB. 5omunika"iski server prosleuje poruku
drugom komunika"iskom serveru koji prihvata poruku i prosleuje aplika"iji korisnika u trenutku kada se
korisnik prikljui na komunika"iski server.
%lika 1N. Prin"ip rada elektronske pote primenom prenosa poruka.
Glektronska pota je primer kontinuirane komunika"ije <persistant communicationB gde se poruka smeta
na serveru sve dok se ne steknu uslovi za njen dalji prenos na drugi server. %lika 11 prikazuje persistant
communication na primeru "ony E4press slube.
%lika 11. Primjer kontinuirane komunika"ije
Q1
&asuprot persistant communication je transient communication gde se poruka zadrava samo za vreme
izvoenja aplika"ije za slanje i primanje poruka. 5omunika"ija porukama moe biti sinhrona i asinhrona.
5od asinhrone komunika"ije poiljala" nastavlja izvoenje nakon slanja poruke$ a kod sinhrone poiljala"
je blokiran sve dok poruka nije smetena u bufffer primao"a ili je primala" nije primio. %lika 1/. prikazuje
3 naina komunika"ije.
%lika 1/. &aini komunika"ije: aB kontinuirana asinhrona bB kontinuirna sinhrona
"B transient asinhrona dB re"eipt,based transient sinhrona eB deliverH,based transient
sinhrona !B response,based transient sinhrona
1>K> Primena toka )stream+
'ok <streamB se koristi u radu sa multimedijalnim dokumentima gde je vrlo vana usklaenost izmeu
sadraja i naina interpreta"ije sadraja. Cazlikujemo kontinuirane i diskretne medije. #a prikaz
kontinuiranih medija vana je brzina prenosa podataka dok za diskretne medije brzina nema kljunu
vanost. #a implementa"iju kontinuiranih medija u distribuiranim sistemima koristi se tok podataka < data
streamB. #a asinhroni transmisijski nain prenoenja poda"i se prenose jedan za drugim i koriste kada je
prijenos zavren <prijenos !otogra!ijaB. #a sinhroni transmisijski nain prenoenja poda"i se prenose jedan
za drugim i moraju se preneti pre odreenog intervala vremena. #a izohrone transmisijske naine
prenoenja poda"i se prenose jedan za drugim ali imaju tano odreen vremenski interval prenosa te se ne
smeju poda"i preneti posle$ ali ni pre dozvoljenog intervala vremena. 'ok moe biti:
1. jednostavan . jedan niz podataka
/. sloen . nekoliko nizova podataka <kombina"ija slike i zvukaB.
Q/
'ok moe biti izveden korienjem dva pro"esa$ a moe biti realiziran i direktno <slika 11.B.
%lika 11. Primjena toka aB pomou dva pro"esa bB direktno
5valitet toka de!inie se spe"i!ika"ijama za prenos podataka sa poda"ima o brzini prenosa$ problemima pri
prenosu itd. Primer poboljanja kvaliteta toka je (o#en buc#et algoritam <slika 17.B. ?plika"ija generie
podatke za tok u nepravilnim vremenskim intervalima$ a !ilter korienjem brojaa vremena ' alje
podatke u tanim vremenskim intervalima.
%lika 17. Primena to#en buc#et algoritma
Postavljanje toka podataka izvodi se primenom +eosurse reSer8ation "rotocol*a <C%+PB kao kontrolnog
protokola smetenog u transportni sloj. C%+P sadri sve podatke potrebne za realiza"iju toka podataka i
preuzima kontrolu nad tokom podataka <slika 18.B.
%lika 18. Primjena C%+P,a u kontroli toka podataka
Q1
#a tok podataka bitna je sinhroniza"ija$ pa je nuno koristiti sinhroniza"ijski mehanizam. #adatak
mehanizma je da prihvati dolazni tok podataka i da vremenski izvri usklaivanje toka podataka koji se
prosleuje prema konkretnom primao"u. 5ontrolni mehanizam moe biti:
1. jednostavan.kontrola prihvata podatke i vri sihroniza"iju pri prosleivanju podataka prima"u <slika 13.B
/. sloena . koristi se poseban program <aplika"ijaB koja je namenjena kontroli toka podataka <slika 1EB.
%lika 13. Primer jednostavnog mehanizma za sinhroniza"iju
%lika 1E. Primer sloenog mehanizma za sinhroniza"iju
2> SINBRONIZA'I(A : ,ISTRI4:IRANIM OPERA'IONIM SISTEMIMA
%inhroniza"ija je kljuna za rad *%,a. Caunarska mrea ukljuuje niz raunara sa vremenski usklaenim
satovima. Uskladivost vremena na svim raunarima ne moe se potpuno postii to stvara probleme pri
izvoenju opera"ija <pro"esaB na razliitim raunarima koji se moraju izvesti tano odreenim redosledom.
Primjer na sli"i 73. prezentira situa"iju pri kompajliranju datoteke. &a jednom raunaru editujemo
datoteku$ a na drugom je kompajliramo. 5ompajler pre kompajliranja proverava vreme zadnje promene
datoteke i ako je to vreme manje od zadnjeg pro"esa kompajliranja ne izvodi postupak kompajliranja.
#adnje vrijeme kompajliranja je /177 na prvom raunaru. Posle tog trenutka na drugom raunaru se
promeni datoteka i zapamti vrijeme /171 <sat na drugom raunaru zaostaje za satom na prvom raunaruB.
5ompajler pri uporeivanju utvruje da je promena datoteke izvedena pre zadnjeg kompajliranja </117
promena$ /177 zadnje kompajliranjeB i nee kompajlirati datoteku. -asno je da se ovakve situa"ije moraju
izbjei.
Q7
%lika 73. 6reka pri kompajliranju datoteke
2>0> Sinhronizacija sata
%inhroniza"ija sata moe se postii:
1. primjenom !izikog sata . koristi se univerzalni sat prema kojem se usklauju svi ostali satovi
/. algoritma za sinhroniza"iju . za raunare koja imaju pristup JJJ,u mogue je usklaivanje sa
re!erentnim satom stalnim praenjem odstupanja lokalnog sataL kada odstupanje pree dozvoljenu
grani"u izvodi se korek"ija lokalnog sata <slika 7E.BL druga mogunost je upotreba time servera za
usklaivanje lokalnih satova <slika 72.BL ukoliko raunari nemaju pristup JJJ,u potrebno je primeniti
er#eley algoritam gde se izraunava srednje vreme svih raunara u lokalnoj mrei i putem time deamon
pro"esa usklauju svi lokalni satovi sa srednjim izraunatim vremenom <slika 7Q.B
%lika 7E. Usklanivanje sa re!erentnim satom
%lika 72. Usklanivanje time serverom
%lika 7Q. =erkeleH algoritam
Q8
#a pojedine pro"ese vrlo je bitno odreivanje sleda aktivnosti izvoenje to je izvodivo ukoliko su satovi
meusobno usklaeni. #a pro"ese kod kojih je nuno da se jedan pro"es dogodio pre drugog de!inie se
rela"ija happend before. *va pro"esa su u rela"iji happend before ako je:
1. a se dogodio pre b: 0<aB ` 0<bB
/. a i b oznaavaju slanje i primanje poruke: 0<aB ` 0<bB
1. za sve a i b ako je 0<aB 0<bB.
%lika 8N. prikazuje usklaivanje vremenskih satova kako bi se mogla implementirati rela"ija happend
before. aB prikaz lokalnih satova bB prikaz usklaenih satova
Pri usklaivanju replika servera mogu se javiti sledei problemi. 5orisnik u &iu ulae 1NN dinara na raun
koji je trenutno na "entralnom serveru u =eogradu i kopiji servera u &iu iznosi 1NNN dinara. 4stovremeno
slubenik banke u =eogradu aktivira program za obraun kamata na iznos korisnika. 5ako e oba zahtjeva
biti proslijeena na oba servera doi e do izrauna trenutnog iznosa od 111N dinara u =eogradu i 1111 u
&iu<slika 81.B. ;va situa"ija izbegava se blokiranjem promena na poda"ima ija je izmjena u toku sve dok
se ne dobije potvrda o zavrenim izmenama na svim serverima replikama.
%lika 81. Primjer greke pri radu sa replikama podataka.
2>1> Al.oritmi za iz9or
U *%,u je esto potrebno selektirati pro"es koordinator to se realizira upotrebom odgovarajueg algoritma
za izbor. ?lgoritmi za izbor su:
1. ully algoritam
/. +ing algoritam.
ully algoritam radi na sledeem prin"ipu: pro"esima se dodeljuju brojevi ovisno o vremenu nastanka
<najstariji pro"es ima najvei brojBL pri izboru pro"es P alje poruku ELEC(!O' svim drugim pro"esima sa
Q3
upitom za vrednost dodeljenog brojaL ako niti jedna poruka nema vei broj od broja koji ima P pro"es P je
izabranL ako se pojavi poruka sa veim brojem pro"es koji je poslao poruku je izabran <slika 8/B.
+ing algoritam koristi krug za odabir pro"esa. 5ada koordinator nije aktivan pokree se ELEC(!O' poruka
koja sadri broj pro"esa. ?ko susedni pro"es nije aktivan poruka se prosleuje sledeem pro"esu u krugu.
Pri svakom prijemu poruke pro"es poveava svoj broj pa e tako pro"es sa najveim brojem biti izabran.
5ada poruka stigne ponovo do pro"esa koji ima najvei broj on se proglaava koordinatorom i alje
ostalima poruku o tome i pro"esima ukljuenim u krug <slika 81.B
%lika 8/. =ullH algoritam aB pro"es 7 zapoinje odabir bB pro"es 8 i 3 odgovaraju "B pro"es 8 i 3 zapoinju
odabir dB pro"es 8 i 3 zaustavljaju odabir eB pro"es 3 je odabran i in!ormira ostale
%lika 81. Cing algoritam
QE
2>2> M$t$al EHcl$ison
U *%,u je nuno implementirati mutual e4cluison kako bi se izbegle greke u radu sa deljivim resursima .
4mplementa"ija mora ukljuiti sve resurse svih raunara ukljuenih u *%.4mplementa"ija mutual
e>"lusiona ostvaruje se:
1. 0entraliziranim pristupom , 0entraliziran pristup znai upotrebu koordinatora sa pravima dodele dozvole
ulaska u kritinu sek"iju na deljivom resursu. %vi pro"esi koordinatoru alju zahtjeve <re,uestB za
ulaskom u kritinu sek"iju. ?ko je resurs slobodan koordinator dozvoljava slanje poruke potvrde ulaska
<replyB u kritinu sek"iju i pro"es zapoinje kritinu sek"iju. Ukoliko neki drugi pro"es zatrai ulazak u
kritinu sek"iju na istom djeljivom resursu koordinator mu nee vratiti poruku potvrde za ulazak u
kritinu sek"iju sve dok prvi pro"es ne zavri kritinu sek"iju i vrati poruku zavretka kritine sek"ije
koordinatoru <releaseB. %lika 87. prikazuje "entraliziranu izvedbu mutual e>"lusiona. Problem nastaje kad
koordinator nije u !unk"ionalnom stanju$ ali u tom sluaju njegovu !unk"iju preuzima rezervni
koordinator.
%lika 87. 0entralizirani pristup
aB slanje upita i dozvola ulaska u kritinu sek"iju bB upit odbijen "B upit prihvaen
/. *e"entraliziranim pristupom , *e"entralizirani pristup znai da nema koordinatora ve pro"esi
meusobno dogovaraju dozvole ulaska u kritine sek"ije. ?ko jedan pro"es eli ui u kritinu sek"iju
alje svim ostalim pro"esima poruku koja sadri naziv kritine sek"ije$ broj pro"esa i trenutno vreme.
?ko svi pro"esi vrate poruku potvrde <O9B pro"es ulazi u kritinu sek"iju. ?ko bi neki drugi pro"es
poslao nakon toga zahtev za ulaskom u kritinu sek"iju dobio bi odgovor od svih pro"esa osim od
pro"esa koji je u kritinoj sek"iji. ;dgovor od pro"esa koji je u kritinoj sek"iji uslediti e kada pro"es
zavri kritinu sek"iju. Problem se moe pojaviti ako dva pro"esa istovremeno poalju zahtjev za
ulaskom u kritinu sek"iju$ a rjeava se usporeivanjem vremenskih oznaka dogaaja slanja poruke za
ulazak u kritinu sek"iju <time stampsB pa se na taj nain odreuje koji pro"es prvi ulazi u kritinu
sek"iju. Problem nastaje ako jedan pro"es nije !unk"ionalan jer tada niti jedan drugi pro"es ne moe
dobiti poruku potvrde za ulazak u kritinu sek"iju pa je nuno detektovati takve pro"ese i iskljuiti iz
komunika"ije pri dodeli dozvola za ulazak u kritinu sek"iju. %lika 88. prikazuje rad "entraliziranog
pristupa pri izvedbi mutual e>"lusion,a.
%lika 88. 0entralizirani pristup aB slanje zahtjeva bB dobivanje odgovora "B ulazak u kritinu sek"iju
Q2
1. 5oritenjem to#en,a. , Primena to#en,a znai upotreba poruke to#en za svaki deljivi resurs koja putuje
sistemom od pro"esa do pro"esa. Pro"es koji eli ui u kritinu sek"iju zadrati e to#en kod sebe sve
dok ne zavri kritinu sek"iju i tako osigurati izvoenje mutual e>"lusion,a. Problem nastaje ako se
poruka to#en izgubi pa je potrebno proveravati da li je poruka u sistemu i ako nije nuno je generisati
novu poruku. %lika 83. prikazuje primjenu token,a na neorganiziranu grupu pro"esa koja se so!tverski
povezuje u krunu strukturu.
%lika 83. Primjena to#en,a aB neorganizirana struktura bB logiki krug konstruiran u so!tveru
'abli"a 7. prikazuje uporedni pregled naina za implementa"iju mutaul e">lusiona. 'abli"a sadri podatke
o broju potrebnih poruka$ ekanju na ulazak u kritinu sek"iju izraenom putem broja poruka za primanje i
problemima svake tehnike.
(abela B. uporeCivanje tehni#a 5a mutual e4clusion
2>3> Atomi!nost
?tominost se odnosi na transak"ije odnosno skup ak"ija koje se moraju izvesti kompletno kako bi se
transak"ija mogla zakljuiti. Ukoliko barem jedna ak"ija nije kompletirana$ "ela transak"ija se ponitava i
vraa na poetak. ;snovne opera"ije za izvoenje atominih ak"ija su: =G64&['C?&%?0'4;&$
G&*['C?&%?0'4;&$ ?=;C'['C?&%?0'4;&$ CG?*['C?&%?0'4;&$ JC4'G['C?&%?0'4;&
%lika 8E. prikazuje izvoenje transka"ije pri rezreva"iji karata na rela"iji Jashington, &eI
aork . &airobi . Malindi.
%lika 8E. Prikaz transak"ija za rezerva"iju karata
%vojstva transak"ija , ?04*:
1. ?tominost . ak"ije se izvode kao "jelina
QQ
/. 5onzistentnost . ukupno stanje vrednosti promenljivih sistema pre i posle transak"ije je konzistentno
<nepromijenjenoB
1. 4zoliranost . ak"ije se mogu izvoditi paralelno ali to ne utie na rezultat izvoenja
7. 'rajnost . jednom zavrena transka"ija ima trajan uinak na rezultate transak"ije <nije mogue povratak
promenjenih vrednosti u transak"ijiB
%lika 82. Primjer transak"ija i upravljanja transak"ijama
Upravljanje transak"ijama mora biti izvedeno na nain koji osigurava korektnu obradu na poda"ima. %lika
82.aB i 82.bB daju korektan rezultat dok 82."Bgenerie greku. Ugnedene transak"ije su transak"ije nieg
hijerarhijskog nivoa$ a generiu se stvaranjem "hild pro"esa koji izvode aktivnosti nad poda"ima parent
pro"esa. 4mplementa"ija transak"ija je izvediva primenom:
Privatni radni prostor . blokovi podataka koji se menjaju u transak"iji se kopiraju u slobodne blokove i
na njima se izvodi obradaL ukoliko se transak"ija vrati na poetak$ privremeni blokovi se briu$ a za
kompletiranu transak"iju privremeni blokovi postaju korektni blokovi dok se prethodni blokovi
proglaavaju nevaeim <slika 8Q.B
0riteahead log ili intention liste . liste sadre popis promijenjenih vrednosti koje se koriste za
obnavljanje poetnih vrednosti u sluaju ponitenja transka"ije <slika 3NB.
%lika 8Q. Privatni radni prostor
%lika 3N. Primer upotrebe Jhiteahead loga
1NN
0K !as LLL i LE4 aplikacije
LE4 AP;I%A'I(E
Pod pojmom Ieb aplika"ije podrazumjeva se irok skup programskih reenja koje kao korisniki
interface <metod slanja zahtjeva i dobijanja rezultataB koriste neki web browser. %ve Ieb aplika"ije
!unk"ioniu po prin"ipu klijent . server. %erver predstavlja raunar na kojem je aplika"ija smetena i
koji u zavisnosti od zahtjeva korisniku isporuuje <serviraB rezultat u zavisnosti od tipa i !unk"ije
aplika"ije. 5lijet moe biti bilo koji Ieb broIser ili neki spe"ijalno napravljeni klient program$ koji
opet mora kontaktirati server da bi korisnik dobio rezultate na osnovu svojih zahteva. &ajelementarniji
oblik Ieb aplika"ije jeste najobinija 4nternet prezenta"ija. Upravo zbog ove injeni"e$ a i s obzirom
da najvei broj ljudi koji se koriste 4nternet,om$ pojam Ieb aplika"ije poistoveuju sa Ieb
prezenta"ijama$ Ieb aplika"ije su obino predmet skepti"izma i pot"enjivanja kada su u pitanju
mogunosti realiza"ije nekih kompleksnih problema ili kreiranja nekog ozbiljnijeg so!tIare,a.
5ompletan so!tIare,ski dio Ieb aplika"ije smjeten je na serveru$ i samim tim je dostupan na
korienje veem broju ljudi istovremeno. U isto vrijeme je siguran od krae$ prepravljanja i uopte
bilo kakvog uti"aja na kod u onolikoj mjeri u kojoj je i sam server siguran od neovlaenih upada.
#nai$ nema nikakve potrebe za komplikovanim instala"ijama$ podeavanjima$ voenja rauna o
kompatibilnosti. %ve se to zavrava na strani servera.
Server http ili https protokol %orisnik
4nternet
Jeb
?plika"ija http ili https protokol %orisnik
5orisniku nije potreban nikakav spe"ijalni software za pristup aplika"iji$ nije ogranien da je mora
koristiti iskljuivo sa jednog raunara$ a sama brzina komunika"ije sa aplika"ijom zavisi od brzine
kojom korisnik moe da pristupi serveru. 5lient alika"ija je Ieb broIser <M% 4nternet G>plorer$
Mozilla$ ;peraB i obino je ukljuena u okviru operativnog sistema instaliranog na korisnikom
raunaru$ ili dolazi kao sastavni deo nekog od klient so!tIare,skih paketa kao to je na primjer M%
;!!i"e. Upravo zbog ovih karakteristika Ieb aplika"ije$ koristei 4nternet kao globalnu mreu$ sve vie
se koriste za reavanje vrlo ozbiljnih korisnikih zahteva. ;n line kupovina$ elektronsko bankarstvo$
in!orma"ioni sistemi u okviru !irmi$ turistike aplika"ije i mnogi drugi sloeni sistemi bazirani su
upravo na Ieb aplika"ijama.
*anas$ kada Ieb predstavlja sve dominantniji medij za kolabora"iju i integra"iju razliitih poslovnih
so!tvera unutar lan"a snabdevanja$ elektronskog trita$ ali i ljudi$ unutar odreene interesne zajedni"e$
od sutinske je vanosti da razvoj tehnologija koji e to omoguiti na e!ikasan nain$ izlazi u susret
narastajuim potrebama trita u ovom segmentu. ;snovne tehnologije za izradu Ieb aplika"ija su
F'MP jezik za izradu statikih strana i %erver, %ide %"ripting jezi"i za generisanje F'MP koda$
odnosno$ izradu dinamikih strana. Preuzimanje i prikaz statikih Ieb strane predstavlja jednu
realiza"iju klijent . server arhitekture$ iji su akteri internet pretraiva$ kao klijent i Ieb server$ kao
server$ u ovoj arhitekturi. Jeb server predstavlja so!tver$ koji se instalira na odrenenom$ dostupnom
serverskom raunaru i koji upravlja zahtevima za pristup odrenenoj Ieb strani"i$ tako to postupa po
zahtevu klijenta$ isporuujui sadraj neke Ieb strane. Jeb server i pretraiva komuni"iraju
razmenom poruka putem F''P <FHper 'e>t 'rans!er Proto"olB protokola$ koje mogu biti u vidu
zahteva <koji ini odgovarajue F''P zaglavlje , headerB i odgovora$ koji ini odgovarajue F''P
zaglavlje 4 sadraj samog odgovora$ odnosno F'MP kod koji se interpretira od strane internet
pretraivaa i prikazuje na njegovoj radnoj povrini.
'ok ove komunika"ije je prikazan na sli"i 1/.
Slika 01> Tok kom$nikacije $ prikaz$ stati!kih 5e9 strana
;snovna tehnologija za izradu Ieb strana danas predstavlja F'MP jezik. ;n se koristi za de!inisanje
sadraja ili elemenata interak"ije <linkovi ili !ormeB jedne Ieb strane$ tako to de!inie komande
1N1
<odnosno$ tagoveB$ koje internet pretraivai$ kao to su 4nternet G>plorer ili Dire!o>$ mogu da
interpretiraju na pravilan nain i$ prema toj interpreta"iji$ korisniku jednog Ieb sajta prikau njegov
sadraj. F'MP je nastao uproavanjem %6MP <%tandard 6eneralized Markup Panguage$
standardizovani uopteni jezik za oznaavanjeB standarda sa svrhom opisa dokumenta koji se
objavljuju na Iebu. U poetku je bio prilino ogranien to se oznaavanja sadraja tie i pruao je
uglavnom elementarne mogunosti za oznaavanje i !ormatiranje teksta <paragra!i$ naslovi$ "itati itd.B.
5ako je Ieb rastao$ tako je rasla i potreba za bogatijim sadrajem te je u tom smeru razvijan i F'MP
standard. 'ada su standardu dodate elementi za opis tabela$ slika$ slojeva$ napredno !ormatiranje teksta
itd. F'MP dokumenti se sastoje iz dva osnovna dela: dela koji opisuje dokument i dela koji
predstavlja sadraj dokumenta. 4n!orma"ije koje opisuju sam dokument se smetaju u head tag$ dok se
sam sadraj smeta u bodH tag. ;ba ova elementa se nalaze unutar html taga.
Slika 02> Primer osnovne str$kt$re BTM; #ok$menta
F'MP dokumente$ odnosno statike Ieb strane ini isti F'MP kod$ i one predstavljaju datoteke sa
ekstenzijom htm ili html$ koje se kodiraju i smetaju na odgovarajue mesto na Ieb serveru. ;snovni
problem primene statikih Ieb strana u sloenijim Ieb aplika"ijama je to to je njihov sadraj i
!unk"ionalnost unapred odrenen. %amim tim$ statike Ieb strane se ne mogu koristiti za kreiranje
interaktivnih i aurnih Ieb aplika"ija$ kod kojih prikazani sadraj u svakom trenutku zavisi od
trenutnih okolnosti. &a primer$ kod Ieb aplika"ija za komunika"iju izmenu ljudi$ kao to su Ieb
!orumi$ sadraj jedne strane koja prikazuje diskusiju o odrenenoj temi se stalno menja . svaki put kada
neki korisnik te aplika"ije da doprinos diskusiji. *alje$ Ieb prikaz kataloga proizvoda se$ takone$
kontinuirano menja . svaki put kada se promeni dostupnost nekog proizvoda na lageru$ doda novi
proizvod ili modi!ikuju atributi postojeeg . "ena ili drugi atributi.
;igledno$ postoji potreba za kreiranjem novog sloja u komunika"iji pretraivaa i Ieb servera$ koji
treba da programski obradi zahtev i parametre zahteva i$ prema njihovom sadraju$ automatski
generie odgovarajuu Ieb stranu ili obradi zahtev i skladiti njegove parametre na odgovarajui nain
<uobiajeno$ u neku rela"ionu bazu podatakaB. 'o se radi primenom tzv. dinamikih Ieb strana . skupa
instruk"ija koje se po prijemu zahteva izvravaju i automatski kreiraju F'MP kod$ koji se$ u okviru
F''P odgovora isporuuje pretraivau. &a sli"i dole$ prikazana je ema toka komunika"ije izmenu
pretraivaa i Ieb servera u prikazu dinamikih Ieb strana.
Slika 03> Tok kom$nikacije $ prikaz$ #inami!kih 5e9 strana
#a kreiranje instruk"ija ija je namena automatsko generisanje F'MP koda$ na osnovu parametara
zahteva$ koriste se razliiti programski jezi"i i njihove varijante$ kao to su PFP$ -%P <-avaB$ ?%P
1N/
<+isual =asi"B$ itd. ;ve instruk"ije nazivamo skriptovima na strane servera <%erver, %ide %"riptsB$ zato
to se izvravaju na Ieb serverima.
Slika 0K> O9ra#a skripta na server$
;vi skriptovi uobiajeno ostvaruju vezu sa odgovarajuom bazom podataka u koju se smetaju
obraneni poda"i i zahtevi i koja se$ po odgovarajuem zahtevu i interpretira$ sa "iljem prikaza
odrenenih podataka. Pored navedenih$ druge prednosti korienja tehnologija na strani servera za
kreiranje dinamikih Ieb strana su:
= ;va tehnologija omoguava da se neki program izvrava u programskim jezi"ima koje Ieb
pretraivai ne podravaju.
= ;na daje mogunost da se programiraju dinamike Jeb aplika"ije nezavisno od itaa$ bez
pribegavanja programiranju na strani klijenta$ pomou -ava apleta$ *F'MP,a i ?"tiveA kontrola$ od
kojih svaki zahteva odreneni internet pretraiva$ odnosno njegove konkretne karakteristike.
= ;na moe klijentu <pretraivauB da dostavi podatke koji su mu inae nedostupni.
= Oesto ostvaruje bre vreme uitavanja.
= ;bezbenuje poboljane mere bezbednosti.
4pak$ vano je napomenuti da korienje dinamikih Ieb strana poveava optereenje Ieb servera$
naroito ukoliko njima pristupa vei broj korisnika. 4z ovog razloga$ uobiajeno je potrebna vea
ini"ijalna investi"ija u hardver Ieb servera$ koji se koriste za generisanje dinamikih Ieb strana. -ezik
koji se najee koristi za kreiranje dinamikih Ieb strana je PFP. PFP je stekao popularnost zbog
svoje jednostavnosti i sintakse naslenene iz programskog jezika 0. 'okom vremena jezik se proirivao
i sti"ao mogunosti za objektno orijentisano programiranje$ naroito od verzije 8.N. &alikuje jeziku 0Y
Y u smislu da dozvoljava i isto,pro"eduralno programiranje$ ali omoguava i korienje klasa i drugih
kon"epata objektno orijentisanog programiranja <naslenivanje$ apstraktne metode$ inter!ejsi itd.B.
0>0 Mta s$ to Le9 servisiN
Jeb servis je vrsta distribuirane aplika"ije sa inter!ejsom kome se moe pristupiti preko
komunika"ione mree kao to je 4nternet. 'ipina arhitektura u kojoj se koriste Jeb servisi je klijent,
server arhitektura. %amo ime Jeb servis nagovetava da se radi o aplika"iji koja se koristi putem
interneta$ najee preko F''P <FHper 'e>t 'rans!er Proto"olB protokola. Jeb servisi predstavljaju
gradivne blokove savremenih i buduih in!orma"ionih sistema. Poto je re o distribuiranim
aplika"ijama na internetu$ Jeb servisi se adresiraju tj. pristupa im se preko UCP adresa. ;snovna
karakteristika Jeb servisa je interoperabilnost. Pojam interoperabilnost odnosi se na mogunost da
aplika"ije pisane u razliitim programskim jezi"ima i razvijene na razliitim plat!ormama mogu da
komuni"iraju. 5od Jeb servisa potuju se tano de!inisana pravila kako bi bila omoguena
komunika"ija razliitih tehnologija.
0>1 Oso9ine Le9 servisa
Postoji nekoliko razloga koji su uslovili pojavu i razvoj Jeb servisa:
1. Interopera9ilnost <!nteroperabilityB je potreba za komunika"ijom aplika"ija razvijenih u razliitim
tehnologijama$ u razliitim programskim jezi"ima i na razliitim plat!ormama. Jeb servisi
omoguavaju ovakvu komunika"iju.
/. SOA <Service Oriented ArchitectureB je pristup u razvoju so!tvera koji podrazumeva razdvajanje
!unk"ija u odvojene servise$ dostupne preko komunika"ione mree. Cazdvojeni servisi olakavaju
1N1
kombinovanje i korienje ve implementiranih !unk"ionalnosti bez potrebe njihovog ponovnog
razvoja.
1. Skala9ilnost <ScalabilityB predstavlja potrebu da se postojei skupovi !unk"ionalnosti menjaju
<poveavaju ili smanjujuB uz minimalne trokove i najmanji mogui negativan uti"aj na rad
sistema.
Gvo nekoliko primera korienja Jeb servisa: pregled kursnih lista$ vremenska prognoza$ kreditni
biro$ valida"ije kreditnih karti"a prilikom online plaanja i td.
0>2 Plat"orme za razvoj Le9 servisa
=rzina razvoja interneta i tehnologija koje se koriste na internetu dovela je do nastanka mnogih
tehnologija za razvoj Jeb servisa koji su istom tom brzinom i nestale. %a dananje take gledita
postoje dve plat!orme za razvoj Jeb servisa$ Mi"roso!t.&G' i %un -/GG$ i bez obzira na odabranu
plat!ormu$ Jeb servisi mogu sa lakoom da pozivaju jedni druge.
0>3 Po#ela Le9 servisa
Jeb servisi se grubo mogu podeliti u dve grupe: SOAP i REST Jeb servisi. Cazlika izmeu ova dva
tipa nije otra. %;?P Jeb servis kome se pristupa preko F''P protokola je spe"ijalan sluaj CG%'
Jeb servisa. %;?P predstavlja skraeni"u od Simple Object Access "rotocol <protokol za jednostavan
pristup objektimaB. ;vu skraeni"u ne treba meati sa skraeni"om %;? <Service Oriented
ArchitectureB . arhitektura orijentisana servisima. Jeb servisi igraju "entralnu ulogu u %;? pristupu
razvoja so!tvera. %;?P poruka je AMP dokument de!inisan AMP emom. 5od %;?P Jeb servisa$
%;?P poruke nisu predmet interesa programera koji kreira Jeb servis ili pie klijentski kod za
korienje Jeb servisa. %;?P poruke omoguavaju komunika"iju klijentske aplika"ije koja
konzumira Jeb servis i samog Jeb servisa. &a primer$ u tipinom s"enariju nazvanom \razmena
poruka ini"irana zahtevom od klijenta9 <reWuest(response message e>"hange patternB$ %;?P bibliteka
na strani klijenta alje %;?P poruku kao Jeb servis zahtev$ a %;?P bibliteka na strani Jeb servisa
alje drugu %;?P poruku kao odgovarajui odgovor klijentu <slika broj 1B.
5lijent %;?P Jeb servis
#ahtev
%;?P biblioteke %;?P biblioteke
;dgovor
%lika 1. 5omunika"ija kod %;?P Jeb servisa
4me CG%' dolazi od +epresentational State (ransfer. *ok je %;?P stil Jeb servisa de!inisan
standardima od strane tela koja se bave standardiza"ijom Jeb,a kao to je J10 <Jorld Jeb
0onsortiumB konzor"ijum$ za CG%' Jeb servise nisu de!inisani standardi$ biblioteke$ niti alati za
razvoj. Uvoenje CG%' Jeb servisa u upotrebu predstavlja pokuaj da se prevazie sloenost %;?P
Jeb servisa. 5lijent Jeb servisa moe biti napisan u bilo kom programskom jeziku koji ima
odgovarajue biblioteke za podrku Jeb servisima. &ajvea dobrobit koja se dobija od Jeb servisa je
nezavisnost od programskog jezika ili tzv. jezika transparentnost. 5lijent i Jeb servis ne moraju da
budu napisani u istom programskom jeziku. &a primer$ klijent -ava Jeb servisa moe da bude napisan
u nekom od programskih jezika kao to su 0h$ Perl$ CubH i td. 4sto tako$ -ava klijenti mogu
konzumirati Jeb servise napisane u drugim programskim jezi"ima. Magija u transparentnosti
programskog jezika ne postoji. ?ko %;?P Jeb servis napisan u -avi moe da ima klijenta razvijenog
u programskim jezi"ima kao to su Perl i CubH$ onda mora da postoji neto to premoava razlike
izmeu tipova podataka programskog jezika na strani klijenta i na strani Jeb servisa. AMP
tehnologija$ koja podrava razmenu struktuiranih podataka i njihovo skladitenje$ predstavlja tu
neophodnu spregu.
&ekoliko bitnih osobina izdvaja Jeb servise od drugih distribuiranih so!tverskih sistema:
%ori7Oenje postojeOe in"rastr$kt$re. Jeb servisi u osnovi koriste standarde koji su nezavisni od
proizvoaa. 'i standardi su F''P i AMP koji su sveobuhvatni i razumljivi. F''P omoguava
1N7
transport poruka a AMP omoguava struktuiranje podataka. Jeb servisi ne zahtevaju nove sisteme ve
se oslanjaju na postojee komunika"ione mree <internetB$ standarde za !ormatiranje podataka$
bezbednost i in!rastrukturu koja ve postoji ime se sniavaju trokovi i pospeuje interoperabilnost.
Transparentnost $ o#nos$ na pro.ramski jezik. Jeb servisi i njihovi klijenti mogu da komuni"iraju
ak i kada su napisani u razliitim programskim jezi"ima. Programski jezi"i kao to su 0(0YY$ 0h$
-ava$ Perl$ PHthon i drugi obezbeuju biblioteke i okvire <!rameIorkB za podrku Jeb servisima.
Mo#$larna arhitekt$ra. Jeb servisi su sami po sebi moduli koji se mogu koristiti pri razvoju
aplika"ija. 4ntegra"ijom postojeih Jeb servisa mogu se dobiti novi Jeb servisi <na primer$
povezivanje servisa koji prati koliinu robe u skladitu i servisa za online kupovinu te robe$ moe
voditi stvaranju servisa koji automatski naruuje robu od dobavljaa u zavisnosti od koliine robe u
skladituB.
0>K %orist o# Le9 servisa
*anas postoje brojni so!tverski sistemi koji su razvijeni u razliitim programskim jezi"ima i rade na
razliitim plat!ormama. U malom broju sluajeva pomenuti sistemi rade u potpunoj izola"iji. 'ipini
so!tverski sistem mora da komuni"ira sa drugim sistemima koji su implementirani u drugim
tehnologijama. Malo kompanija$ koje su vlasni"i ovakvih sistema$ ima !inansijska sredstva i ljudske
resurse da zastarele sisteme realizuje u novim tehnologijama. #ato se javlja potreba za komunika"ijom
sistema koji su razliiti u pogledu implementa"ionih tehnlogija i plat!ormi na kojima rade. 'akva
komunika"ija naziva se interopera9ilnost. Jeb servisi uspeno reavaju ovaj problem jer za
komunika"iju koriste F''P i AMP protokol.
:vo# $ 5e9 servise
Jeb servisi predstavljaju novu primenu standardnih so!tverskih tehnologija koja omoguava
povezivanje raznorodnih in!orma"ionih sistema na novi nain$ korienjem internet protokola$ i to
unutar jednog integrisanog ili vie poslovnih pro"esa. ;snovni motiv razvoja i korienja tehnologije
Ieb servisa predstavlja mogunost integra"ije raznovrsnih in!orma"ionih sistema instaliranih u
distribuiranim okruenjima. ;ni predstavljaju skup aplika"ionih !unk"ija koje se mogu programski
pozivati putem interneta. -edan Ieb servis je bilo koji skup metoda za obradu i isporuku in!orma"ija$
dostupan posredstvom F''P i %M'P protokola$ a koji nije vezan za odrenenu operativnu plat!ormu ili
programski jezik i koji koristi AMP nota"iju za razmenu poruka. Jeb servisi predstavljaju tehniku
evolu"iju kon"epta servisno orijentisane arhitekture. U arhitekturi okruenja koje karakteriu Ieb
servisi$ jedna mrena komponenta moe imati ulogu provajdera servisa$ korisnika ili klijenta servisa$ i
brokera servisa.
Slika 0P> :lo.e i interakcije $ arhitekt$ri 5e9 servisa
Provajder servisa je odgovoran za kreiranje i aktiviranje Ieb servisa u njegovoj nadlenosti$ kao i
objavljivanje dostupnosti servisa$ opisanog putem J%*P standarda u registar servisa$ kao to je U**4
poslovni registar. Uloga brokera servisa je registra"ija i kategoriza"ija objavljenih servisa i
obezbenenje !unk"ija za njihovo pretraivanje. U arhitekturi Ieb servisa$ U**4 ima ulogu registra
servisa opisanih putem korienjem J%*P standarda. ;snovna karakteristika internet standarda je da
su njihov !okus protokoli$ a ne njihove implementa"ije. % obzirom na to da internet ini niz
heterogenih tehnologija$ ovaj nivo generinosti garantuje !unk"ionisanje u nehomogenom okruenju i
visoku interoperabilnost. Mogunosti integra"ije jedinstvenog in!orma"ionog sistema$ odnosno
prevazilaenja nekompatibilnosti njegovih komponenti se ostvaruju primenom skupa so!tverskih
standarda kao to su AMP$ %;?P <%imple ;bje"t ?""ess Proto"olB$ U**4 <Universal *es"ription
*is"overH and 4ntegrationB$ J%*P <Jeb %ervi"es *es"ription PanguageB$ J%4P <Jeb %ervi"es
4nspe"tion PanguageB$ J%,% <Jeb %ervi"es %e"uritHB i J%,4 <Jeb %ervi"es interoperabilitHB. ;vi
standardi omoguuju de!inisanje$ pakovanje$ pristupanje i izvravanje podataka i programa preko
4nterneta$ bez potrebe za vonenjem rauna o pojedinanim implementiranim tehnologijama.
Slika 0Q> Relacije izmen$ SOAPG :,,IG LS,; i LSI; protokola
Provajder servisa obezbenuje njegovu dostupnost uz pomo svoje tehnike in!rastrukture$ koja
podrava %;?P(F''P ili %;?P(-M% <-ava Messaging %ervi"esB komunika"iju. Jeb servis je opisan
1N8
u J%*P dokumentu koji se skladiti na serveru provajdera u posebnom repozitorijumu. Ce!eren"e na
Ieb servis$ odnosno poda"i koji ukazuju na J%*P dokument$ mogu da postoje u U**4 registru ili
J%4P dokumentima. J%*P predstavlja otvorenu spe"i!ika"iju$ zasnovanu na AMP standardu koja
opisuje inter!ejse ka Ieb servisima na mrei i njihove instan"e. J%*P sintaksom se opisuju sve vrste
aktivnosti koje moe da izvri neki Ieb servis. ;na omoguava da se vorovi servisno orijentisane
arhitekture opiu$ bez obzira na !ormate poruka koje razmenjuju ili mrene protokole koje koriste za
razmenu. *ostupnost J%*P dokumenata se obezbenuje kroz U**4 ili J%4P$ ili javnim
objavljivanjem njihovog UCP,a nekim drugim konven"ionalnim sredstvom. Primenom njegove
sintakse$ mogu se de!inisati sledee karakteristike Ieb servisa:
= &aziv Ieb servisa i in!orma"ije o njegovom adresiranju
= Protokol i en"oding stil koji e se koristiti prilikom pristupanja javnim opera"ijama Ieb servisa
= %trukturne in!orma"ije . meta poda"i servisa$ kao to su opera"ije$ parametri i tipovi podataka koji
ine inter!ejs Ieb servisa.
-edan J%*P dokument de!inie servise kao skup mrenih zavretaka <netIork endpointsB ili portova.
J%*P omoguava apstraktnu de!ini"iju opera"ija i poruka i njihovo re!eren"iranje , vezivanje
<bindingB za tano odreneni mreni protokol i !ormat poruke. Pritom$ de!ini"ija opera"ija i poruka je
nezavisna od parametara njihovog vezivanja$ odnosno korienih protokola i !ormata poruka.
Parametri vezivanja predstavljaju ugovor izmenu logike klijenta i logike servera servisa . posrednika
izmenu meta opisa Ieb servisa i njegove konkretne realiza"ije. U tradi"ionalnom distribuiranom
programiranju$ realiza"ija poslovne logike$ odnosno$ logike na serverskoj strani$ obuhvata veoma esto
statiko vezivanje <stati" bindingB , generisanje pro>H objekata koji su namenjeni klijentima$ za
ostvarivanje njihove komunika"ije sa serverom$ primenom predvinenih protokola$ od kojih jedan moe
da bude i %;?P. 4pak$ jedan od osnovnih "iljeva servisno orijentisane arhitekture je dinaminost Ieb
servisa . oni mogu biti predmet izmene$ bez ikakve prethodne najave$ ili ak . ponovne distribu"ije
klijentskih pro>H,ja. Cazlog za to je$ izmenu ostalog i injeni"a da su njihovi vlasni"i veoma esto .
tree strane$ a sadraj usluga de!inisanih Ieb servisom . unapred nepoznat. ;igledno$ navedeni
prin"ip obezbenuje karakteristiku proirivosti Ieb servisa$ ali i viestrukog korienja de!inisanih
!ormata poruka. *emonstra"ija ovog prin"ipa uz pomo elemenata strukture J%*P i njihov odnos je
prikazana na sli"i dole.
Slika 1R> Elementi str$kt$re LS,;
#a de!inisanje mrenih servisa$ J%*P koristi sledee elemente sintakse:
= 'ipovi <'HpesB. 5ontejneri za de!ini"ije tipova podataka$ de!inisanih uz pomo AMP sintakse$
odnosno odgovarajue A%* strukture. AMP i A%* de!ini"ije tipova se koriste u "ilju ostvarivanja
maksimalne neutralnosti !ormata.
1N3
= Poruka <MessageB. ?pstraktna de!ini"ija podataka koji se razmenjuju u komunika"iji izmenu
provajdera i korisnika Ieb servisa. %vaka poruka se moe sastojati iz jednog ili vie delova. *elovi
poruke su analogni atributima poziva jedne opera"ije.
= ;pera"ija <;perationB. ?pstraktni opis ak"ije podrane od strane servisa.
= 'ip porta <Port 'HpeB. ?pstraktni skup opera"ija podran od strane jednog ili vie mrenih zavretaka.
= Ce!eren"iranje , vezivanje <=indingB. %pe"i!ika"ija konkretnog protokola i spe"i!ika"ija !ormata
podataka za odreneni tip porta. 5ao protokol se obino koristi %;?P$ dok !ormat podataka moe biti
de!inisan kao dokument <do"umentB ili nekodirani tekst <literalB. *rugi izbor predstavlja F''P .
izborom ovog protokola$ !ormat poruke se ograniava na proste tipove <npr. tekstB$ dok se %;?P
koristi za sloenije strukture podataka.
= Port. Mreni zavretak de!inisan kao kombina"ija parametara vezivanja i mrene adrese.
= %ervis <%ervi"eB. %kup mrenih zavretaka.
Prilikom implementa"ije Ieb servisa uz pomo -ava programskog jezika$ poslovna logika Ieb servisa
je enkapsulirana u -ava bean,ovima ili G-= <Gnterprise -ava =eanB. %avremene -ava razvojne
plat!orme omoguavaju generisanje J%*P dokumenata na osnovu strukture postojeih -ava bean,ova
ili G-=$ i obrnuto. %a stanovita klijenta Ieb servisa$ vano je istai da ove plat!orme mogu omoguiti
i generisanje -ava pro>H koda$ namenjenog upravo klijentu$ na osnovu strukture postojeeg J%*P
dokumenta i tako obezbediti lak i brzi razvoj klijenta za korienje usluga Ieb servisa.
Razvoj 5e9 servisa
Cazvoj Ieb servisa predstavlja integralni deo razvoja ukupne servisno orijentisane arhitekture.
;snovne aktivnosti pro"esa razvoja Ieb servisa su:
= ;tkrivanje <*is"overB. Pretraivanje U**4 poslovnih registara ili J%4P dokumenata u "ilju lo"iranja
postojeih Ieb servisa sa kojima je potrebno izvriti integra"iju. = 5reiranje ili trans!orma"ija <0reate
or 'rans!ormB. ;vaj pro"es karakteriu dva mogua pristupa . top,doIn ili bottom,up. 'op,doIn
pristup podrazumeva kreiranje J%*P inter!ejsa uz pomo odgovarajueg editora i generisanje skeleta
odgovarajuih klasa na osnovu njegove strukture. =ottom,up pristup podrazumeva generisanje J%*P
datoteka na osnovu postojeih implementa"ija$ sadranih u postojeim -ava bean,ovima ili G-=.
= Postavljanje <*eploHB. 4nstaliranje Ieb servisa u okruenjima za testiranje.
= 'estiranje <'estB. Provera kvaliteta !unk"ionisanja Ieb servisa$ lokalno i u distribuiranom okruenju.
= Cazvoj <*evelopB. Cazvoj klijentskih aplika"ija.
= ;bjavljivanje <PublishB. ;bjavljivanje in!orma"ija o Ieb servisu u U**4 registrima.
Inte.risanje poslovno. so"tvera primenom 5e9 servisa
*ijagram sa primenom integra"ije dva poslovna in!orma"iona sistema primenom Ieb servisa je
prikazan na sli"i dole. J%*P datoteke svakog poslovnog okruenja obuhvataju skup metoda$
predstavljenih imenom$ argumentima$ tipom rezultata i poslovnom logikom$ koje su dostupne
autorizovanim korisni"ima ili su javne.
Slika 10> Primer inte.racije #va poslovna sistema posre#stvom 5e9 servisa
%a stanovita integra"ije izolovanih aplika"ija i njihovih !unk"ija uz pomo Ieb servisa$ oni se mogu
organizovati na dva naina: uz pomo orkestra"ije <OrchestrationB ili koreogra!ije <ChoreographyB.
;rkestra"ija se uobiajeno primenjuje u privatnim okruenjima <preduzeaB i podrazumeva postojanje
"entralni pro"es <koji takone moe biti Ieb servisB sa ulogom koordina"ije i kontrole svih ostalih Ieb
servisa. Pritom$ nijedan Ieb servis$ osim "entralnog$ nije svestan svoje uloge u orkestriranom
okruenju.
Slika 11> Orkestracija 5e9 servisa
%a druge strane$ u javnim okruenjima$ u okviru kojih postoji veliki broj korisnika usluga i vei nivo
kolabora"ije u ostvarenju nekog "ilja$ za integrisanje Ieb servisa se primenjuje metod koreogra!ije.
?kteri koreogra!ije su Ieb servisi koji tano znaju sa kim mogu razmenjivati poruke i kada.
,alji razvoj klijent server sistema i Interneta
;riginalna namena 4nterneta je bila povezivanje raunara i razmena podataka. #ato su bili razvijeni
protokoli koji su omoguili postizanje tog osnovnog "ilja. Problem je to povezivanje raunara nee
biti jedini "ilj globalne mree u budunosti i zato moraju da se pojave novi protokoli koji e omoguiti
1NE
ostvarivanje novih "iljeva. 5ao to su personalni raunari bili !enomen 2N,ih godina prolog veka$ tako
su multimedijalne i video aplika"ije postale !enomen de"eniju kasnije i poetkom ovog veka. #abava i
digitalna tehnologija nastavljaju da se spajaju$ nameui nove zahteve koje globalne mree moraju da
ispune. %ervis plaanja po gledanju je ve dostupan kod kablovskih sistema$ a dostupno postaje i
prikazivanje videa na zahtev. %ve vei broj ljudi ve uiva u real,time video igrama preko 4nterneta.
Mobilnost je sledei aspekat razvoja. U trenutnoj 4nternet zajedni"i najvei deo host raunara nikada
ne menja loka"ije. Premetaju se iz jedne kan"elarije u drugu$ ali to je problem lokalnog upravijanja. 4z
perspektive 4nternet protokola$ oni zadravaju !iksne loka"ije. Meutim$ i to se menja. Mobilni
raunari i satelitske tehnologije obezbeuju sredstva za komunika"iju dva ureaja u svim delovima
sveta. Protokoli moraju da se razvijaju tako da omogue povezivanje miliona parova ureaja sa
proizvoljnih loka"ija.
&eki ljudi vide tekue tehnologije$ kao to su mobilni tele!oni$ pejeri$ P*? i prenosivi raunari$ kao
ureaje koji e eventualno prerasti od ureaja za line potrebe u ureaje koji mogu da ispune razliite
vrste zahteva. 4ni"iranje tele!onskih poziva i prihvatanje poruka preko pejera predstavljaju sasvim
uobiajene !unk"ije$ ali mnogi smatraju da e doi dan kada e ti ureaji omoguavati mnogo vie.
U kuama e moda postojati raunarizovani ureaji sa kojima e moi da se komuni"ira. ?ko se
vraate svom domu kasnije nego to ste planirali$ mogli biste da iskoristite personalni komunika"ioni
ureaj za ukljuivanje svetla u kui$ ili za ukljuivanje peni"e. %enzorski sistem moe da poalje
signal ako ste zaboravili da zakljuate sva vrata$ ili da ugasite svetla$ tako da biste mogli da to ispravite
opet korienjem istog sistema.
Moda ete moi da ukljuite ureaj u prenosivi kompjuter i da preuzimate !ajlove sa bilo kog
udaljenog raunara kojem imate pristup$ bez korienja tele!ona. %istem biste mogli iskoristiti i da
nahranite svog sajber ljubim"a koga ste ostavili kod kue. %ve ove aplika"ije bi zahtevale
komunika"ije nezavisne od mesta.
=ezbednost je sledei problem. 4nternet protokol nije preterano siguran. #bog toga su za veinu
aplika"ija veoma bitne lozinke$ tehnike autenti!ika"ije i !ireIall,i. Pjudi prepoznaju da paketi koji
stiu na 4nternet mogu da stignu doslovno iz bilo kog dela sveta i zato su za zatitu resursa neophodne
veoma jake mere zatite. U poslednjih nekoliko godina svedo"i smo raznih prevara i upada na privatne
kompjutere$ tako da je svima jasno da zatita uvek mora da bude prioritet broj jedan.
4 pored svega toga$ najvaniji "ilj kod razvoja svakog novog protokola je mogunost koegzisten"ije sa
tekuim sistemima. &ajvea prepreka za uvoenje novih tehnologija u raunarstvo je osiguravanje
konkurentnog izvravanja sa postojeim tehnologijama.

1N2

You might also like