klijent server sistemi - skripta

Upload: bane-majkic

Post on 13-Oct-2015

80 views

Category:

Documents


4 download

TRANSCRIPT

  • 1

    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.

    OTVORENISISTEMI

    ZATVORENISISTEMI

    Specijalnikorisnici

    IstraivanjeRazvoj

    Proizvoaisoftvera

    Proizvoaihardvera

    Proizvo

    VAR

    a

    iure aja

    Komercijalnikorisnici

    Slika broj 1.

  • 2

    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.

  • 3

    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)

    ZAINTERESOVANI

    ZAINTERESOVANI

    ISDISDPRFT(Request fortechnology) Draft

    ProposalDraftInternationalStandard

    InternationalStandard

    12 3 4

    Slika broj 2. Proces donoenja standarda

  • 4

    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

  • 5

    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 hardver Mree 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/repetitori vorita/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

  • 6

    vorova po segmentu

    rastojanje

    po segmentu

    10BaseT 2 100m

    10Base2 30 185m

    10Base5 100 500m

    10BaseFL 2 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.

    Mostovi Mostovi 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.

    Usmerivai Usmeravanje 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.

    Komutatori Komutatori 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

  • 7

    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.

    Primopredajnici Primopredajnici 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.

    Kablovi Udruenje 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

    Kategorija 1 Koristi se za telefonske komunikacije i nije pogodan za

    prenos podataka

    Kategorija 2 Moe da prenosi podatke brzinama do 1 Megabita u sekundi

    Kategorija 3 Koristi se u mreama 10BaseT i moe da prenosi podatke brzinama do 16 Megabita u sekundi

    Kategorija 4 Koristi se u prstenastim mreama asa etonom i moe da prenosi podatke brzinama do 20 Megabita u sekundi

    Kategorija 5 Moe da prenosi podatke brzinama do100 Megabita u sekundi

  • 8

    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

  • 9

    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.

  • 10

    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 kablova 1. 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/TIA-568B 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 raunara U 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-server Arhitekture 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).

  • 11

    P2P raunarstvo Do 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 klijent-server. 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 da-ljinskog 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.

  • 12

    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

  • 13

    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-server Klijent-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

  • 14

    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 server Tipian (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 tehnologija Klijent 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.

  • 15

    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.)

  • 16

    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 klijent-server 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 tehnologije Osnovna 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.

  • 17

    Osnovne prednosti koje nam klijent server arhitektura omoguava sastoje se u sledeem: 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

  • 18

    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 X-terminal 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

  • 19

    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

  • 20

    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 pop-up 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

  • 21

    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.

  • 22

    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

  • 23

    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

  • 24

    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 program-

    aplikacija 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.

  • 25

    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+ Sistemski servisi Administracija

    Prezentacioni sloj Mreni servisi DHTML, Forme Sloj poslovne logike

    WEB Server (IIS), Zatita Transakcije (MTS)

    Sloj pristupa podacima Osnovni servisi

    DBMS, File system, mail, txt

    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 i

  • 26

    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) + Servisi Dakle, 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 a