klijent server sistemi - skripta

Upload: marko-andrejevic

Post on 06-Jul-2015

1.545 views

Category:

Documents


6 download

TRANSCRIPT

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 informacija izmeu raunara. Zahtev da se smanji cena i vreme razvoja neke aplikacije. Zahtev da se smanje ukupni trokovi kako razvoja tako i uvoenja i obuke osoblja sa aplikacijom. Potreba da se pored informacija razmenjuju i aplikativni programi nezavisno od hardvera i lokacije raunara, Svi 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 parcijalna reenja koja su zadovoljavala zahteve proizvoaa ali ne i korisnike tih reenja. Naime, u cilju zatite svojih investicija, razvoja i proizvodnje, proizvoai raunarske opreme dosledno su se drali uvanja industrijske tajne pokuavajui da na taj nain veu svoje korisnike samo za sebe. Takvi raunarski sistemi, koji su napravljeni u specifinoj tehnologiji poznatoj samo proizvoau, sa neizbenim sistemskim softverom, 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 korisnici i dobavljai postajali sve nezadovoljniji. Naime,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. Sve te investicije nisu uvek donele i profit novog proizvoda, tako da su mnogi dobavljai poeli da posluju sa gubitcima. Pored toga primena novih proizvoda i reenja, zahtevali su i odreeni vremenski period za razvoj, testiranje i proizvodnju konanog proizvoda. Za sve to vreme korisnici su stalno gunali traei da dobiju proizvod koji su papreno platili. U takvoj situaciji dobavljai su esto isporuivali nedovoljno zavrene i testirane proizvode koji su jo vie izazivali nezadovoljstvo korisnika. Sa druge strane korisnici, da bi mogli da ostvare profit, morali su da prate nove tehnologije i da stalno ulau u nove proizvode koji nisu adekvatno zadovoljavali njihove zahteve kako po ceni i vremenu, tako i po kvalitetu pouzdanosti i njihovog rada. Do pojave otvorenih sistema raunarska industrija je bila vie zavisna od sopstvene tehnologije, nego od zahteva trita. Vaila su dva osnovna principa i to: ljubomornog uvanja sopstvenog proizvoda i prodaje na nain imam proizvod-treba ga prodati. Na slici broj 1. prikazani su marketinki porivi koji su doveli do promene strategije u proizvodnji raunarskih sistema i velikog ulaska otvorene strategije.

ZATVORENI SISTEMI Proizvoai hardvera

Proizvoai ureaja VAR Komercijalni korisnici OTVORENI SISTEMI Specijalni korisnici Istraivanje Razvoj Proizvoai softvera

1

Slika broj 1. Danas je savim jasno da raunarska industrija mora pronai nain da se razvoj i upotreba informacionih tehnologija mora odvijati potpuno sinhronizovano. Jedini nain da se to uradi je uvoenje i primena meunarodnih standarda za informacione tehnologije koje e tano definisati potrebe i zahteve trita, a koje trebaju da zadovolje svi budui proizvodi. U tom smislu potrebno je jasno definisati tri osnovne karakteristike otvorenih sistema: 1. Portabilnost predstavalja prenosivost aplikativnog softvera izmeu razliitih raunara bez dodatnih zahteva na menjanju izvornog koda. 2. Skalabilnost - zahteva da se aplikacije mogu izvravati na razliitim generacijama raunara, tj. drugim rima aplikacija koja radi na PC 386 raunarima mora da radi i na Pentium IV raunarima. 3. Interoperabilnost omoguuje da postoji veza izmedju novih i starih tehnologija, tj. Nove tehnologije mogu se instalirati i na starim reenjima bez nekog dodatnog ulaganja i promene cele infrastrukture. Takoe, ona podrazumeva da raunari razliitih proizvoaa koji imaju razliiti hardver i sistemski softver, mogu nesmetano da komuniciraju bez obzira na njihovu udaljenost i raunarsku snagu. Kada 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. Skup vie ovakvih komonenti ini otvoreni sistem. Kada razgovaramo o prednosti otvorenih sistema nad zatvorenim potrebno je da razmotrimo: 1. Performanse jasno je da su otvoreni sistemi sporiji ali su zato prilagodljiviji i gledano dugorono mnogo isplativiji 2. Cena zbog vee konkurencije jasno je da je cena otvorenih sistema manja ali treba imati u vidu i cenu prelaska sa zatvorenih na otvorene sisteme. Gledano dugorono i tu su u prednosti otvoreni sistemi. 3. Izbor sve je vei broj kupaca koji znaju ta hoe da kupe pa je prema tome vei izbor, koji je prisutan kod otvorenih sistema jedna velika prednost. 4. Progres kod otvorenih isstema to je uvek otvoren proces jer se oni stalno razvijaju i dopunjuju . 5. Prelazak jasno je da se cena prelaska sa zatvorenih na otvorene sisteme jednom mora platiti ali kao to je ranije reeno dugorono se to isplati. 6. Sigurnost ovo je jedini faktor koji je diskutabilan jer kod otvorenih sistema je svakom sve dostupno tj. sve se moe pronai u literaturi. Kako uvek ima ljudi koji ele da nakode drugima, bilo da pokvare ili ukradu, ovo je jedini parametar koji ide u prilog zatvorenih sistema.

2

2 as Proces standardizacije Danas u svetu postoje mnoge organizacije koje imaju vaan uticaj na razvoj standarda i u principu mogu se podeliti na tri grupe: javne, korisnke i industrijske. Kada se govori o standardima onda treba rei da postoje dve vrste standarda i to : de facro i de jure koji predstavljaju latinske izraze za u stvarnosti i po zakonu, respektivno. De jure standardi su javni standardi koji su stalno podloni otvorenom procesu u kome svako moe da uestvuje i iji su rezultati svima dostupni. Ovakav 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 ( IBM PC, Intel x86, AT&T, UNIX i td.) Moe se desiti da de facto standardi preu u javne standarde usled jakog pritiska trita da se to uradi ( primer UNIX-a). Na formiranje standarda puno puta pored strunih motiva utiu i neke drugi interesi, pre svega trini. Ba zbog toga javne standarde moemo podeliti na minimalne, kompromisne i maksimalne. Minimalni standard je standard koji obuhvata samo one osobine proizvoda o kojima se uesnici mogu lako dogovoriti. On se javlja kao posledica 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. Ovakav standard je za trite najloije reenje pa se ovakvi minimalni standardi prihvataju kao prelazno reenje do zavretka kompletnog otvorenog procesa. Druga 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. Iz svega ovog dolazi se do kompromisnog standarda koji su i najprisutniji na tritu. Sve organizacije 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. Na taj nain izbegava se mogunost pojavljivanja vie standarda koji bi definisali isti problem a na razliite naine. Osnovno pravilo koje ovde vai je da se nikad ne definie neto zato ve postoji standard ili definicija. Donoenje nekog otvorenog standarda sastoji se iz nekoliko koraka i to: 1. RFT - izdavanja zahteva za standadizaciju novog proizvoda ili tehnologije: zahtev za novi standard 2. DP - komentarisanja predloenog standadrda: izdavanje privremenog predloga, 3. DIS - izdavanja specifikacije: izdavanje privremenog standarda 4. IS i na kraju usaglaavnja svih pristiglih predloga: izdavanje pravog internacionalnog standarda

ORGANIZACIJA (OSF) 1 RFT (Request for technology) ZAINTERESOVANI 2 International DP DIS IS Standard Draft Draft Proposal International Standard 3 4

Slika broj 2. Proces donoenja standarda ZAINTERESOVANI

3

Konceptualni model raunarskog sistema Ovaj model podeljen je na 7 nivoa i to: 7. Korisniki interfejs 6. Aplikacija 5. Programski jezici 4. Softverski alati 3. Operativni sistem 2. Hardverske komonente 1. Mikroprocesor Zajedniko aplikaciono okruenje Potreba za skupom standarda koji e obezbediti potrebne osobine otvorenih sistema prirodno vodi ka standardizaciji i okruenja u kojem se oekuje da e aplikacija biti razvijana i u kojem e raditi. Zato je i X/Open konzorcijum zaduen da definie i razvije zajedniko aplikaciono okruenje CAE ( Common Application Environment). Njegov cilj je da obezbedi portabilnost aplikacionog softvera definisanjem tri osnovna principa koji se odnose na: zajedniki korisniki interfejs, zajedniki programerski interfejs i zajedniki model za komunikacije. To podrazumeva jedinstveni pristup u komunikaciji izmeu raunara i oveka, jedinstvenu sintaksu kod glavnih programskih jezika i omoguavanje svim korisnicima da mogu da komuniciraju putem mree bez obzira na vrstu opreme kojom raspolau. Kopletna definicija zajednikog aplikacionog okruenja je dosta velika i neiscrpna kategorija tako da se ona stalno dopunjuje i proirava. Sve te definicije smetene su u seriju knjiga koje pojedinano opisuju svaki standard i koje su poznate pod imenom X/Open Portability Guide (XPG). U njima se definiu mnogi standardi koji se mogu razvrstati na sedea podruja: - strategija prelaska na otvorene sisteme, - operativni sistemi, - upravljanje podacima, - alati za razvoj aplikacija, - programski jezici, - internacionalizacija, - mree i komunikacija, - sigurnost i administracija sistema, - interfejs izmeu oveka i raunara. Moe se slobodno konstantovati da samo oni aplikacioni programeri koji se pridravaju svih ovih standarda i preporuka mogu raunati na aplikaciju koja e biti ope prihvaena. Raunarske mree Raunarska mrea predstavlja jedan komunikacioni sistem preko koga se vri razmena informacija izmeu vie korisnika na manjim ili veim rastojanjima. Jednu mreu moemo da posmatramo kroz vie aspekata i to: njenu topologiju, protokoli za komunikaciju, elektrini interfejsi, tip modulacije i tip noseeg signala, medujuma za prenos informacije i td. Topologija mree predstavlja nain na koji su povezani korisnici i mrei. Najire mrene topologije su : zvezda, magistrala i prsten (star, bus i ring) Prenosni mediji(kanali) razlikuju se po irini pojasa, brzini prenosa i kapacitetu kanala. Sirina pojasa(bandwith) je elektrina karakteristika kojom se definie opseg izmeu najnie i najvie frekfencije unutar kojega signal moe de pree prenosni put bez izoblienja. Brzina prenosa (baud rate) definie broj promena elemenata ili stanja signala u jedinici 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, fazne ili frekventne modulacije) i digitalna metoda prenosa gde se podrazumeva prenos digitalnog signala na njegovoj osnovnoj frekvenciji bez modulacije. Protokoli predstavljaju skupove sintaksniih i semantikih pravila kojima se odruje ponaanja funkcionalnih jedinica prilikom odvijanja komunikacija. Njima se definie kako se neka informacija 4

isporuuje, kako se pakuje da sigurno doe do odredita , kojim putem da ide, kako se proveravaju i otklanjaju greke u informacijama i td. Pod adresom se u komunikacijama podrazumevaju nain kako predajni ili kontrolni vor bira vor kome e poslati poruku. Adresa nije nita drugo ve identifikacija prijemne strane. Postoje logike i fizike adrese. Fizika 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(pojaalo)- vri regeneraciju signala na fizikom i link nivou i prosleuje ga dalej kroz prenosni sistem. Bridge(most)-razreava nekompatibilnost izmeu dve mree na niem nivou komunikacije na nivou mrenog protokola. Router(odailja)- slui da prevazie nekompatibilnost na nivou transportnog protokola. Gateway- slui da povee dvr potpuno razliite mree kada su razlike prisutne i na gornjim nivoima komunikacija to se javlja kada se lokalne mree povezuju u WAN.

Mreni hardverMree se prave i od hardvera i od softvera. Mreni hardver obezbedjuje fizike veze izmedju razliitih vorova u mrei i tipino obuhvata: Mrene kartice za spregu (NIC - Network Interface Cards), po jednu za svaki PC raunar; 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 informacija poalju na eljeno odredite; Mreni kablovi (oklopljeni bakarni provodnici slini telefonskim kablovima) koji povezuju svaku mrenu karticu za spregu sa voritem ili prekidaem.

Mrene kartice za spreku (NIC)Mrene kartice za spregu, koje se obino oznaavaju kao NIC, koriste se da poveu PC raunare sa mreom. NIC obezbedjuje fiziku vezu izmedju mrenog medijuma i unutranje magistrale raunara, i odgovorna je za omoguavanje "pristupnog metoda" mrei (to su OSI slojevi 1 i 2). Veina mrenih kartica za spregu su projektovane za odredjeni tip mree, protokola i medijuma, mada neke od njih mogu da opslue vie mrea. Kartice su raspoloive da podre gotovo sve mrene standarde, ukljkuujui tu i najnovije okruenje Fast Ethernet. Mrene kartice za Fast Ethernet su esto u stanju da podravaju 10/100 Megabita u sekundi i postavie se automatski odgovarajuu brzinu. Druga opcija je puno dupleksno umreavanje, gde posebna veza do prekidaa omoguava da NIC radi dvostrukom brzinom.

vorita/repetitorivorita/repetitori se koriste da medjusobno poveu dva ili vie segmenata mree bilo koje vrste medijuma. U veim konstrukcijama, kvalitet signala poinje da se pogorava kada segmenti predju neku maksimalnu duinu. vorita 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 stanice na sve svoje preostale portove. Aktivna vorita, koja se ponekad takodje nazivaju i "repetitori sa vie portova", regeneriu bitove podataka da bi odrala jak signal. vorita se takodje koriste u topologijama zvezde kao to je mrea 10BaseT. vorite sa vie portova za upredene parice dozvoljava da se vie segmenata taka-na-taku zdrui u jednu mreu. Jedan kraj linka taka-na-taku je prikljuen na vorite, a drugi na raunar. Ako je vorite prikljueno na "kimu", tada svi raunari na kraju segmenata upredenih parica mogu da komuniciraju sa svim matinim raunarima na "kimi". Vana injenica koju treba zapaziti o voritima je da ona samo dozvoljavaju korisnicima da dele Ethernet. Mrea vorita/repetitora se naziva "deljeni Ethernet", to znai da se svi uesnici u mrei takmie za prenos podataka na jednoj mrei (domen sukoba). Drugim reima, individualni uesnici na deljenoj mrei e dobiti samo izvestan procent raspoloivog mrenog propusnog opsega. Broj i vrsta vorita u bilo kom domenu sukoba za mreu 10BaseT Ethernet ogranieni su prema sledeim pravilima: Tip mree Maksimalni broj Maksimalno

5

10BaseT 10Base2 10Base5 10BaseFL

vorova po segmentu 2 30 100 2

rastojanje po segmentu 100m 185m 500m 2000m

Dok repetitori dozvoljavaju lokalnim raunarskim mreama da se produe dalje od normalnih granica 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 Ethernet segmente na svakom portu.

MostoviMostovi su postali komercijalno raspoloivi u ranim 1980-im godinama. U vreme njihovog uvodjenja, njihova funkcija je bila da poveu razdvojene homogene mree. Kasnije je premoivanje razliitih mrea na primer, Ethernet i Token Ring - takodje definisano i standardizovano. Mostovi su uredjaji za komunikacije podataka koji u principu rade na Sloju 2 OSI referentnog modela. Kao takvi, oni se esto nazivaju uredjajima za sloj linka podataka. Mostovi preslikavaju Ethernet adrese vorova koji su na svakom segmentu mree i doz-voljavaju da samo neophodan saobraaj prodje preko mosta. Kada most primi paket, on odredjuje segmente njegovog izvora i odredita. Ako su ti segmenti isti, paket se isputa ("filtrira"); ako su segmenti razliiti, paket se sumerava na ispravan segment. Pored toga, mostovi ne usmeravaju oteene pakete. Mostovi se takodje nazivaju uredjajima za "memorisanje i prosledjivanje", jer oni pregledaju ceo Erthernet paket pre nego to naprave odluke o filtriranju ili prosledjivanju. Filtriranje paketa i njihovo regenerisanje omoguava tehnologiji premoavanja da podeli mreu u odvojene domene sukoba. To dozvoljava da se u ukupnom projektu mree koriste vea rastojanja i vie repetitora. Veina mostova su uredjaji sa samoobuavanjem; oni utvrdjuju korisnike Ethernet adrese na segmentu izradjujui tabelu dok paketi prolaze kroz mreu. Ova sposobnost samoobuavanja, medjutim, dramatino poveava mogunost pojave mrenih petlji u mreama koje imaju mnogo mostova. Petlja predstavlja konfliktnu informaciju o tome na kom segmentu je smetena odredjena adresa i prisiljava uredjaj da prosledi sav saobraaj. Do sredine 1990-ih godina, komutaciona tehnologija kao evolucioni naslednik reenja sprezanja vie mrea zasnovanih na mostovima. Bolja performansa po propusnoj moi, vea gustina portova, nia cena po portu i vea fleksibilnost doprinele su pojavi komutatora kao tehnologije koja e zameniti mostove i biti komplement tehnologiji usmeravanja.

UsmerivaiUsmeravanje je dostiglo komercijalnu popularnost sredinom 1980-ih godina - u vreme kada je sprezanje mrea velikog obima poelo da zamenjuje dosta jednostavna, homogena okruenja koja su do tada bila obrazac. Usmeravanje je in pomeranja informacija preko mrea, od izvora do odredita. Ono se esto poredi sa premoavanjem, koje izvrava slinu funkciju. Glavna razlika izmedju ove dve tehnologije je u tome to se premoavanje pojavljuje na Sloju 2 (sloj linka podataka) OSI referentnog modela, dok se usmeravanje pojavljuje na Sloju 3 (mreni sloj). Ova razlika daje usmeravanju i premoivanju razliite informacije koje oni koriste u procesu pomeranja informacija od izvora do odredita, tako da te dve funkcije ispunja-vaju svoje zadatke na razliite naine. Usmerivai koriste informacije unutar svakog paketa da bi ga usmerili iz jedne lokalne raunarske mree u drugu i da komuniciraju medjusobno i dele informacije koje im dozvoljavaju da odrede najbolju putanju kroz sloenu mreu od mnogo lokalnih raunarskih mrea. Da bi to izveli, usmerivai rade i odravaju "ujsmerivake tabele", koje sadre razliite delove informacija o putanjama - zavisno od upotrebljenog algoritma za usmeravanje. Na primer, pridruivanje odredita sledeem skoku kae usmerivau da dato odredite moe optimalno da se dostigne ako se paket poalje odredjenom usmerivau koji predstavlja "sledei skok" na putu ka konanom odreditu. Kada usmeriva primi dolazni paket, on proverava adresu odredita i pokuava da pridrui tu adresu sledeem skoku.

KomutatoriKomutatori lokalne raunarske mree su proirenje koncepta premoivanja. Oni rade na Sloju 2 (sloj linka podataka) OSI referentnog modela, koji upravlja tokom podataka, opsluuje greke u prenosu, obezbedjuje

6

fiziko (nasuprot logikom) adresiranje i upravlja pristupom fizikom medijumu. Komutatori obezbedjuju ove funkcije koristei razliite protokole sloja linka - kao to su Ethernet, Token Ring i FFDI - koji diktiraju specifine algoritme za upravljanje tokom, opsluivanje greaka, adresiranje i pristup medijumu. Komutatori lokalnih raunarskih mrea mogu medjusobno da poveu etiri, est, deset ili vie mrea i imaju dve osnovne arhitekture: prosecanje i memorisanje i prosledjivanje. U prolosti, komutatori za prosecanje su bili bri, jer su ispitivali adresu odredita paketa samo pre njegovog prosledjivanja na njegov odredini segment. Komutator sa memorisanjem i prosledjivanjem, sa druge strane, prihvata i analizira ceo paket pre njegovog prosledjivanja ka odreditu. Potrebno je vie vremena da se ispita ceo paket, ali to dozvoljava komutatoru da uhvati neke greke u paketu izadri ga od daljeg prostiranja kroz mreu. Do poznih 1990-ih godina, brzina komutatora sa memorisanjem i prosledjivanjem je uhvatila korak sa komutatorima za prosecanje, tako da je razlika izmedju njih postala minimalna. Do tada se pojavio veliki broj hibridnih komutatora koji su davali meavinu obe ove funkcije.

PrimopredajniciPrimopredajnici se koriste za povezivanje vorova na razliite Ethernet medijume. Veina raunara i mrenih kartica za spregu sadri ugradjeni primopredajnik za 10BaseT ili 10Base2, dozvoljavajui im da se direktno poveu na Ethernet vez potrebe za spoljanjim primopredajnikom. Mnogi Ethernet uredjaji imaju AUI konektor koji dozvoljava korisniku da ih povee na bilo koji medijum preko spoljanjeg primopredajnika. AUI konektor se sastoji od 15-pinskog konektora, od koga je enski deo na strani raunara, a muki na strani primopredajnika. Kablovi (10BASE5) takodje koriste primopredajnike za povezivanje. Za mree Fast Ethernet, razvijena je nova sprega zvana MII (Media Independent Interface - sprega nezavisna od medijuma) koja nudi fleksibilan nain za podravanje veza brzine od 100 Megabita u sekundi. MII je popularan nain da se poveu linkovi 100Base-FX sa uredjajima za Fast Ethernet zasnovanim na bakarnim provodnicima.

KabloviUdruenje za industruju raunarskih komunikacija (CCIA) je 1985. godine zatrailo da Udruenje za elektronsku industriju (EIA) razvije generiki kablovski standard za komercijalne zgrade koji bi bio u stanju da prenosi sve tadanje i budue mrene sisteme preko zajednike topologije, koristei zajedniki medijum i zajednike konektore. Do 1987. godine vie proizvodjaa je razvilo opremu za Ethernet koja bi mogla da koristi telefonski kabl od upredene parice, a 1990. godine je uveden standard 802.3I Ethernet 10BaseT (gde se "T" odnosi na kabl od upredene parice). EIA je zajedno sa Udruenjem za industriju telekomunikacija (TIA) 1991. godine konano objavila prvi standard za kablovske telekomunikacije nazvan EIA/TIA 568, ime je rodjen strukturni kablovski sistem. On je bio zasnovan na Neoklopljenom kablu sa upredenim paricama Kategorije 3 (UTP), a uskoro, posle mesec dana, pojavile su se specifikacije UTP vieg stepena, Kategorija 4 i 5. Sledea tabela prikazuje razliite vrste UTP kablova koji se najvie koriste krajem 2000. godine: Tip Karakteristike Koristi se za telefonske komunikacije i nije pogodan za Kategorija 1 prenos podataka Moe da prenosi podatke brzinama do 1 Megabita u Kategorija 2 sekundi Koristi se u mreama 10BaseT i moe da prenosi Kategorija 3 podatke brzinama do 16 Megabita u sekundi Koristi se u prstenastim mreama asa etonom i moe da Kategorija 4 prenosi podatke brzinama do 20 Megabita u sekundi Moe da prenosi podatke brzinama do100 Megabita u Kategorija 5 sekundi

7

as 3 TOPOLOGIJE LOKALNE MREE Poslednjih 30-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. fizika topologija(physical topology ) koja podrazumeva raspored medijuma same mree tj. fizikih vodova (bakarni ili optiki kablovi) i ureaja u samoj mrei. 2. logika topologija ( logical topology) koja podrazumeva logike puteve u samoj mrei kojima se stvarno podaci kreu. U veini savremenih lokalnih mrea koriste se sledee osnovne topologije: 1. topologija magistrale (bus topology) 2. topologija zvezde (star topology) 3. topologija prstena (ring topology) 4. topologija u obliku mree (mesh topology) 5. meovita topologija (hybrid topology) Topologija magistrale Jednostavna struktura magistrale bila je prva toplogija koja se koristila u Ethernet mreama. Ona se sastoji od koaksijalnog kabla koji meusobno povezuje sve raunarske komponente koje se nalaze u lokalnoj mrei. Koaksijalni kabli ima vie prikljuaka i svaki od njih se koristi kao taka povezivanja raunarskog sistema. Prikljuci mogu biti direktno spojeni centralni provodnici koaksijalnih kablova ili BNC rave (T konektori). Kod ovakve realizacije logika i fizika topologija se poklapaju. Poto se ovde radi o tehnologiji zajednikog medijuma, javlja se potreba za postojanjem mehanizama koji e regulisati saobraaj na tom mediju. Zato se ovde definiu dva pojma koja su vrlo bitna za odvijanje saobraaja tj. razmene podataka izmeu ureaja na mrei i to su: - algoritam za izbegavanje kolizije (collision avoidance) ili algoritam za detektovanje kolizije (collision detection ). - pojam emisije (broadcast ) koji definie jainu signala kako bi podaci nesmetano mogli da dou do svakog ureaja na mrei Toplogija magistrale se vrlo jednostavno realizuje i ona predstavlja dosta jevtino reenje jer su trokovi istaliranja kablova niski. Ba iz tog razloga ona ima i neke nedostatke koji dosta ograniavaju primenu ovakve topologije u lokalnim mreama: - zahteva odgovarajue zavretke (terminatore) na svakom kraju magistrale kako bi se efikasno priguili signali i spreila njihova refleksija 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. Njegovo oteenje ili prekid imaju negativan uticaj na celu mreu. - instalacija novi stanica 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. Zbog svih ovih nedostataka i ogranienja, topologija magistrale se obino primenjuje u najmanjim ili najjednostavnijim instalacijama lokalnih mrea. Topologija zvezde Kod ove topologije svaki vor lokalne mree povezan je posebnim kablom sa centralnim mestom, koje je obino razvodni orman. Svi kablovi ulaze u jednu mrenu komponentu poznatu kao hab (hub) ili komutator (switch). Osnovna uloga ovog ureaja je da ponavlja ili komutira saobraaj ka ostalim vorovima mree. Ovde su oigledni nedostaci 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 skoncetrisano oko habova i komutatora. Veina ovih komponenti poseduju svoju inteligenciju koja omoguava administratorima da vre nadgledanje protoka

8

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 efikasno otklanjanje problema. - Inteligentni ureaji omoguavaju da se automatski onemogue portovi koji premauju pragove upotrebe ili greke ime se dodatno poveava stabilnost mree. - kablovska instalacija ima manji uticaj 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 zavretci ovde nisu ptrebni. Danas je ovakva topologija najrasprostranjenija u gotovo svim fizikim realizacijama mrea. Topologija prstena Topologije prstena su neto sloenije za izvoenje u odnosu na topologije zvezde i topologije magistrale. Ovde vorovi logiki komuniciraju u formaciji prstena ali se zato fizika realizacija najee sprovodi u vidu zvezde. Ovde svaki vor komunicira 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. Svaki vor eka svoj red da zatrai korienje tokena koji se prosleuje od vora do vora dok ne stigne do odredinog vora. Kada ga ovaj primi, on ga modifikuje kako bi potvrdio da ga je primio i prosledi ga dalje. Na kraju vor poiljalac prima paket koji je obiao ceo 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 detekciju ili izbegavanje kolizije. - prenos paketa obavlja se u utvrenimvremenskim intervalima tako da svaki vor lako moe da utvrdi potrebno vreme za prenos sledeeg podatka. Ovaj 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. Ovakva topologija iskoriena je kod FDDI (Fiber Distributed Data Interface) optiki prenos podataka. Ovde se koriste udvojeni prstenovi gde su smerovi prosleivanja tokena meusobno suprotni. Na taj nain dobija se komunikacija koja je otporna na greke. Jedan od najveih nedostataka ove topologije je mala brzina zbog firmvera koji je neophodan kod svake mrene kartice a koji nam upravlja prenosom tokena. Topologija mree Ova topologija podrazumeva preplitanje vie veza izmeu vorova. Osnovna zamisao je da se obezbede vie puteva izmeu vorova mree kako bi se postigla vea pouzdanost i otpornost na greke. Ovde razlikujemo potpune (full) i delimine (partial) mree. Potpuna mrea nije praktina jer zahteva da svi vorovi na mrei budu vezani sa svakim vorom to u mnogome komlikuje kabliranje. Trokovi kabliranja su veliki a negde oko 90 % svih fizikih puteva nikada nee biti korieni. Delimina mrea je projektovana da obezbedi udvajanje samo onde gde je to neophodno. Na projektantu sistema je da predvidi dodatno povezivanmje koje bi obezbedilo potreban propusni opseg i otpornost na greke. Meovita topologija 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. Stablo predstavlja kombinovanu topologiju koja grupie radne stanice u zvezdu a te zvezde su meusobno povezane sa linearnom magistralom.Glavni problem magistrale ovde je ukonjen jer radna stanica ne moe da zaustavi saobraaj na celoj lokalnoj mrei. Radne stanice mogu da meusobno komuniciraju ak i u sluaju da doe do prekida glavne magistrale. Danas se za sprovoenje ovakve topologije koriste i razliiti fiziki mediji pa se tako za kabliranje magistrale koriste optiki kablovi a za kabliranje zvezde UTP kablovi.

9

Hijerarhijska zvezda povezuje vie habova sa prikljuenim stanicama pomou centralnog haba. Sinhronizovanje i adresni prostor su odluujui faktori 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 stanice povezane u topologiji zvezde. Pristupne take (acess point) povezane su zvezdu a sve radne stanice koje ele da komuniciraju moraju biti u blizini tih pristupnih taaka.

Vrste kablova1. Koaksijalni BNC predstavlja kabli koji se sastoji od centralno postavljenog provodnika koji je smeten u izolacioni materijal preko koga se nalazi metalni oklop. Kako ovaj kabli zadrava sva elektomagnetna polja unmutar sebe potrebno je da se spoljni oklop uzemlji kako bi se spreile smetnje u prenosu podataka. Koriste se dva tipa kabla i to tanki (thinnet)-10BASE-2 i debeli (thicknet) kablovi-10BASE-5. Max. brzina do 10 Mbyte. 2. UTP (Unshielded Twisted Pair) telefonski kabl, upredena parica koja smanjuje kapacitivnost izmeu ica i eliminie presluavanje izmeu njih. Veina kablova koje se koriste u lokalnim mreama ima etri para provodnika. Taj kabli je postao standard i oznaava se sa EIA/TIA568B standard kabliranja. Max. brzine 100Mbyte-1Gbyte. Kategorija 5 do 100MHz, kategorija 6 do 250 MHz i kategorija 7 do 600 MHz. 3. Optiki 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. Optiki kablovi omoguavaju ire propusne opsege i manje gubitke signala to nam omoguava prenose podataka na razdaljinama od preko 2000m (kod bakarnih vodova to je bilo max.100m. Takoe se postiu i znatno vee brzine prenos podataka koje se kreu preko 1Gbyte. Najvei nedostatak bakarnih vodova je u tome da se sa poveanjem uestanosti signala poveavaju i gubitci pa je tako gubitak na 100MHz mnogo vei nego na 10MHz. to kod optikih kablova to ne postoji. Optiki kabli je i laki od bakarnog i to 25% do 50%. 4. Beine komunikacije oko 40Mbyte.

Mrea ravnopravnih raunaraU mrenoj arhitekturi ravnopravnih raunara (peer-to-peer, ili P2P), svaki raunar (radna stanica) ima podjednake mogunosti i odgovornosti. Nema servera, a raunari su jednostavno povezani medjusobno u radnoj grupi, da bi delili datoteke, tampae i pristup Internetu. To je praktino za radne grupe od dvanaest raunara ili manje, to je esto u mnogim SOHO okruenjima, gde svaki PC raunar radi kao nezavisna radna stanica koja pamti podatgke na svom sopstvenom vrstom disku, ali moe i da ih deli sa svim drugim PC raunarima u mrei. Softver za mree ravnopravnih raunara je ukljuen uveini modernih operativnih sistema za stone raunare, kao to su Windows i Mac OS, bez potrebe da se kupuje specijalni "mreni" softver.

Klijent-serverArhitekture mrea tipa klijent-server postale su popularne krajem 1980-ih i poetkom 1990-ih godina, kakda su mnoge aplikacije prele sa centralizovanih miniraunara i velikih centralnih raunara na mree personalnih raunara. Projektovanje aplikacija za distribuirano raunarsko okruenje zahtevalo je da one budu podeljene na dva dela: klijenta (prednji kraj) i servera (zadnji kraj). Arhitektura mree na kojoj su one bile implementirane odslikavala je ovaj model klijent-servera pomou korisnikovog PC raunara (klijenta) 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. Njihova unutranja skalabilnost ini klijent-server mree pogodnim za poslovanje srednjeg i velikog obima, gde se serveri po kapacitetu rangiraju u opsegu od vrhunskih PC raunara do velikih centralnih raunara, ve prema potrebi. Klijent-server mree zahtevaju pored normalnog operativnog sistema i dodatni softver posebnog Mrenog operativnog sistema (NOS - Network Operating System).

10

P2P raunarstvoDo poetka 2000. godine dogodila se revolucija u potpuno novom obliku raunarstva izmedju ravnopravnih raunara P2P (peer-to-peer). Osvetljeno izuzetnim uspehom velikog broja veoma dobro reklamiranih aplikacija "P2P raunarstvo" - kako se ovaj novi pristup obino naziva - najavilo je novi model raunarstva za doba Interneta i postiglo je, u kratkom vremenuu, znaajno privlaenje korisnika velikih centralizovanih raunara i pripadnika industrije PC raunara: Aplikacija Napster MP3 za deljenje muzikih datoteka je oivela u septembru 1999. godine i privukla je vie od 20 miliona korisnika do sredine 2000. godine. Do kraja 2000. godine, preko 100 kompanija i brojni istraivaki projekti bili su angaovani na P2P raunarstvu. Do poetka sledee godine, program SETI@home, koji koristi distribuiranu obradu za analizu radioteleskopskih podataka, privukao je vie od 2,6 miliona korisnika koji su uloili preko 500000 godina vremena centralne procesorske jedinice lovu na vanzemaljsku inteligenciju. P2P raunarstvo obezbedjuje alternativu tradicionalnoj arhitekturi klijent-server i moe jednostavno da se definie kao deljenje raunarskih resursa i usluga pomou direktne razmene. Dok koristi postoje mree, servere i klijentsku infrastrukuturu, P2P nudi model raunarstva koji je ortogonalan na model klijentserver. Dva modela koegzistiraju, presecaju se i medjusobno komplementiraju. U modelu klijent-server, klijent postavlja zahtev serveru na koji je prikljuen preko mree. Server, koji je tipino samostalan sistem, odgovara na zahteve i preduzima potrebne radnje u vezi sa njima. U P2P raunarstvu, svaki uesniki raunar - koji se naziva ravnopravnim uredjajem (peer) - deluje kao klijent sa slojem serverske funkcionalnosti. To omoguava ravnopravnom uredjaju da deluje istovremeno i kao klijent i kao server unutar konteksta date aplikacije. Ravnopravni uredjaj moe da unese zahteve, a moe i da odgovori na zahteve sa drugih uredjaja u mrei. Sposobnost direktnih razmena sa drugim korisnicima nudi brojne prednosti - tehnike i drutvene - kako individualnim korisnicima tako i velikim organizacijama. Tehniki, P2P raunarstvo daje mogunost da se iroko koriste veliki resursi na koje uesnici nisu direktno prikljueni i koji bi inae ostali neiskorieni. Ovi resursi obuhvataju procesnu mo za izraunavanja velikog obima i ogromni memorijski potencijal. P2P dozvoljava eliminaciju "uskih grla" pojedinanih uzroka. P2P moe da se upotrebi za raspodelu podataka i upravljanja i za ravnoteu optereenja zahtevima preko Interneta. Pored toga to pomae da se optimizuje performansa, mehanizam P2P moe takodje da se upotrebi za eliminaciju rizika od jedne take otkaza. Kada se P2P koristi unutar preduzea, to moe da zameni neke skupe funkcije centra podataka raspodeljenim uslugama izmedju samih klijenata. Memorija, za dobijanje podataka i njihove rezervne kopije, moe da se smesti kod korisnika. Pored toga, infrastruktura P2P dozvoljava direktni pristup i deljeni prostor, to moe da omogui sposobnost daljinskog odravanja. Privlanost P2P raunarstva je velikim delom posledica drutvenih i psiholokih inilaca. Na primer, korisnici mogu lako da formiraju svojs sopstvene autonomne onlajn Internet zajednice i da ih koriste kada ih zajedniki odaberu. Mnoge od ovih P2P zajednica e se stalno dinamiki menjati kako korisnici dolaze i odlaze, ili su aktivni, odnosno neaktivni. Drugi korisnici e uivati u tome da zaobidju centralizovanu kontrolu. U stvari, P2P raunarstvo ima mo da mnoge korisnike uini nezavisnim.

11

4 as. Nastanak klijent server tehnologije Model klijent server sistema predstavlja prirodan nastavak razvoja otvorenih sistema koji su zadnjih 10-tak godina predstavljali dominantnu organizaciju raunarskih sistema i aplikacija. Zahvaljujui novim tehnologijama kao to su objektno orjentisano programiranje kao i GUI (Graphical User Interfaces), kao i sve veem razvoju personalnih raunara, polako je vrena selidba aplikacija sa monih mikroraunara i mainframe-raunara na desktop raunare. Postoje etri uslova koja su doprinela velikom razvoju klijent serverskih sistema: 1. veliki pad cena procesora i raunarskih komponenti, 2. ogormno poveanje resursa raunarskih komponenti, clok procesora, memorija 3. veliki broj prilagoenih softverskih standarda, 4. veliki razvoj objektno orjentisanih tehnologija. Zadnjih godina svedoci smo, moemo slobodno rei ve istorijskog trenda razvoja hardware-a raunara, koji postaju sve manji, bri, snaniji a jevtiniji. Sa druge strane organizacije danas oekuju da za svoja ulaganja dobiju sve vee vrednosti i sve vie podataka koji e biti pravovremeni i tani. Brzina dobijanja podataka je danas odluujui faktor kod donoenja velikih poslovnih odluka. Novac koji treba uloiti u tehnologije koje e omoguiti poslovodstvu da donese pravovremene odluke postaje sve vie minorni faktor. Mnogo vei faktor predstavlalja kompletan reinenjering poslovnog procesa kao i cena i vreme potrebno da bi se sistem razvio. Ne treba zaboraviti i kompletnu edukaciju ljudstva od koga se zahteva dodatan napor kako bi savladalo nove tehnologije. Puno puta to moe da predstavlja i najvei izdatak za jednu organizaciju. Otvoreni sistemi omoguuju organizacijama da uloe novac u jednostavna i relativno jevtina reenja koja e im reiti njihove poslovne zahteve. Standardi koji su doneti u otvorenim sistemima jasno definiu formate u kojim e se podaci razmenjivati, kako pristupati udaljenim monim serverima i kako pozivati servise koji nisu dostupni na personalnim raunarima. Veliki broj razliitih tehnologija kao to su: objetno orjentisani razvoj, relacione i objektno orjenitisane baze podataka, multimedija, ekspertni sistemi, geografski informacioni sistemi(GIS), prepoznavanje glasa, tekstualni procesori i td. Predstavljale su veliki izazov za poslovne organizacije koje nisu mogle da odole ovolikom izazovu koji se nudio po vrlo malim cenama. Klijent server model organizacije omoguavao je idealnu platformu koja je objedinjavala sve ove mogunosti u samo jednoj obinoj desktop maini. Zahvaljujui razvoju svih ovih tehnologija dolo je do kompletnog zaokreta tj. reinenjeringa poslovnog procesa. Organizacije su traile nove naine kako bi upravljale svojim biznisom a koji bi im doneo vei profit. Globalizacija Svet polako postaje jedna velika pijaca jer se mnoge barijere briu Kvalitet, cena , razliiti proizvodi i servisi postaju kljuni faktori i najvaniji marketinki prioriteti. Sve vie se zahteva blii kontakt sa kupcem i zadovoljenje njegovih prohteva. Decentralizacija upravljanja Kvalitet i fleksibilnost zahtevali su donoenje odluka od strane mnogih individualaca koji su u direktnom kntaktu sa kupcima. Nove tehnologije su morale da omogue i takvim osobama da donesu pravilnu odluku o kojoj e i uravn poslovodsvo biti brzo informisano. Mreno upravljanje Kao se biznis vodio sa velikog broja decentralizovanih lokacija, tehnologija je morala da omogui da se sve te decentralizovane lokacije poveu u jednu i da predstavljaju jednu jedinstvenu centralizovanu jedinicu. Dostupnost informacija Da bi neki proizvod imao dobru prou mora se obezbediti da informacije o njemu budu dostupne svima. Kupac mora da oseti da ima sigurnost u neku organizaciju od koje kupuje proizvod. Niska cena Zahvaljujui standardizaciji proizvoda omogueno je velikombroju prizcoaa da se oprobaju i izardi tako da je velika ponuda smanjila cenu proizvoda a poveala kvalitet. Razliite hardveske platforme Zbog raznolikosti hardware-a trebalo je omoguiti da se svi oni meusobno vide. Tj. da mogu da komuniciraji jedan sa drugim bez obzira na tip raunara-procesora. Minimalno poznavanje tehnologije Zbog porasta broja ljudi koji su se ukljuivali u rad sa raunarima trebalo je omoguiti jednostavan pristup svim tim informacijama kao i da se vreme obuke za rad svede na najmanju moguu meru. Zato se i razvijene mnoge tehnologije pre svega vizuelnog pristupa 12

informacijama. Danas se sve vie razvijaju i nove tehnologije koje se svode na to da se raunarima obraamo glasom. Razliita softverska reenja Ogroman razvoj softvera koji je mora da nahrani raunare sa odgovarajuim programima zahtevao je i razliite softverske alate koji su opet morali da budu kompatibilni kako bi mogli da sa meusobno sporazumevaju. Razliite baze podataka Ogroman broj podataka razvio je i odgovarajue softverske alate za unoenje, auriranje i pregled tih podataka. SQL (Structured Query Language) predstavlja jedan od osnocnih postulata kod baza podataka. Ne posroji ni jedna ozbiljnija baza podataka koja ne podrava ovaj vid komunikacije sa njom.

4.1. Pojam klijent-serverKlijent-server je arhitektura gde su korisnik (klijent) i server (davalac usluga) odvojeni ili neravnopravni. Najoitiji je primer pregledavanja Internet stranica. Korisnikov raunar i Internet program su klijent oni zahtevaju, dok su raunar i baza podataka koji ine web stranicu server on daje usluge. Klijent 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. Serveri su obino veoma jaka raunara s dobrim konfiguracijama i karakteristikama zbog toga to istovremeno moraju preraditi mnogo zahteva koji rastu iz dana u dan. Obino servere pokreu i posebni operativni sistemi za razliku od obinih klijent operativnih sistema, serverski operativni sistemi su u vie segmenata bolji i sadre naprednije opcije. Klijent/server model je baziran na distribuciji funkcija izmeu dva tipa nezavisnih i autonomnih procesa: servera i klijenta. Klijent je bilo koji proces koji zahteva specifine usluge od server procesa. Server je proces koji osigurava usluge za klijenta. Klijent i server mogu biti smjeteni u istom raunaru ili u razliitim raunarima povezanim preko mree. U sluaju da su klijent i server procesi smjeteni u dva ili vie nezavisnih i umreenih raunara, server proces moe osigurati usluge za vie od jednog klijenta. Pored toga, klijent moe zahtevati usluge i od vie servera iz okruenja bez obzira na njihove lokacije ili fizike karakteristike raunara na kojima se nalaze server procesi. Mrea slui povezivanju servera i klijenata zajedno osiguravajui medij kroz koji klijenti i serveri komuniciraju.

Slika2. Model klijent- server (http://www.ahyco.ffri.hr/ritehmreze/images/fig1-1.gif, 27.03.2008.) Klijent-server arhitektura i klijent-server model obrade podataka se javlja poetkom devedesetih godina 20 veka, priznanje doivljava ve polovinom istog desetljea, a razvijen je kao rezultat 13

nastojanja da se to bolje iskoristi resurs osobnih raunara, kroz njihovu integraciju u jedinstven sistem za obradu podataka. Klijent-server model obrade podataka je model distribuirane obrade podataka, gdje se funkcije jednog korisnikog programa raspodjeljuju na najmanje dva procesa koji meusobno komuniciraju. Ta dva procesa obrade podataka su: klijentski i serverski. Logika komunikacije klijentskog i serverskog procesa je sljedea: klijentski proces alje poruku serverskom procesu, traei odreenu uslugu, a serverski proces izvrava traeni zadatak i alje poruku klijentskom procesu o rezultatu (uspehu ili neuspehu) izvrenog zadatka. Klijentski i serverski procesi su specijalizirani za izvravanje odreenih tipova zadataka i uvek komuniciraju oni delovi procesa koji su nadleni za traeni zadatak. Oba procesa se mogu izvravati na jednom raunaru, ali pun opseg mogunosti se realizira distribucijom ovih procesa na veliki broj, fiziki dislociranih raunara. Tada je raunarkoji izvrava klijentski dio procesa klijent-raunaro, ili krae klijent, a po analogiji, isto vai i za server. Dakle, za punu primjenu klijent-server arhitekture, potrebna su najmanje dva raunara, povezana komunikacijskom mreom, s instaliranim mrenim operativnim sistemom i uspostavljenom komunikacijom. Elementi koji ine klijent-server sistem jesu: jedan ili vie klijenata, jedan ili vie servera, klijentski procesi, serverski procesi, komunikacijski meusloj (komunikacijski hardver i softver).

2.2 Nain funkcioniranja klijent serverTipian (ali ne i obavezan) scenario po kojem radi klijent/server arhitektura je sledei: Server proces zapoinje na nekom raunaru (na kojem je smeten), pokree se, a zatim prelazi u sleep mod i eka da ga neki klijent proces kontaktira i zatrai neku uslugu od njega. o Klijent proces zapoinje na istom ili nekom drugom raunaru koji je preko mree povezan sa raunarom na kome se nalazi server. Klijent procesi se esto pokreu od strane interaktivnih korisnika koji zahtevaju izvrenje odreenih naredbi. Klijent proces alje zahtev putem mree do servera traei odreenu uslugu od njega. o Kada server proces zavri posao (servis) koji je od njega zatraen od strane klijenta, prelazi ponovo u sleep mod i eka sledei zahtev za nekom uslugom. o Klijent/server arhitektura se zasniva na hardverskim i softverskim komponentama koje spajanjem na taj nain ine sistem. Ovaj sistem sadri tri komponente: klijent, server i komunikacioni posrednik. o Klijent je bilo koji raunarski proces koji zahteva usluge od servera. Klijent, poznat jo i kao glavna aplikacija, odraava injenicu da je krajnji korisnik obino u interakciji sa klijent procesom. o Server je bilo koji raunarski proces koji eka na zahteve od klijenata i osigurava potrebne usluge za klijente shodno pristiglim zahtevima. Poznat je i kao pozadinska aplikacija. Komunikacioni posrednik je bilo koji raunarski proces ijim posredstvom komuniciraju klijent i server. Sastavljen je od nekoliko softverskih nivoa koji pomau pri prenosu podataka i upravljakih informacija izmeu klijenta i servera. Komunikacioni posrednik je obino povezan sa mreom. Svi klijentovi zahtevi i odgovori servera putuju kroz mreu u obliku poruka koje se sastoje od informacija za kontrolu i prenos podataka. Slika 3. Klijent- Server

Klijent Server tehnologijaKlijent predstavlja jednokorisniku radnu stanicu koja omoguava predstavljenje traenih informacija u vidu izraunavanja, povezivanja ili servisa baze podataka koji se odnose na poslovne zahteve. Server predstavlja radnu stanicu sa jednim ili vie procesora koji omoguava viekorisniki (multiuser) rad, koji treba da omogui to bri odziv i davanje traene informacije klijentima. 14

Ideja ovog modela je da se napravi kooperacija procesa izmeu servera koji obezbeuju servise i klijenata koji servise zahtevaju. Ova paradigma se koristi na nivou aplikacije podjednako kao i na nivou operativnog sistema. Svaki proces u iterakciji igra ili ulogu servera ili ulogu klijenta. Sa druge strane, proces 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. Logika komunikacija izmeu klijenata i servera je bazirana na razmeni zahteva i odgovora i to na sledei nain: 1. klijent alje zahtev serveru i blokira se. 2. server prihvata zahtev, obavlja traeni zadatak-posao i vara odgovor klijentu. 3. klijent prima odgovor i nastavlja izvravanje. Fiziki, zahtevi i odgovori se prosleuju dotinom kernelu, i alju kroz komunikacionu mreu ciljnim kernelima i procesima. Iz jednostavnosti ovog modela proizilazi potreba za samo dva komunikaciona sistemska poziva kernelu: send (poalji) i receive (primi) poruku. Vano pitanje je kako klijent locira server ako on promeni lokaciju ili postoji vie servera. Zbog fleksibilnosti serveri se identifikuju preko imena. Serveri, nazvani vezujui serveri (binder servers) spajaju klijente i servere. Procedura koja izvrava ovo spajanje je nazvana dinamiko povezivanje (dinamic bindig).Kada se server startuje on alje povezivau podatke o svojoj lokaciji.Tada klijenti preko povezivaa zanaju lokaciju odgovarajueg servera.Kao dodatak, povezivai mogu pomagati u autentifikaciji klijenata za servere. KOMPONENTE I ARHITEKTURA KLIJENT/SERVER SISTEMA Klijent/server arhitektura se zasniva na hardverskim i softverskim komponentama koje interaguju formirajui na taj nain sistem. Ovaj sistem sadri tri komponente: klijent, server i komunikacioni posrednik. o Klijent je bilo koji raunarski proces koji zahteva usluge od servera. Klijent, poznat jo i kao eona aplikacija, odraava injenicu da je krajnji korisnik obino u interakciji sa klijent procesom. o Server je bilo koji raunarski proces koji eka na zahteve od klijenata i obezbeuje potrebne usluge za klijente shodno pristiglim zahtevima. Poznat je i kao pozadinska aplikacija. o Komunikacioni posrednik je bilo koji raunarski proces ijim posredstvom komuniciraju klijent i server. Sastavljen je od nekoliko softverskih nivoa koji pomau pri prenosu podataka i upravljakih informacija izmeu klijenta i servera. Komunikacioni posrednik je obino povezan sa mreom. Svi klijentovi zahtevi i odgovori servera putuju kroz mreu u obliku poruka koje se sastoje od informacija za kontrolu prenos i podataka. Za ilustraciju interakcije komponenata moe da poslui primer kada klijent zahteva servise od procesa baze podataka. Izvrenje aplikacije je razdvojeno na dve glavne i nezavisne komponente, klijent i server, a komunikacioni posrednik omoguava klijent i server procesima da rade zajedno. Najpre klijent proces alje zahtev do komunikacionog posrednika. Komunikacioni posrednik prosleuje SQL zahtev do server procesa za baze podataka koji prima zahtev, potvruje ga i izvrava. Potom server alje selektovane podatke komunikacionom posredniku koji ih prosleuje i formatira za klijent proces, a ovaj prima podatke i prikazuje ih korisniku. Klijent proces je odgovoran za interfejs krajnjeg korisnika, neku proveru lokalnih podataka, neku obradnu logiku i prikaz podataka. Komunikacioni posrednik obezbeuje da poruke izmeu klijenta i servera ispravno putuju kroz mreu i stignu na svoje odredite. Obrada SQL zahteva se vri na serveru. Server proces potvruje izvravanje zahteva i alje rezultat klijentu. Komponente klijent/server arhitekture moraju da zadovolje neke osnovne principe kako bi meusobno delovale ispravno. Ovi principi moraju biti jednoznano upotrebljivi u komponentama klijenta, servera i komunikacionog posrednika. Pri razvoju i upotrebi klijent-server tehnologije treba se drati sledeih principa, koji moraju biti ispunjeni i to: 1. Hardverska nezavisnost je postignuta kada klijentski, serverski i procesi komunikacionog meusloja uspeno funkcioniu na razliitim hardverskim platformama (IBM, DEC, Apple itd.) 15

bez ikakve funkcionalne razlike, odnosno kada izmene u hardverskoj konfiguraciji sistema ne utiu na funkcionisanje klijent-server sistema. 2. Softverska nezavisnost je postignuta kada klijentski, serverski i procesi komunikacijskog posrednika mogu funkcionirati na razliitim operativnim sistemima (DOS, Windows, Unix, OS/2), uz upotrebu razliitih mrenih protokola (TCP/IP, SPX/IPX) kao i da podravaju razliite aplikacije (baze podataka, radne tabele, elektronska pota itd.). 3. Otvoren pristup servisima je ostvaren kada klijentski proces ima mogunost da, po potrebi, bez ogranienja, koristi usluge svih serverskih procesa u mrei, nezavisno od lokacijske udaljenosti klijenta i servera. Svi klijenti u sistemu moraju imati otvoren pristup svim servisima svih servera koji postoje u mrei i to onoliko puta koliko oni to zahtevaju. Servisi ne smeju zavisiti od lokacija klijenata i servera u mrei. Kljuna stvar je da se servisi obezbeuju na zahtev klijenata. 4. Funkcionalna distributivnost je ostvarena kada klijentski, serverski i procesi meusloja predstavljaju nezavisne initelje u obradi podataka i imaju precizno definirane namene, zadatke i granice. Funkcionalna distributivnost treba omoguiti "zamenjivost" delova softvera, to podrazumijeva da tekua verzija nekog klijentskog, serverskog ili programa u meusloju klijentserver arhitekture, moe zameniti novom, a da to ne utie na funkcionisanje ostalih komponenti softvera. Celokupna obrada podataka je distribuirana izmeu klijenta i servera. Podela optereenja obrade mora se povinovati sledeim zahtevima: Klijent i server procesi moraju biti autonomni, sa jasno definisanim granicama i funkcijama. Ova osobina omoguuje jasno definisanje funkcionalnosti obe strane. Lokalno korienje resursa (i klijenta i servera) je maksimalno. Procesi klijenta i servera moraju potpuno koristiti snagu obrade glavnog raunara. Ova osobina omoguuje dodelu zadataka raunaru koji najvie funkcionalno odgovara. Potrebno je da procesi budu takvi da mogu biti lako i to bolje izvreni na vie snanih hardverskih platformi. Potrebno je jo da bude ispunjen i uslov prenosivosti softvera izmeu razliitih maina bez potrebe da se intervenie na izvornom kodu, ve je potrebno samo izvriti prevoenje i povezivanje kako bi softver odmah moga da se upotrebi. 5. Interoperabilnost i integracija zahtevaju da procesi klijenta i servera budu integrisani u "bezavnu" formu sistema, tj. razliite aplikacije imaju mogunost razmene podataka izmeu razliitih hardverskih platformi i operativnih sistema bez obzira na udaljenost, opremu, tip operativnog sistema i dr. Izmene server procesa moraju biti transparentne za klijent procese. 6. Standardizacija ima za cilj da osigura to vii stepen hardverske i softverske nezavisnosti, kao i nezavisnost korisnikog programa od podataka. Korisniki interface, pristup podacima i mreni protokol, kao i drugi elementi klijent-server arhitekture trebaju biti pokriveni odgovarajuim standardima. Svi principi moraju biti bazirani na standardima primenjenim unutar klijent/server arhitrkture. Na primer, po standardima se mora upravljati korisnikim interfejsom, pristupom podacima, mrenim protokolima, meuprenosnom komunikacijom, itd. Univerzalni standardi jo uvek ne postoje ve ima mnogo razliitih standarda koji se mogu primeniti. Na primer, aplikacija moe biti bazirana na ODBC (Open DataBase Conectivity) umesto IDAPI (Integrated Database Application Programing Interface) za pristup podacim i moe koristiti SPX/IPX umesto TCP/IP mrene protokole

Prednosti klijent server tehnologijeOsnovna prednost dvoslojne klijent-server arhitekture je ta to bazu podataka ini nezavisnom od aplikacija, jer integritet baze podataka osigurava njenu nezavisnost od aplikacija koje nad njom rade. Jedini mehanizam potreban za komunikaciju aplikacije sa bazom podataka je SQL upit, koji se prosleuje direktno ili kroz neku raunarsku mreu. Ipak, znaajan deo aplikacije se vee za klijenta, to prouzrokuje osnovne nedostatke ovakve arhitekture. Povezivanje dinamikog ponaanja sistema (logike sistema) za klijenta, zbog estih izmena u korisnikom okruenju, prouzrokuje skupo odravanje sistema a zbog estih izmena u tehnologiji korisnikih interface-a i skupo odravanje. Osnovne prednosti koje nam klijent server arhitektura omoguava sastoje se u sledeem: 16

1. Pristup ogromnoj koliini podataka - ak se moe rei pristup neogranienoj koliini podataka. 2. Integrisani servisi na jednom mestu ( E-mail, grafika, baze podataka, tekstovi, kao primer prikazati benzinsku pumpu.) 3. deljeni resursi na razliitim platformama 4. zamenljivost podataka i interoperatibilnost 5. maskirani fiziki pristup podacima putem lozinki dozvoljava se ogranieni pristup podacima ( firewall) 6. nezavisne lokacije procesiranja i pamenja podataka 7. centralizovano upravljanje

17

5 as Klijent server komponente KLIJENT U klijent server modelu, bilo koju radnu stanicu (desktop workstation) koju koristi jedan korisnik smatramo klijent radnom stanicom ili samo klijentom. Ukoliko toj istoj stanici pristupaju istovremeno vie korisnika simultano, tu istu stanicu nazivamo serverom. Iz ovoga proizilazi da u klijent server modelu ne postoje neke tehnoloke razlike, sa stanovnitva raunara, izmeu klijenta i servera. Za vreme poslednjih 30 godina performanse radnih stanica su dramatino menjale tj. napredovale. Za istu cenu,performanse CPU poveale su se 500 puta (4,7MHz->2,4GHz), veliina RAM-a (operativne memorije) 4000 puta ( 256kB -> 1GB) i kapacitet hard diskova 30000 puta (10MB-> 300GB). Ovako veliki napredak tehnologije uinio je da aplikacije koje su se izvravale na desktop raunarima postanu jako sofisticirane tj. u mogunosti su da reavaju jako teke i zahtevne probelme poev od jednostavnog tekst editora pa sve do vrlo sloenih multimedijalnih problema. Sa druge strane ovakav veliki razvoj tehnologije desktop raunara prouzrokovao je i veliki razvoj drugih raunarskih tehnologija a pre svega komunikacionih (razvoj velikog broja protokola) i mrenih ( LAN i WAN mree). Danas 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. Klijent je bilo koji proces koji zahteva usluge od serverovog procesa. Klijent zapoinje konverzaciju sa serverom. Klijent sadri hardverske i softverske komponente i poeljno je da one poseduju sledee karakteristike: o Ne toliko snaan hardver o Operativni sistem koji je sposoban da podri multitasking o Grafiki korisniki interfejs (GUI Graphic User Interface) o Komunikacione sposobnosti Hardver klijenta je obino stoni raunar (PC ili radna stanica, a u poslednje vreme se koristi i Xterminal koji jedan de potrebnog klijent/server softvera dri u ROM-u, a ostatak se puni u RAM memoriju sa servera preko mree). Klijent 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. Od ve starih DOS/Windows operativnih sistema do dananjih WinXP i Win 7 operativnih sistema koji su trenutno najkorienije klijent platforme. Mada DOS ima jaka ogranienja u pogledu memorije i podrke multitaskinga, Windows 3.1 obezbeuje primitivne multitasking osobine i GUI. WinXP kao samostalan operativni sistem podrava multitasking i sve vie zamenjuje DOS/Windows kombinaciju. Ove osobine kao i mnotvo razvijenih aplikacija za ove operativne sisteme ine ih vrlo pogodnim za klijent/server implementaciju. Kombinacija hardvera i operativnog sistema mora obezbediti adekvatno povezivanje sa raznim mrenim operativnim sistemima. Servisi mogu biti rasporeeni na razliitim mreama i klijent raunari moraju biti sposobni da pristupe svim tim servisima. Zbog toga, bez obzira na popularnost DOS/Windows kombinacije i Windows-a XP, kao bolja reenja za klijent operativne sisteme se javljaju OS/2, Unix ili Linux. Klijent aplikacija se startuje pod nekim operativnim sistemom i povezuje se sa komunikacionim posrednikom radi pristupa slobodnim servisima na mrei i ove aplikacije su uglavnom zasnovane na grafikom korisnikom interfejsu sa namerom da se sakrije kompleksnost od krajnjeg korisnika. Klijent aplikacija interaguje sa operativnim sistemom radi korienja multitaskinga i grafikog korisnikog interfejsa koje on obezbeuje. Ona jo interaguje i sa mrenom softverskom komponentom komunikacionog posrednika radi pristupa servisima. Hardverska komponenta komunikacionog posrednikam (mrena kartica i mreni kabl) fiziki transportuje zahteve i odgovore na zahteve izmeu klijenta i servera. Dok se zahtev izvrava na serveru, klijent je slobodan da izvrava druge poslove. Uloga klijenta U klijent server modelu klijent je u osnovi potroa servisa kojima ga snabdeva jedan ili vie servera. Ovaj model omoguuje jasnu podelu funkcija izmeu klijenta i servera jer server treba da omogui odreene servise klijentu u odnosu na njegove zahteve. Vrlo je vano da se razume da radna stanica 18

moe da funkcionie kao klijent i kao server, sve u zavisnosti kako se posmatra ta stanica. Na primer u LAN mreama jedna stanica moe da funkcionie kao klijent za jednog korisnika koji na njoj radi a istovremeno kao print server za druge korisnike u mrei. Jedan od osnovnih servisa koji se izvravaju na klijen radnoj stanici je prezentacioni servis. On podrazumeva ulazni i izlazni servis koji kontrolie prihvatanje i prikazivanje podataka. Dananje tehnologije omoguile su grafiki korisniki servis (GUI Graphical User Interface), a nove multimedijalne tehnologije koje su danas u velikom razvoju omogui e nam u budunosti audio-vizuelni pristup podacima. Tehnika viestrukih prozora ( windowing enviroment) omoguuje klijentu korisniku da bude ukljuen u nekoliko simultanih sesija. Tako funkcije kao to su unoenje teksta, sluanje muzike, praenje E-maila i grafiko prikazivanje podataka mogu potpuno simultano da se odvijaju na jednom klijent raunaru. Normalno da bi sve ovo mogli da pratimo potrebni su nam odgovarajui operativni sistemi koji podravaju multitasking rad kao to su WIN2000, WINXP ili LINUX. Mogunosti kao to su DDE ( Dynamic Data Echange) dinamika razmena podataka, OLE ( Object Level Embedding) i CORBA (Communicating Object Request Broker Architecture) omoguuju prostu operaciju cut and paste izmeu tekst procesora, baza podataka, tabelarnih prikaza, grafikih prikaza u razliitim viestrukim prozorima. Klijent servis Idealna klijent server platforma operie u jednom otvorenom sistemskom okruenju i koristi serverske servise na bazi postavljenih zahteva ( tehnika zahtev/odgovor ) koji su svi bazirani na ranije dobro definisanim i usvojenim standardima. Zahvaljujui ovim osobinama omogueno je da veliki broj potpuno razliitih i hardverskih i softverskih reenja meusobno vrlo dobro sarauju i rade. Serveri mogu da se dograuju i da menjaju svoj operativni sistem ili hardversku platformu a da se sa gledita klijenta to uopte i ne oseti tj. nije potrebno da se menja aplikacija sa strane klijenta. Jedini uslov je da se sve te promene odvijaju po unapred definisanim i usvojenim standardima. to se tie klijenta i tu je pria ista. Klijenti mogu da menjaju takoe svoj operativni sistem, aplikaciju ili hardversku platformu a da to server uopte i ne primeti. Tako sa gledita klijenta moemo da imamo obinu 386 mainu ili neku RISC-baziranu mainu i da obe maine zahtevaju od servera isti servis. Prvi klijent server sistemi nisu imali grafiko okruenje GUI (Graphical User Inteface). Sve informacije koje su dolazile od strane servera bile su u obliku tekstualnih podataka koji su puno puta bili dosta nepregledni. Dananji sistemi imaju kvalitet vie pa pored tekstualnih podataka imaju i GUI prikaz i audio vizuelni prikaz koji podrazumeva i ton i sliku. Kolika je to prednost najbolje se ilustruje kod sistema zatite prostora. Ta zatita se najee radi sa vie tehnikih sredstava kao to su kamere, mikrotalasne barijere i razliitim vrstama senzora. Na svako naruavanje prostora automatski se ukljue kamere i slika nam se prikae na ekranu monitora sa svim potrebnim prateim podacima u vidu teksta. Na drugoj strani prednos ovakvog prikaza je u vrlo jednostavnoj i skraenoj obuci personala za rad sa ovakvim sistemima. Neke studije su pokazale da primena GUI moe da povea produktivnost i efikasnost i do 200 % vie u odnosu na obine tekstualne aplikacije. Fukcionalnost klijentskog procesa moe biti i poveana na strani klijenta dodavanjem logike koja nije implementirana u aplikaciju koja se izvrava na serveru. Lokalno sreivanje teksta, sposobnost davanja HELP informacija, automatski ulaz podataka predstavljaju samo neke servise koji u mnogome unapreuju klijent serverski proces. Ako se mnoge greke detektuju i otklone na strani klijenta, tada se u mnogome poveava brzina serverske strane pa se samim tim i poveava funkcionalnost celokupnog klijent server sistema. Da vidimo sada kako se odvija ta komunikacija izmeu klijenta i servera. Klijent radna stanica zahteva neki servis od servera. Kad god je taj server isti kao i radna stanica ili pak predstavlaj neki mreni server aplikacioni format zahteva je isti. NOS (Netware Operative System) softver prenosi ili dodaje specificirani zahtev od izvora do ciljnog servera na kome se izvrava neka aplikacija, IPC (InterProcess Communication) predstavlja generiki izraz koji se koristi da opie komunikaciju izmeu dva ili vie procesa koji se izvravaju. U klijen server modelu ti procesi mogu biti na istom raunaru, na raunarima koju su povezani u LAN mreu ili pak u WAN mrei. Najei servis koji NOS pokree u takvim sluajevima je servis redirekcije. Ovaj servis prihvata pozive od klijentskog operativnog sistema i prenosi preusmerava ih prema serverskom operativnom sistemu. Na taj nain zahtevi za direktorijume na 19

disku, disk fajlovima, printerima, printer redovima, serijskim ureajima, aplikacionim programima se presreu putem redirekcionog softvera i preusmeravaju se prema korektnom serveru. Dugi niz godina programeri su se trudili da razvijaju modularni kod koristei strukturnu tehniku i logiku poziva podprograma. Danas se zahteva da ti podprogrami (subroutines) budu ipameni negde kao objekti koji e sada biti dostupni svima ko eli da se koristi njima. Tehnika poznata kao RPC (Remote Procedure Call) upravo omoguava ovakav vid programiranja. RPC zbog toga predstavlja srce klijent server modela i sutini predstavlja program koji moe da pozove bilo koju proceduru u mrei sa ciljem da zadovolji zahteve klijenta. Pri tome ak i ne mora da zna ni fiziko mesto gde se traena procedura ili servis nalazi i izvrava. Klijent upuuje svoj zahtev i dobija odgovor preko samo jedne send primitive, to znai da RPC troi samo jednu operaciju jezgra. Takoe u ovom mehanizmu pojednostavljeno je baferisanje jer u istom baferu umesto zahteva u povratku moe da se smesti traeni odgovor. RPC omoguava da se poziv i izvrenje zahteva moe odvijati na potpuno razliitim operativnim sistemima i potpuno razliitim hardverskim platformama. Mnogi RPC omoguavaju i servise translacije. Oni podrazumevaju da se vri prevoenje (translacija) podataka izmeu procesora sa razliitim fizikim formatima podataka. Ti standardi se stalno usavravaju i prilagoavaju zahtevima trita. Vrste klijent servisa kojise odvijaju na klijentskoj strani: Fax/Print servis NOS ( mreni operativni sistem) omoguuje klijentu da generie zahtev za tampanjem bez obzira to je tog trenutka printer zauzet. Taj se zahtev prenosi putem NOS redirektora i smeta u print server red kojim upravlja print server manager. Klijentska stanica moe da vidi status print red u bilo koje doba i tako se informie kada e traeni servis biti omoguen tj. izvren. Veina print servera obavetava klijensku stanicu kada se njen zahtev izvri. Fax servis se izvrava na potpuno isti nain kao i print zahtev. E-mail servis funkcionie na isti nain kao i gore opisani servis. Window servis servis prozora oznaava da se na klijentskom raunaru mogu istovremeno otvoriti vie prozora u okviru kojih se mogu izvravati razliite aplikacije. Mogunost da se aktivira, vidi, pomera, smanji ili povea, sakrije odreeni prozor omoguena je ba zahvaljujii ovom servisu. Ovaj 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. Kod pisanja aplikacija nije potrebno voditi rauna o servisu prozora jer se on automatski prenosi na alikaciju. Svaka aplikacija se pie tako da se predpostavlja da ona ima na raspolaganji jedan virtuelni prozor putem kojeg ona komunicira sa korisnikom. Taj virtuelni prozor je poizvoljne veliine i moe biti vei nego to je fiziki prozor. Aplikacija koja koristi GUI smeta podatke u taj virtuelni prozor, a servis prozora sada vodi rauna o smetanju i prikazivanju tog prozora u realnim uslovima. To u mnogome pojednostavljuje pisanje aplikacija jer programer nema potrebu da vodi rauna o servisu prozora. NOS omoguuje klijentskoj radnoj stanici, bez obzira u kojoj se aplikaciji trenutno nalazila, da putem popup prozora obavetava klijenta o nekim deavanjima na serverima kao to su: zavretak tampanja, probel u ampanju, novoj poti u E-mail sanduetu, pristiglom FAX-u i td. Remote Boot Service Neke aplikacije mogu da se izvravaju na klijentskim radnim stanicama bez bilo kakvog lokalnog diska sa koga bi se uito opertativni sistem ili aplikacija. Primer X-terminala. Da bi to moglo da funkcionie klijent mora da obezbedi odgovarajui softver koji se nalazi u EPROM memoriji koja je u klijenskoj radnoj stanici i osnovna namena tog programa je da startuje IPL (initial program load) tj. proces 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 fajlova tkz. Backup-iranje. Utility Service Operativni sistem omoguava lokalne funkcije kao to su: kopiranje, premetanje, editovanje, uporeivanje i funkciju helpa koji se izvrava na lokalnoj radnoj stanici. Message Service Poruke se mogu primati i slati potpuno sinhronizovano na mreu. Ovaj servis omoguava baferovanje (skladitenje), pozadinsko prikazivanje (scheduling) i servis izbora poruka (arbitration service) da bi mogao u potpunosti da izvri sve zahteve kojise stavljaju pred njim. Network Service Klijentska radna stanica komunicira sa mreom putem vie servisa i API-a koji kreiraju, alju, primaju i formatiraju mrene poruke. Da bi to sve moglo da se obavi neophodna je 20

podrka za komunikacione protokole kao to su: NetBIOS, IPX, TCP/IP, APPC, Ethernet, Token Ring, X.25 i td. Application Service Podrazumeva da mnoge aplikacije imaju sopstveni RPC kojim se koriste da bi mogle da pozovu neke servise sa udaljenog servera. Database Service Zahtevi za podacima iz baze podataka zasnivaju se na SQL sintaksi. SQL predstavlja industrijski standardizovani jezik za uparvljanje bazama podataka. Netware Mangment Service-Alerts Veina mrenih interfejs kartica (NIC-netware interface cards) moe da generie alerte-upozoravajue poruke koje obavetavaku klijenta o pojavi greaka na mrei u vrlo ranom stadijumu- na fizikom nivou. To je jako dobro jer je mogue problem razreiti u ranoj faze pre nego to ta greka doprinese da ona bude katastrofalna.

21

6 as

Programska podrka klijenta

Sve vei zahtevi koji su se postavljali pred programerima kod pisanja aplikacija 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 aplikacije izvravale. Sve su to bili krupni zahtevi koji su u mnogome usporavali razvoj aplikacije. Prosto je nemogue bilo da se sa jednom aplikacijom objedine sve te tehnologije kao i da se vodi rauna o upravljanju svi deljivim resursima servera (kao to su memorija ili procesorsko vreme), da se vodi rauna o upravljanju kontekstom ili rukovanju nitima. To bi zahtevalo da se svaka transakcija koja se deava u sistemu posebno programira a takve aplikacije bi bile jako teke i skupe za odravanje. To je jedan od glavnih razloga to je razvoj komponentnih modela postao popularan i doive veliki razvoj poslednjih godina. Komponente u kojima je implementiran mehanizam izvravanja transakcija u mnogome oslobaaju programere od ovog tekog zadatka i predstavljaju jedan od najefikasnijih naina da se brzo i kvalitetno naprave aplikacije koje e u potpunosti zadovoljiti zahteve trita. Komonentni model razvijanja aplikacije omoguava lake izmene a samim tim i jednostavno odavanje aplikacije. Sa druge strane vreme potrebno za razvijanje, pisanje i implementaciju aplikacije se drastino smanjuje jer postoji veliki broj ve razvijenih komponenti koje se mogu sa lakoom primeniti i iskoristiti. Ovakav pristup impementaciji transakcija se naziva deklerativnim pristupom. Trenutno najpopularniji komponentni modeli kod razvijanja aplikacije su COM+ (Component Object Model), EJB (Enterprise Java Beans) i CORBA (Common Object Request Broker Architecture) 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. To su: o Dynamic Data Excange (DDE) -predstavlja funkciju koja omoguava klijentu da razmenjuje podatke izmeu razliitih aplikacija zahvaljujii jedinstvenom API-u. Na primer grafiki prikaz nekog podatka moe biti povezan sa podacima u bazi podataka. Kako se ti podaci menjaju tako se i grafiki prikaz menja. o Object Linking and Embedding (OLE)- OLE predstavlja jedno proirenje DDE koje je omoguilo da sa objekti kreiraju sa objektim softverskim komonentama. To znai da postoji referenca izmeu objekata i odgovarajueg softvera kojim su te komponente formirane. Na primer ako u nekom tekst dokumentu imamo neke slike koje su kreirane sa nekim grafikim softverom (Corel ili Photoshop) kada god kliknemo na tu sliku, iako se nalazimo u okviru tekst procesorra ( WORD ), automatski se otvara program kojim je ta slika formirana.Tu se pokreu dva programa viewer(pregledanje) i launcher(izvravanje). Sa viwer-om korisnik moe da vidi objekat sa jednim softverskim paketom dok radi u drugom paketu, a sa launcher-om on poziva softverski paket koji je kreirao taj objekat i na raspolaganju su mu sve funkcije tog paketa. OLE je 1992 god. razvio Microsoft koji je kasnije 1995 god. prerastao u COM (Component Object Model). Od 1996 godine COM poinje sa podrkom distribuiranog procesiranja i dobija ime DCOM (Distributed COM). o Distributed Computing Environment (OSF DCE)- predstavlja komunikacioni mehanizam koji nam dozvoljava kako rad tako i razvoj distribuiranih aplikacija baziranih na klijent server modelu. Filozofija klijent server sistema podrazumeva veoma visok nivo komunikativnosti izmeu raunara bez obzira na njihovu veliinu, hardversku platformu ili vrste operativnog sistema tj. softverske aplikacije koja se na njima izvrava. Bez obzira na razliite ciljeve i okruenja na kojima se te aplikacije izvravaju sve one imaju neke zajednike osnove koje moraju da zadovolje a to su: - RPC (Remote Procedure Call) je osnovna premisa distribuiranih heterogenih komunikacija. Ranije smo ve govorili o RPC kao servisu-programu koji predstavlja srce klijent server modela. Meutim, RPC se moe posmatrati i kao protokol na nivou prezentacije ISO OSI modela standardizovanog komunikacionog okruenja. Tako posmatrani PRC moe se opisati preko pet osnovnih komponenti i to: stubovi, protokol za uspostavljanje veze (binding protocol), reprezentacija podataka, transportni protokol, upravljaki 22

protokol kao to je prikazano na slici br 1.

Da bi se ove nabrojane komponente mogle da objasne potrebno je da razvoj i upotrebu distribuirane aplikacije posmatramo kroz tri faze: vreme potrebno za kompilaciju, 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. Server implementira poseban interfejs napisan u nekom opisnom jeziku (IDL interface description language) iji se opis onda procesira proizvodei dva stuba: klijentov i serverov stub. Klijentov 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 proces kada se klijent pridruuje serveru) i transporta (kada se argumenti i podaci stvarno razmenjuju izmeu klijenta i servera). RPC mehanizam takoe ovde upravlja sinhronizacijom, kodiranjem podataka, timeout-ima( proble kada raunar iz nekog razloga ne odgovori unutar nekog predvienog vremena zbog pada raunara ili preoptereenja mree) i zatitnim informacijama. - administracija imena resursa je od izuzetne vanosti jer distribuirani sistemi upotrebljavaju imena da opiu razliite resurse kao to su raunari, fajlovi, adresari, programi, korisnici i td. Osnovni zahtev je da se ova imena mogu identifikovati na jedinstven nain u celom distribuiranom sistemu ma kakav on bio heterogen i razuen. Koegzistentnost imena se zahteva i onda kada se promeni lokacija nekom od ovih resursa. Ba iz tog razloga, sa obzirom na potencijalno 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.Jasno je da u jednom distribuiranom raunarskom sistemu zatita podataka mnogo kopleksija nego kod samostalnih raunarskih sistema. Posebni serveri zatite, kriptovanje podataka, sistem autentinosti, lozinke, specijalni protokoli i mnogi drugi mehanizmi su razvijeni da bi se obezbedila potpuna zatita podataka. Zahvaljujui OSF DCE komunikacionom mehanizmu obezbeen je jedan potpuno novi ambijent za razvoj aplikacija u distribuiranim mrenim okruenjima. Omogueno je da se vrlo sloeni programi mogu razvijati na vie razasutih lokacija irom sveta. U veoma kratkom vremenu, koristei svaki za sebe najbolje lokane resurse (znanje i opremu) kao i prilazei ve razvijenim programima na drugim lokacijama, programerima je omogueno da razvijaju jako mone i 23

sloene aplikacije. Koristei RPC, klijent moe pozvati proceduru na udaljenom sistemu na nain kao da je to lokalni poziv procedure. RPC sa sobom nosi potrebne argumente i vraa rezultat. Server sada predstavlja udaljeni ekvivalent biblioteke procedura, dok je klijent programaplikacija koja poziva te procedure. Problem povezivanja klijenta i servera se odvija na posebnom serveru na kome se izvrava proces povezivanja. Ako se zna da RPC troi samo nekoliko milisekundi ( u zavisnosti od kvaliteta mree i njene optereenosti), a sve ostalo vreme je isto kao i u lokalnim uslovima, onda je jasno zato je ovakav komponentni pristup reavanju probelma doiveo ovoliki procvat.

24

7 as S obzirom da se sistemi zasnovani na distribuiranim objektima razvijaju ve decenija unazad, na tritu postoji veliki broj razliitih platformi (tehnologija) za implementaciju vieslojne arhitekture. Pri odabiru distribuirane tehnologije treba obratiti panju na sledee parametre: - prenosivost (portabilnost) klijentske i serverske platforme - prenosivost programskog jezika - performanse pri izvravanju - jednostavnost razvoja - sigurnost Rezultati testiranja sa razliitim komunikacionim modelima za udaljeno pozivanje komponenata do danas su rezultirali nekoliko najpoznatijim tehnologijama o kojima e biti daljer rei. 7.1 Componet Object Model (COM+ / DCOM ) COM+ predstavlja evoluciju starije tehnologije COM (Component Object Model). COM je specifikacija za objekte koja definie interfejs preko koga razliiti objekti mogu da komuniciraju. COM je nezavisan od programskog jezika ukoliko implementira COM interfejs. Teoretski moe da se implementira na razliitim operativnim sistemima, meutim nijedan drugi operativni sistem nije prihvatio COM objekte osim Microsoft Windows-a. Da bi se omoguilo da COM objekti sa razliitih sistema meusobno razmenjuju informacije, COM specifikacija je proirena i nastao je DCOM (Distributed COM). DCOM poseduje znatno kompleksniji model konfiguracije i sigurnosti. Za potpuno razumevanje COM+ komponentnog modela prvo je potrebno razjasniti Windows DNA (Distributed interNet Aplication architecture).Windows DNA je platforma koja opisuje kako razvijati vieslojne, skalabilne distribuirane aplikacije visokih performansi za rad u mrei. Cilj DNA je dobavljanje enterprise level reenja. Srce DNA je integrisani programski model baziran na COM+. Drugim reima DNA je put za obezbeivanje enterprise based reenja Microsoft-a.Alati COM+ Prezentacioni sloj DHTML, Forme Sloj poslovne logike WEB Server (IIS), Transakcije (MTS) Sloj pristupa podacima DBMS, File system, mail, txt Sistemski servisi Administracija Mreni servisi

Zatita Osnovni servisi

Kao to je prikazano na slici Windows DNA se sastoji od tri sloja: 1. Prezentacioni sloj - predstavlja sloj koji je odgovoran za prikupljanje informacija od korisnika, vrenje osnovnih provera unetih podataka, njihovo slanje sloju poslovne logike, primanje rezultaa od sloja poslovne logike i prezentacija dobijenih rezultata korisniku u razumljivom formatu. Ovaj sloj sainjavaju VB, HTML, DHTML, Win32 aplikacije, klijent-server skriptovanje, java apleti, ActiveX kontrole i td. 2. Sloj poslovne logike ovo je sloj odgovoran za primanje podataka od prezentacionog sloja, iterakciju sa slojem za pristup podacima radi procesiranja podataka i slanje obraenih informacija prezentacionom sloju. Ovaj sloj obezbeuje poslovna pravila i servise koji pomau tokom pisanja skalabilnih aplikacija. Ovi servisi su vrsto integrisani jedan sa drugim i sa operativnim sistemom i dostupni su preko COM-a. Oni ukljuuju sledee: a. Web servise, putem Microsoft Internet Information Server-a (IIS) b. Transakcionog i servisa komponenti, putem Microsoft Transaction Server-a (MTS). c. Asihronih i servisa redova, putem Microsoft Message Queue Server-a (MSMQ). d. Serverskog skriptovanja, putem Active Server Pages (ASP). 3. Sloj za pristup podacima Ovaj sloj direktno interaguje sa podacima koji obino egzistiraju u bazi podataka kao to su SQL Server ili Oracle. Ovaj sloj je odgovoran za smetanje, pronalaenje 25

i odravanje podataka kao i integrititeta podataka. Pristup podacima preko Windows DNA naziva se Universal Data ACCess (UDA). UDA je skup modela sistemskog i aplikacionog nivoa zvanih OLE-DB, ADO i RDO. Prvi poetak razvoja COM+ objekata datira jo od 1992 god. kada je Microsoft razvio OLE (Object Linking and Embedding) koji je kasnije (1995) nazvan COM (Component Object Model). 1996 COM poinje sa podrkom distribuiranog procesiranja i dobija ime DCOM (Distibuted COM). Istovremeno Microsoft razvija novi transakcioni server koji dobija naziv Microsoft Distributed Transaction Coordinator (MTDC) koji je 1997 unapreen u Microsoft Transaction Server (MTS). 1997 Microsoft razvija jo jedan server koji dobija ime Microsoft Message Queue Server (MSMQ). Nakon svih ovih proizvoda, 1999, Microsoft kombinuje sve dotada razvijene servise u integrisano runtime okruenje COM+. Drugim reima, COM+ je integrisano okruenje koje programerima obezbeuje pristup COM, MTS, MSMQ i drugim servisima. Na prvi pogled moglo bi se rei da je COM+ kombinacija COM-a i MTS-a, no COM+ je mnogo vie od toga. COM+ je proirena verzija COM-a sa dve glavne razlike. Prvo on ukljuuje proirenu i nadgraenu verziju MTS-a MTS 3, i etiri glavna servisa ukljuujui MSMQ, Load Balancing, Event Services i IMDB. Sve ove komponente i servisi rade zajedno radi obezbeivanja integrisanih enterprise reenja. Na kraju, moe se rei da COM+ predstavlja:

COM+ = COM + MTS (nadgraena verzija) + ServisiDakle, COM+ predstavlja jedno integrisano runtime okruenje koje u sebi kombinuje sve do sada razvijene tehnologije distribuirane obrade od strane Microsofta i to: - COM objekte, - MTS (Microsoft Transaction Server) - MSMQ (Microsoft Message Queue Server) slui da bi se podrao queuing servis, koji omoguuje klijentu da moe automatski izvriti pozive metoda osim ako komponenta nije ofline. MSMQ pozive metoda snima i stavlja u redove ekanja automatski uvek kada je komponenta dostupna. Ovaj servis je naroito koristan za online aplikacije koje se moraju izvriti do kraja. Na primer online bankarstvo, rezervacija avionskih karata i td. - Load Balancing koji predstavlja mehanizam za distribuciju klijentskih poziva ka vie servera. Prva potreba distribuiranih aplikacija je skalabilnost. Drugim reima, mreni saobraaj i broj klijenata ne sme da utie na perfomanse aplikacije (to je u nemogue u realnim uslovima). COM+ omoguuje korienje dve vrste load balancing-a dinamiko i statiko. COM+ podrava load balancing na nivou komponenti. Kada klijent uputi zahtev za specifinom komponentom, prvo se konektuje na load balancing ruter koji sadri informacije o serverima. Ovaj ruter nakon toga prosleuje zahtev dostupnim serverima. Ako je server dostupan, klijent dobija instancu komponente na serveru. Najbolja stvar u ovome je da ako server pone da sputa sistem, COM+ automatski rutira klijentski zahtev ka drugom serveru. Windows 2000 ima ovaj servis i naziva se Clustering service. - Object pooling je vrsta recikliranja objekata. Kada klijent zavri sa radom sa instancom komponente, umesto unitavanja instance (oslobaanja memorije zauzete instancom komponente), COM+ je reciklira. Kada neki drugi klijent uputi zahtev za instancom iste komponente, COM+ vraa recikliranu instancu. Poto je skup instanci komponente uitan u memoriju, one su neposredno spremne za korienje od strane klijentskih aplikacija. - Just-In-Time Activation U COM+ -u kada klijent prosledi zahtev za kreiranje instance objekta, COM+ obezbeuje da klijent referencira kontekst objekta umesto da referencira objekat. Klijent dobija referencu na objekat tek kada pozove metodu tog objekta. Ova tehnika se naziva Just-In-Time Activation (pravovremena aktivacija). Pretpostavimo da imate hiljadu klijenata koji ele da instanciraju 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 instance komponente za svakog klijenta. - Event Services iji je zadatak da obrauje dogaaje izmeu dva objekta. U COM-u, dogaaji su se mogli obraivati na dva naina, prvi je bio korienje povratnog mehanizma interfejsa gde klijent implementira neki interfejs koji koristi komponenta. Dogaaji ili notifikacije su tada bivali inicirani pozivanjem preko klijentskog interfejsa. Drugi nain je Connectable Objects, 26

-

koji koristi standardni COM IconnectionPoint interfejs. Kada dva modula komuniciraju, jedan prosleuje informacije a drugi ih prima. U COM+ modul koji prosleuje informacije naziva se Publisher, a modul koji prima informacije naziva se Subscriber. U COM-u je postojalo nekoliko problema koji su reeni u COM+ -u: Publisher i Subscriber su bili tesno povezani zbog potrebe za poznavanjem definicija interfejsa jedno drugog u vreme kompajliranja . Dodavanje Publisher-u podrke za multi-kasting ili poveani broj izlaza zahtevalo je mnogo kodovanja. Arhitektura je samo opisivala set interfejsa. Programeri su i dalje morali da implementiraju te interfejse. Connection point interfejsi su kreirani bez podrke za distribuirana okruenja i nisu bili efikasni u tim scenarijima. IMDB (predstavlja robustan, kratkotrajni i izvrni ke koji poveava performanse distribuiranih aplikacija). IMDB koristi OLE_DB i ADO i obezbeuje brz pristup podacima koji se nalaze u bazama podataka. Umesto uitavnja u runtime modu, IMDB uva bazu i keu. Role-Based Security predstavlja nain da pridruite razliita prava pristupa komponenti razliitim korisnicima ili grupama korisnika. Na primer, moete napraviti komponentu koja e menaderu projekta omoguiti da ita, pie ili menja specifikaciju projekta, dok e programeri moi samo da itaju specifikaciju. Prava pristupa se mogu odreivati korienjem COM+ kataloga ili programskim putem (programiranjem).

7.2 Common Object Request Broker Architecture (CORBA) Veliki razvoj PC raunara kao i pad njihove cene, doveo do velikog razvoja mrenih tehnologija. pocetkom 90-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 aplikacija. Sa ciljem da premosti jaz izmeu programa koji su bili pisani na razliitim programskim jezicima, izvravali se na raunarima na kojima su se izvravali razliiti operativni sistemi, koji su bili povezani preko razliitih mrenih tehnologija koricenjem razliitih mrenih protokola, nastao je standard CORBA Common O