Upravljanje na daljinu

Embed Size (px)

Citation preview

  • 8/14/2019 Upravljanje na daljinu

    1/47

    Visoka tehnika kola Ni

    Diplomski rad

    Vizuelni prikaz klijent-servertehnike

    Mentor : Mr.Mirko Kosanovi Student: Nikola Luki

    ______________________________ br.indeksa RE17/031. lan komisije

    _______________________________

    2. lan komisije

    ____________________________________

    1. UVOD

    1

  • 8/14/2019 Upravljanje na daljinu

    2/47

    Projekat je pisan u VisualBasic-u viem programskom jeziku.VB je objeknoorijentisan programski jezik namenjen da manipulie bazama podataka korienjemADO OLE I SQL-a , razvijanje internet aplikacija , API programiranje.-API (Application Programming Interface ) je set ugradjenih biblioteka kodova.

    Koristi dinamiko povezivanje po metodi pozivanja odredjene funkcije iz bibliotekefunkcija DLL(Dynamic Linked Library i to samo u momentu kada je odredjenafunkcija pozvana.Prednosti API jesu to to funkcija zauzima memoriju samo dok seizvrava.Da bi bilo koja VB aplikacija radila na raunaru neophodno je pokrenutiinstalacioni paket VBRUN6.0.exe koju u system direktorijumu instalira odredjene

    biblioteke funkcija(dll).U projektu je koriena socket kontrola (winsock.ocx) na vie portova.Cilj

    teme rada je prikaz konkretnih klijent-server fukcija od ostvarivanja konekcije dosloenijih funkcija.Na dovitljiv nain moemo uspostaviti potpunu kontrolu nadudaljenim raunaru uz ne mnogo poznavanja sistemskog programiranja i niih

    programskih jezika.

    Program se sastoji iz dva glavna dela. Svaki deo se sastoji iz dva dela tj. dvaizvrna fajla(Ekstenzija izvrnog fajla ExE). Mnogi problemi mogu se reiti na vienaina a odabir reenja nemora uvek biti suvie rigorozan.Slede problemi na koje samnailazio usled izgradnje projekta koji bi trebao da ostvari kontrolu udaljenog racunara

    preko slike (poznatiji kao Remote desktop).Program omoguuje u jednoj LAN mrei server raunaru ulogu nadzorskog

    raunara jer mu omoguuje prikaz celog ekrana i kontrolu klijent raunara.Prikazuje itrenutno pokrenute servise na udaljenoj maini, omoguuje promenu klijent opcijakao to su autorun.Moj deo posla bio je povezivanje vie primera (source code) u

    jednu celinu koja omoguuje sve navedene zahteve tako da nije ceo kod programadetaljno opisan ali se analizom algoritma moe puno nauiti.

    Polazni zahtevi :

    - Server raunar mora automacki po prisustvu klijent raunara u mreidetektovati sam klijent raunar(pod uslovom da je ukljuena start upmetoda)ili po startovanju programa na klijent raunaru.

    - Po zahtevu servera klijent alje sliku (slike) i po zahtevu prekinuti slanje slika.- Upravljanje udaljenim klijent raunarom (preko slike)- Prihvatanje slike sa vie klijenata istovremeno preko istog porta.- Slanje tekstualnih poruka (chat program)

    - Prikaz direktorijuma i fajlova hard diska udaljenog raunara(remote explorer).- Prikaz otkucaja tastature. Neprepoznaje dvaputa pritisnut isti taster.- Prikaz za osam pojedinanih slika udaljenih raunara i dva tab-a po etiri

    slika (izdeljeni prostor ekrana).- Detektovanje prekida konekcije.

    Deljenje uloga sa server strane projekta :

    2

  • 8/14/2019 Upravljanje na daljinu

    3/47

    MainServer.exe obezbedjuje prikaz slika konektovanih klijent raunara ,opciju za chat (obraanje klijent raunaru slanjem teksta) , prikaz otkucaja tastature

    po zahtevu.

    Xykoordinator.exe obezbedjuje prikaz primljene slike klijent raunara prekocelog ekrana I slanje x ,y koordinata to na drugoj strani podrazumeva postavljanjemia prema primljenim x y vrednostima.

    Deljenje uloga sa klijent strane projekta :

    Klijent.exe obezbedjuje po startovanju konekciju za glavni server koristecive upisanu IP adresu servera u serverip.txt fajlu , slanje jedne slike.Po zahtevu ovajdeo programa reava dali e se stalno slati slika to je potrebno kada se vri kontrolaudaljenog raunara ili e se prekinuti slanje slika.

    XYKlijent.exe obezbedjuje prihvatanje podataka vezanih za kontrolu mia i

    njegovih dogadjaja.Kratko objasnjenje : U glavnom delu programa obezbedjeno je stalno slanje

    slike klijent raunara, sada tu sliku (preko programskog tajmera) uitava forma koja jerazvuena preko celog ekrana (full screen).Tako vrlo prosto dobijemo sliku udaljenograunara na naem glavnom server raunaru (sva kontrola je na strani server app).X IY koordinate koje moemo pratiti dogadjajem mousemove u naoj full screen formineodgovaraju X i Y koordinatama mia koji nije na povrini forme.Desktop je recino

    podeen 1024x768 dako da ga moemo opisati u 102 koraka ( 76 ) A forma nam dajeopseg 15400 za X.. Deljenjem Xforme/150 I Yforme/149 dobijamo priblizni odnos uzostranjivanje decimala.Ova operacija se odradjuje na strani servera da bi se slala

    celobrojna vrednost i klijent prepoznavo tanu vrednost poloaja mia.U ovom deluprograma koriena su tri socket konrole i to : Sock za prenos X kordinate , sock zaprenos Y koordinate i jedan kontrolni sock koji alje samo podatke o Click dogadjaju(ClickLeft, ClickR iDclickLeft).Ovo je i najlake i najprirodnije reenje bar za LANkonekciju .Kad bi program trebao da radi preko Internet-a nebi se slala svakakoordinata ve samo one koordinate koje su aktuelne ubrzo nakon nekog dogadjajamia.U podglavlju opisa izvornog koda skrenuta je panja na konkretne momente kojinastupaju usled odvijanja algoritma i to po hronologiji odvijanja.Naizmenini suopisani klijent - server strana programa.

    Ako bi kliknuli levim tasterom mia na full screen formu ( formu zaupravljanjem mia na udaljenom raunaru forma prepoznaje tadi dogadjaj i izvrava

    odredjeni blok naredbi tj. alje komandu koju klijent prepoznaje.U programu nijeuradjena kontrola tastature ali se moe reiti na relativno lak nain.U tom sluaju u

    bukvalnom prevodu imali bi potpunu kontrolu raunara.Mogu se nai i par grafikihreenja ali se uvek mora raunati da ubacivanje slika program ini veim (veliinaizvrnog fajla na disku) dok loa programska reenja prouzrokuju sporiji rad(zauzimanje ram memorije) i nepouzdanost aplikacije.

    2. OSNOVNI POJMOVI

    3

  • 8/14/2019 Upravljanje na daljinu

    4/47

    2.1 Prenos podataka

    Raunarske mree omoguavaju medjusobno komuniciranje raunara pomouneke stalne ili privremene veze. Za umreavanje vie raunara potreban je poseban

    hardver, ali i softver, te poznavanje naina umreavanja. Umreavanje podrazumevaostvarivanje veze u cilju razmenjivanja resursa, ideja ili informacija izmedju dvetake. Povezivanje raunara se, osim pomou kablova,moe ostvariti i beino prekoradio tehnike.

    Prenos podataka preko ice :

    Modemi (dialup)

    Modem je skraenica od MODulate/DEModulate i ona je ime za uredjaj kojimodulira analogni nosa signala (kao zvuk), i koji isto tako demodulira dekodira

    digitalni signal sa analognog nosaa. Modem je iz raunara najee spojen natelefonsku liniju, ali mogue je spojiti modem na bilo koji mreni kabal ili na beininosa signala. Uglavnom slui za spajanje na Internet, no njime je mogue slati i

    primati telefaks (ako je to fax modem), programirati da glumi automatsku sekretaricu.Radi tako da prevodi podatke koje dobije iz telefonske linije u podatke smisleneraunalu i obrnuto. Najfrikiji, i ve ustaljeni, standard je v.92 koji je u velikoj merizamenio malo stariji v.90. Najvea brzina dananjih modema je 56 kbps, to je uraunarstvu veoma mala brzina, i najee nalazi mesto kod korisnika koji koristesamo osnovne servise na Internetu kao to su Email ili povremeno proveravanjenovosti.

    Iznajmljene linije

    Iznajmljena linija je obino simetrina veza koja povezuje dve lokacije. Zarazliku od obinih analognih PSTN linija ovakve veze nemaju telefonski broj jer sudve strane stalno povezane. Mogu se koristiti za telefonski razgovor, prenos podatakaili Internet servis. Standardne brzine se kreu od 64k, 128k, 256k, 512k, pa do 2M ivie.

    Frame relay

    Frame relay je sinhronizovana mrea temeljena na HDLC protokolu. Podaci sealju u HDLC paketima. Frame relay se obino koristi za prenos podataka izmedulokalnih (LAN) i irokopojasnih (WAN) mrea. Svaki korisnik dobija iznajmljenuliniju. Osnovna svrha ove mree je jeftino povezivanje LAN mrea sa glavnimvoritima WAN mrea. U ovakvim mreama podaci ne podleu proveravanjugreaka, ve to rade vorovi WAN mree to dodatno ubrzava prenos podataka.

    4

  • 8/14/2019 Upravljanje na daljinu

    5/47

    Ethernet umreavanje

    Ethernet (IEEE 802.3) je mrena tehnologija za LAN mree, temeljena naframe nainu rada. To znai da se podaci alju u paketima koji su prilagodjeni zaslanje preko raunarske mree. Definie umreavanje i signaliziranje za fiziki sloj, teframe formate i protokole za MAC, odnosno mreni sloj OSI modela. Ethernet,

    poznat i pod imenom IEEEs 802.3, je postao najrasprostranjeniji standard zaraunarske mree koji se poeo uzdizati ranih 1990-tih pa sve do danas gde dri

    primat, te je skoro u potpunosti zamenio ostale mrene tehnologije za LAN mree kaoto su Token Ring, FDDI te ARCNET.

    HomePNA

    HomePNA je nain umreavanja raunara preko telefonskih ica koje je jeftino, ne zahteva dodatne uredaje i radi na stalnih 10 Mbps. HomePNA (HomePhone-line networking) je najei naziv za set specifikacija koje je uspostavio HPNA

    (Home Phone Networking Alliance) na kojima se temelji HomePNA. Najfrikijaspecifikacija HPNA 3.0 je razvijena od strane Broadcom-a i kartice zasnovane na tojspecifikaciji rade na 10 Mbps brzini. HomePNA koristi metod poznat kao FDM(frequency-division multiplexing) koji dijeli frekventni opseg telefonske linije (slicnokao kod DSL modema) te odvaja neiskoriteni opseg kojeg deli u odvojene

    podatkovne kanale koje koristi za prenos podataka izmedu raunara. Mogue jeistovremeno voditi razgovor preko telefona i imati raunarsku mreu preko istihtelefonskih linija, ak je telefonska linija u mogunosti podrati glasovni razgovor,DSL modem i HomePNA.

    Da bi napravili jednu HomePNA mreu trebamo odgovarajue HPNA adapterekoji mogu biti u obliku interne kartice (PCI), te spoljnjeg uredaja (USB). Uz to,

    obino dode i poseban softver koji e konfigurisati uredaje i samu mreu. Ovakvemree se obino koriste za manje zahtevnije korisnike koji ne trebaju velike brzinekao to nudi Ethernet mrea. Ovakva mrea je prvenstveno namenjena korisnicimakoji ele jednostavnu mreu bez dodatnih kablova i dobru pouzdanost.

    HomePlug

    Umreavanje preko elektricnih ica je veoma jednostavno i jeftino, ne trainove kablove, ali i ne nudi previsoke brzine prenosa. PowerPacket je ime tehnologijekoju je razvio Intellon a koju je odabrao HomePlug Alliance kao standard, dok je

    prethodnik bila Passport tehnologija. PowerPacket uredaji koji su ukljuceni u

    elektricne utinice se na raunar spajaju preko USB-a ili preko mrene kartice . Kadase adapter prikljui na raunar jedino to treba je konfigurasati softver koji dode uzuredjaje. Za prikljuivanje novog raunara na jednu ovakvu mreu je potrebno samoukljuiti adapter u elektrinu utinicu, a isti povezati sa raunarom, da bi potomsoftver instaliran na raunar prepoznao ostale raunare ili printere. PowerPackettehnoglogija koristi peer-to-peer ravnopravnu mreu. Adapteri ne troe elektrinustruju. Mana ovakvih mrea je to imaju prilino malu brzinu (oko 14 Mbps).

    5

  • 8/14/2019 Upravljanje na daljinu

    6/47

    Beicni prenos podataka :

    Kratki domet

    Bluetooth je nain spajanja na osobne beine mree. Preko Bluetootha jemogue razmeniti informacije izmedju uredjaja kao to su mobilni telefoni, laptopi,raunari, printeri, digitalni fotoaparati i tako dalje. Bluetooth radi na principu radiotehnike, i namenjen je za nisku potronju el. Energije, te se zbog toga esto koristi umanjim uredajima kao to su mobiteli. Frekvencija putem koje se odvija beicnakomunikacija je 2,45 GHz, a da bi se izbegle smetnje na istoj frekcenciji Bluetoothdeli pojas frekvencije na 79 kanala (svaki 1 MHz irok) i menja iste 1600 puta usekundi.Verzije 1.1 i 1.2 Bluetootha su dostizali brzine do 723,1 kbit/s, dok se sanajnovijom 2.0 verzijom sa Bluetooth Enached Data Rate (EDR) tehnikom doseu

    brzine do 2,1 Mbit/s. Tehnologija je veoma obeavajua to pokazuje sve veipostotak uredjaja koji iskoriavaju Bluetooth za razmenu podataka. Bluetooth je

    dobio naziv po Haraldu Plavozubom (eng. Harold Bluetooth) koji je bio poznat posvojim mogunostima diplomatskih pregovora, gde esto uspevao da napravirazumevanje i komunikaciju izmedu vie strana. Zbog toga je izabrano njegovo imeda simbolizira requeste i njegov cilj koji je zapravo da se uspostavi zajednicki WPANkomunikacioni standard.

    Srednji domet

    IEEE 802.11

    # 802.11a standard ima teoretsku brzinu od 54 megabita u sekundi, nonajee ona iznosi oko 30 megabita/s. Ovaj standard je skuplji jer WiFi karticezasnovane na a standardu rade na viim frekvencijama (5GHz, za razliku od 2.4 GHzkod b i g standarda)

    # 802.11b standard predstavljen 1999. u isto vreme kada i 802.11. U ovakvimmreama brzina protoka podataka je do 11 megabita u sekundi, ali uz velike preprekei smetnje brzina moe spasti na malih 1 do 2 megabita/s. Ovo je ujedno i najjeftinijavarijanta WiFi mree.

    # 802.11g je predstavljen 2003. godine i objedinio je prethodna dva standarda.Rradi na 2.4 GHz, ali ima skoro istu brzinu kao i 802.11a standard.

    # 802.11n se oekuje sredinom 2007. godine (dostupna su draft izdanja).

    Prema oekivanjima standard bi trebao raditi 2.4 GHz, sa dosta poveanom najviombrzinom koja e iznositi do 540 Mbps

    Dugi dometSatelit:

    MMDSSMDS

    6

  • 8/14/2019 Upravljanje na daljinu

    7/47

    Prenos preko mobilnih telefona :GSM

    Global System for Mobile Communications ili krae GSM je najkoritenijistandard za mobilne telefone u svetu. GSM servis koristi preko 2 milijarde ljudi u vieod 212 drava i teritorija. GSM je celijska mrea, to znai da se mobilni telefoni

    prikljuuju na mreu traei elije koje se nalaze u blizini. GSM mree rade u etirirazliita frekvencijska opsega. Vecina GSM operatera radi na 900 MHz ili 1800 MHz.

    Neke drave na americkom kontinentu, ukljuujui SAD i Kanadu, koriste 850 MHz i1900 MHz frekvencijski opseg. Rijede koriteni su 400 i 450 MHz frekvencijskiopsegi koji se koriste veinom u Skandinaviji. Ostali standardi CDMA ,CDPD ITDMA.

    2.1.1OSI referentni system

    Fizicki sloj je zaduen za medijume preko kojih se informacije alju(koaksioni kablovi , optiki fiber ,sateliti,radio talasi)

    Sloj veze obezbedjuje pravilan rad fizikog sloja .Koristi metod detekcijekoalizije i CSMA/CD ,provera i korekcija gresaka Bit parnosti.

    Sloj mreze obezbedjuje sledecen transportnom sloju mogucnost komunikacijeizmedju krajnjih tacaka.Podrazumeva tehnike komutiranja(komutaciona poruka,komutacija paketa itd.).

    Transportni sloj zaduzen je za korisnicke servise.On obezbedjuje da gornjislojevi izvrsavaju svoje zadatke bez obzira na svoju specificnu mreznustrukturu.Funkcije transportnog sloja su : baferovanje ,multipleksiranje I upravljanjemkonekcije.

    Sloj sesije sadrzi protokole koji obezbedjuje uspostavljanje konekcije.Biranacin slanja full duplex ili half duplex. i nadredjen je transportnom sloju.

    Sloj predstavljanja definise efikasnu razmenu informacija a ne samopodataka.U ovom sloju vri se i kompresija podataka.

    Sloj aplikacije komunicira sa korisnikom i programskim aplikacijama.Sadrimrene aplikacije.

    Aplikacioni (application

    Prezentacioni(presentation

    Sesioni (session)

    Transportni

    Mrezni sloj (network)

    Data Link layer

    Fizicki sloj (physical)

    7

  • 8/14/2019 Upravljanje na daljinu

    8/47

    Podela OSI systema (Gornji slojevi su namenjeni korisnikim servisima dok su

    fiziki , sloj podataka, mreni sloj zadueni za obezbede mrenu komunikaciju.

    Transportni je prelazni sloj.)

    8

  • 8/14/2019 Upravljanje na daljinu

    9/47

    2.1.2Topologija mrea

    Pojam mrena topologija odnosi se na fiziki raspored raunara, kablova idrugih komponenti mree. Topologija je klasian pojam koji podrazumeva osnovniraspored mree, a pored pojma topologija koriste se i:

    fiziki raspored projekat dijagram mapa

    Mogucnosti mree koju koristimo zavise od topologije a takodje i od:

    vrste potrebne opreme za mreu mogunosti opreme

    razvoja mree naina upravljanja mreom

    Mrena topologija podrazumeva niz uslova, od nje zavisi npr. Ne samo tipkablova koji e se koristiti ve i nain postavljanja kroz pod, zid ili plafon. Odtopologije zavisi kako racunari medjusobno komuniciraju u mrei, razliite topologijezahtevaju drugaije metode komunikacije, a metod komunikacije ima veliki uticaj namreu.

    Klasine topologije

    Svi mreni planovi potiu od tri osnovne topologije :

    magistrale

    9

  • 8/14/2019 Upravljanje na daljinu

    10/47

    zvezde

    prstena .

    Kada su raunari povezani u nizu jednim kablom, takva topologija naziva se

    magistrala. Kad se raunari povezuju pojedinanim kablovima koji se granaju izjednog centralnog uredaja, haba, to je topologija zvezde. Ako su raunari povezanikablom koji formira petlju, to je topologija prstena. Mada izgledaju jednostavno, ustvarnosti se esto kombinuju svojstva vie topologija i dobija jedna koja je sloena.[1]

    2.1.3 Ravnopravna mrea ( P2P )

    Peer-to-Peer (P2P) je mrea gde se nalazi mnotvo klijenta koji suravnopravni u uceu, jedino je ogranienje brzina internet veze jednog klijenta.Ovakve mree se najvie koriste za deljenje dokumenata, video i audio podataka itako dalje. Razlog lei u tome da ne postoji neko ko ce kontrolisati koji podaci se deleu mrei, jer ne postoji server niti neki glavni raunar koji nadgleda sve ostale.

    10

  • 8/14/2019 Upravljanje na daljinu

    11/47

    Svi su ravnopravi i dele podatke izmedu sebe. Postoje i posebni programi zadeljenje podataka u P2P mreama, to su obino programi za deljenje audio i videosadraja. Ako korisnik postavi upit, program pretrauje podatak pod tim imenom kodostalih korisnika povezanih na P2P mreu. To je mnogo slobodnije nego kod klijent-server mrea, gde korisnik pretrauje sadraj samo jednog raunara, odnosno servera.Kod P2P mrea, korisnik pretrauje sadraj svih uesnika u mrei.[1]

    Nedostaci: P2P mreze su skoro uvek jednostavnije i jeftinije od C/S sistema, aliotvaraju brojna pitanja u pogledu PERFORMANSI i SIGURNOSTI MREE.

    2.1.4 Naini beinog umreavanja

    Umreavanje raunara moemo izvesti pomou ica ili bez ica. Najvie

    koriteni iani naini umreavanja su requeste umreavanje, te umreavanje pomoutelefonskih i elektrinih instalacija. Za beino umreavanje se najvie koristi WiFistandard.

    Beino (en. Wireless) umreavanje je verovatno najjednostavniji nainumreavanja, nudi srednju brzinu, ne zahteva dodatne kablove, ali je i relativnoskuplji od ostalih naina umreavanja, iako cena WiFi uredaja konstantno pada.Beino umreavanje je najjednjostavnije uz WiFi tehnologiju, gde nam je samo

    potrebna WiFi kartica (interna (PCI i PCMCIA) ili spoljna (USB)) u dva ili vieraunara da bi se isti umreili. Obino u kartice dode integrisana antena koja jedovoljna za manje mree, no mogue je koristiti i bolje, spoljne antene koje

    pojaavaju signal. Za prikljuivanje na neku mreu potreban je tzv. Hotspot, odnosno

    vorite na koji se spajaju svi ostali korisnici. Ako je mrea osigurana ona e traitiWEP ili noviji WPA (2) klju, a ako je slobodna onda nema nikakvih ogranienja zaspajanje.

    Svako moe biti hotspot, jedino umesto obine kartice je potrebno kupitiWireless Acces Point koji nudi pokrivenost od oko 30 metara, dok je uz razne

    pojaavae mogue bitno proiriti pokrivenost. Najskuplja varijanta, ali ona najbolja,je uzeti Wireless Access Point Router koji sadri prikljuak za DSL modem, Router,Ethernet Hub, Firewall i Access Point. Uz sve to mogue na samo taj uredaj prikljuciti

    jednu Ethernet mreu na koju ce biti prikljueni korisnici sa WiFi karticama, te svizajedno imati pristup internetu putem DSL modema.Problem kod beicnih WiFimrea je to mogu biti nesigurne, pogotovu starije mree sa WEP proverom koja je

    nesigurnija od WPA i WPA 2 enkripcije podataka. Osim toga WiFi uredaji troe malovie struje od standardnih uredaja za raunarske mree.

    11

  • 8/14/2019 Upravljanje na daljinu

    12/47

    2.2 File server ternimal(UNIX) I poredjenje sa klijent serverarhiktekturom

    Distribuirana vie-korisnika arhitektura se realizuje sa vie raunaranjihovim povezivanjem u LAN. Komponente se mogu nai na razliitim raunarima,ali podaci su obino na jednom raunaru koji ima ulogu file-servera. Glavna namena

    jeste zajedniko korienje fajlova. Klijent zahteva rekorde od fileserver-a.Intenzivan je saobraaj na mrei jer se fajlovi vraaju klijentu preko mree pa ih onlokalno pretrauje. Ovo je dobro za deljenje velikih data objekata tipa inenjerskicrtei, dokumenti, slike...

    Nedostaci: File-server postaje usko grlo intenzivan je saobraaj na mrei.Sa poveanjem korisnika, pogoravaju se i performanse.

    2.2.1 Centralizovana arhitektura

    Najjednostavniju konfiguraciju (arhitekturu) raunarskih mrea predstavljaHOST arhitektura, kada jedan moan (mainframe) raunar opsluuje korisnikepreko terminala tj. konfiguracije monitora i pohrane podataka. NFS Omoguava

    deljenje diskova i datoteka medju umreenim raunarima (Network File System).

    Svojstva ovakve arhitekture su:

    host je opterecen izvravanjem programske potpore

    monolitna programska potpora interaktivan rad korisnik-raunar tj. korisnik i raunar neprestano komunicirajupreko terminala

    spori mreni putovi, najee serijski protokoli mogunost koncentrisanja vie terminala na jedno suelje mogu rad na veim udaljenostima od host-a npr. Modemom mogua izmena poruka izmedju korisnika ali ne i podataka viekorisniki i vienamenski rad host raunara

    U sluaju prestanka rada host-a nijedan korisnik ne moe vie raditi niti

    komunicirati.U sutini to i nije mrena komunikacija ve se ista ostvaruje kad su dva ilivie host-ova medjusobno vezani, no nita se bitno ne menja u odnosu korisnik-raunar. PC raunar u tu svrhu dizajniranom programskom potporom, moefunkcionisati kao terminal. Tipina takva veza je kad se PC povee na BBS sastavinformacija i komunikacija, koji jo omoguava transfer podataka (kopiranje).

    Suprotnost host arhitekturi raunarskih mrea je CLIENT-SERVER(korisnik-posluitelj) arhitektura utemeljena na povezivanju vie manjih raunara s

    posluiteljem koji korisniku prua ispomo u radu (server), ali je korisnikov rad nanjegovom raunaru vei deo vremena odvojen od servera. Jedna od optih prihvaenih

    koncepcija je Windows NT kao posluitelj i Windows 95 kao korisnik.

    12

  • 8/14/2019 Upravljanje na daljinu

    13/47

    ema je slina ali je nain funkcionisanja potpuno razliit. Radna postava savlastitom programskom potporom koja iz memorije posluitelja poziva (podatke-datoteku) u svoju radnu memoriju, samostalno obradjuje podatke i po obradi vraa ih

    posluitelju gde se uvaju i na raspolaganju su svim korisnicima mree. Periferijepojedinih raunara (kao tampa ili CD ROM) mogu se proglasiti kao zajedniki-deljivi (SHARE) mreni resursi.Posluitelj moe podravati izvravanje aplikacija(application server) ili preuzeti na sebe deo zadataka u obradi baza podataka(posluitelj baza podataka database server).Ako se iskljui posluitelj klijent cesamostalno i dalje raditi, ali ne moe koristiti zajednicke mrene resurse.

    Svojstva klijent server arhitekture su:

    razdeljena raunarska mo i programska potporajeftiniji mreni resursimogu samostalni rad korisnikarastereenost raunara-posluitelja od interaktivnog rada

    mogua upotreba vie servera sa odvojenim zadacimazajedniko koritenje periferijavea ukupna prilagodljivost i dogradnja

    Sa transakcionim serverom klijent pokree udaljene procedure koje se nalazena serveru. Te procedure izvravaju grupu SQL instrukcija.Komunikacija se odigrava

    jednostavnim zahtev/odgovor porukamaSQL instrukcije su agregirane u transakcije!Kod se mora napisati i za klijent i za serversku stranu. Klijent je obino GUI. Server

    je obino OLTP sa transakcijama nad BP.

    Postoje dve varijante OLTP servera:

    1.OLTP lite na bazi store procedura.2.OLTP heavy na bazi TPM monitora.

    2.2.2 Groupware Serveri

    GW adresira upravljanje polu-strukturiranim informacijama tipa: mail,tekst, slika, bulletin board, workflow...GW stavlja ljude u direktan kontakt.

    Mnogi GW produkti koriste e-mail kao middleware.

    2.2.3 Objektni Aplikacioni Server

    Sa ovakvim serverom, c/s aplikacija je napisana kao skup objekata. Objektikomuniciraju preko ORB-a pozivanjem udaljenih metoda. ORB locira instancu teklase na serverskom objektu i vraa rezultate klijentskom objektu.ORB Object Request Broker Objektni RaspodejlivacRMI Remote Method Invocation

    13

  • 8/14/2019 Upravljanje na daljinu

    14/47

    2.2.4 Web Aplikacioni Server

    Ovi serveri omoguavaju klijentu da bude super-tanak (samo browser), dokje server debeo. Klijent poziva dokumente koriscenjem RPC-olikog protokla (HTTP),gde Requested predaje kao stringove. Server vraca rezultate po imenu dokumenta.

    Nova generacija: integracija weba i distribuiranih objekata: Object Web. Kadagovorimo o dvoslojnim sistemima, i komponentama DIS, pitanje je do kog stepenatreba vrsiti distribuciju tih komponenti. Kod dvoslojnih sistema aplikacija je ta kojavri prevagu da li ce reques da bude sa arhitekturom debeli server ili debeli klijent.Dakle, kada govorimo o dvoslojnoj arhitekturi aplikacija postoje:

    Debeli klijent obrada i prezentacija su na klijentu Debeli server - obrada i podaci su na serveru.

    2.3 Klijent-server

    Klijent-server je arhitektura gde su korisnik (klijent) i server odvojeni ilineravnopravni. Najoitiji je primer pregledanja Internet stranica. Korisnikov raunar iInternet preglednik su klijent oni zahtevaju, dok su raunar i baza podataka koji ineweb stranicu server on posluuje. Klijent je obino aktivan korisnik, koji aljezahteve i eka dok se isti ne ispune, dok je server pasivan, eka na zahtjeve te ihispunjava i alje korisniku. Serveri su obino veoma jake maine sa dobrimkonfiguracijama i karakteristikama zbog toka to istovremeno moraju preraditi mnogozahteva koji rastu iz dana u dan. Obino servere opsluzuju i posebni operativni sistemi

    za razliku od obinih klijent operativnih sistema, serverski operativni sistemi su uvie segmenata bolji i sadre naprednije opcije.

    Kiljent server

    14

  • 8/14/2019 Upravljanje na daljinu

    15/47

    2.4 Mreni protokoli

    Mreni protokol je skup standardnih pravila za prikaz, signaliranje, ioveravanja podataka, te proveravanje od greaka koje je potrebno izvriti da bi sepodatak uopste poslao.

    Mreni protokol definie zajedniki skup pravila i signala prema kojima seponaaju raunari koji su umreeni. Mreni protokoli su ujedno i najvaniji elementi jedne raunarske mree. Danas najpopularniji protokol za LAN mree je Ethernet(koji ujedno definie i ostale stvari kao to su signaliranje i formate paketa), i skoro daima prevlast u raunarstvu. Za globalnu WAN mreu Internet se u najveoj merikoristi Internet protokoli (TCP/IP).[1]

    * Najpoznatiji protokoli * Manje poznati i koriteni protokoli

    Bluetooth ARCNET Ethernet AppleTalk FDDI ATM IEEE 1394 (FireWire, iLink) DECnet Frame relay HIPPI IEEE 802.11 IEEE-488 IPX Myrinet Point-to-Point QsNet TCP/IP SPX TCP System Network Architecture Token Ring X.25

    2.5 Transmission Control Protocol

    TCP je protokol za kontrolu prenosa podatka, takoe je deo TCP/IP-a(Transmission Control Protocol/Internet Protocol) koji je deo svakog raunarskogsistema. Njegova je uloga malo drugaija. Dok se IP brine za identifikaciju i vezu sanajveom od svih mrea, TCP se brine o razmeni podataka sa mreom, tako da podnjegom kontrolom lee podprotokoli i usluge koje se nalaze i na raunaru korisnika ina serveru kojem pristupa. Meu njima su FTP (file transfer protocol), news, gopher,telnet i drugi servisi koji se mogu ostvarivati TCP-om.[1]

    2.6 Internet protokol

    15

  • 8/14/2019 Upravljanje na daljinu

    16/47

    Internet Protocol (IP) je protokol za komunikaciju izmeu izvora i korisnikapreko Internet mree. Podaci preko IP-a se alju u paketima i to samo izmeu routera,a izmeu svieva (switch) u frame-ovima.

    Internet protokol je nepouzdan, jer ne osigurava da e paket podataka biti uispravnom stanju ili, u najgorem sluaju, hoe li uopste doi.

    Svaki ureaj na mrei se identificira pomou IP adrese. IP adresa se prematrenutno vaeem Ipv4 protokolu sastoji od 32 bita. esto se ova 32 bita oznaavajusa etiri decimalna broja podeljena takama, npr. 192.168.1.21. IP adresa ima dvadela: mreni prefix koji identificira mreu i broj hosta koji odreuje pojedini ureaj namrei. U zavisnosti od mrenog prefixa, mree se dele u pet klasa: A, B, C, D i E. Uupotrebi su prve tri klase koje se meusobno razlikuju prema broju hostova kojemogu imati i opsegu adresa na osnovu koji se utvruje veliina mrenog prefixa.

    Mree koje operiraju na ovim protokolima definiu one koji im pristupaju preko specifinih adresa Internet protokola, popularno nazvanim IP adrese. IPadresama se jasno definie poloaj i identifikacija korisnika i kompanije koja pruausluge ostarivanja konekcije, ne itavom Internet-u.[1]

    Pojmovi Internet protokola (IP)

    5. Aplikacijski sloj

    DHCP - Dynamic Host Configuration Protocol (DHCP) je skup pravila zakomunikacijske ureaje, kao to su raunar, router ili ostale vrste mrenih adaptera,

    pomou kojih ureaj moe zahtevati i dobiti odgovarajuu IP adresu sa servera.

    DNS je u stvari jedna baza podataka u kojoj su upisana sva imena i odgovarajue Ipadrese pojedinih raunara, te skupina funkcija koje omoguavaju prevoenje istih.

    Treba naglasiti da npr. celi Internet, koji je takoe jedna velika mrea, koristi DNSmehanizam.

    FTP - File Transfer protocol, protokol za slanje i pregled fajlova na udaljenomraunaru.

    HTTP- Hiper Text Terminal Protocol , Protokol za prenos hiperteksta. To je osnovniprotokol, kojim se prenosi komanda serveru i kaze mu se koju stranu da posaljeklijentu. Adresiranje te strane poinje sa "http://", a zatim sledi ime domena i IPadresa.

    IRC je skraenica od "Internet Realy Chat" znai razgovaranje na internetu urealnom. vremenu.

    POP3 - Server za dolaznu email postu.( tip adrese serverapop3.mail.yahoo.com npr.)

    SMTP - Server za odlaznu Email potu. (Kod podeavanja MsOutLook-a primer.Stmp.mail.Server.com)

    TELNET (en. TELetypeNETwork) je mreni protokol unutar IP grupe protokola naInternetu ili u lokalnim mreama koji korisniku omoguava da se sa svog raunara

    pomou istoimenog interaktivnog klijentskog programa spoji na fiziki udaljeni

    16

  • 8/14/2019 Upravljanje na daljinu

    17/47

    server i na njemu izvrava neke operacije. Taj server, koji jo nazivamo i udaljeniraunar, uglavnom radi pomou nekog od UNIX operativnih sistema.

    4. Prenosni sloj

    TCP-je protokol za kontrolu prenosa podatka, takoe je deo TCP/IP-a (TransmissionControl Protocol/Internet Protocol) koji je deo svakog raunarskog sistema

    UDP- User Datagram Protocol je protokol za internet koji radi sa IP protokolom.UDP/IP alje direktno pakete preko IP mree, veinom se koristi za slanje pisanih

    poruka preko mree.

    3. Mreni sloj

    IP (Ipv4 i Ipv6)

    IP protokol verzija 4, ili krae IPv4 je najraireniji IP protokol na Internetu.Pojedine verzije IP protokola se razlikuju po nainu adresiranja, izgledu zaglavlja

    paketa ali i brojnim drugim detaljima. Najvanija karakteristika IPv4 protokola je dakoristi 32-bitnu IP adresu, tj. propisana duina svake IP adrese u ovoj verziji

    protokola je 32 bita.

    IP protokol verzija 6, ili krae IPv6 je relativno nova verzija IP protokola kojapretenduje da postane slijedea standardna verzija komunikacijskog protokola naInternetu. Trenutno najrairenija verzija je IP verzija 4, ili krae IPv4. Pojedine verzijeIP protokola se razlikuju po nainu adresiranja, izgledu zaglavlja paketa ali i brojnim

    drugim detaljima. Najvanija karakteristika IPv6 protokola je da koristi 128-bitnu IPadresu, tj. propisana duina svake IP adrese u ovoj verziji protokola je 128 bita.

    2. Sloj veze

    Ethernet Tehnologija gde se podaci alju u paketima koji su prilagodeni za slanjepreko raunarske mree.

    FDDI-Fiber Distributed Data Interfaceje skup ANSI protokola za slanje digitalnihpodataka preko optikog kabla. FDDI mree su token mree te podravaju brzine do100 Mbps. FDDI mree su obino osnova WAN mrea.

    Framerelay je sinhronizovana mrea temeljena na HDLC protokolu. Podaci se aljuu HDLC paketima. Frame relay se obino koristi za prenos podataka izmeu lokalnih(LAN) i irokopojasnih (WAN) mrea.

    PPP Point-to-Point Protocol (PPP) slui za ostvarivanje direktne veze izmeu dvavora. Najei sluaj je prikljuivanje raunara pomou serijskog kabla, telefonskelinije, optikih vlakana ili UTP mrenih kablova. Veina Internet kompanija koristePPP za dial-up pristup internetu. Takoer je mogu PPP preko Etherneta (PPPoE),

    povezujui neki DSL modem sa raunarom preko mrene kartice to je mnogo brenego povezivanje sa USB ili nekom drugom sabirnicom. PPP je dizajniran da radi sa

    protokolima treeg sloja OSI referentnog modela.

    17

  • 8/14/2019 Upravljanje na daljinu

    18/47

    1.Fiziki sloj

    Bluetooth RF- Bluetootha je mogue razmeniti informacije izmedju uredjaja kao tosu mobilni telefoni, laptopi, raunari, printeri, digitalni fotoaparati itd.

    Fiziki Ethernet -je mrena tehnologija za LAN mree, temeljena na frame nainurada.

    ISDN-IntegratedServicesDigitalNetwork(ISDN) je internacionalni standard zadigitalne telekomunikacione mree.Osnovni pristup predstavlja BRA -Basic Rate

    Access koji se sastoji od 2B+D kanala 2*64 kbps za podatke + 16 kbps zasignalizaciju (144 kbps). Zakupom jedne ISDN veze dobiju se 3 telefonska broja. No,takoer je mogue dokupiti jo ak 5 brojeva, tako da moemo ostvariti ak 8

    istovremenih razgovora. Zavisno o potrebi, prenos podataka se moe odvijati brzinomod 64 kbps (1 kanal) ili 128 kbps (2 kanala).

    Modemi - Uredjaj za komunikaciju izmedju dva raunara ili raunara i globalnemree.

    RS232 Stariji protocol za komunikaciju raunara preko seriskog porta raunara (9pinskog ili 25 pinskog)

    USB - Universal Serial Bus (USB) je vanjska sabirnica (prikljuak) za razne ureajekao to su printer, mi, tastatura, digitalna kamera, modem. Pojavio se 1996. godine, a

    zaivio tek 1998. Karakterie ga visoka brzina, te jednostavnost instaliranja ureaja,pogotovu sa novijim verzijama operativnih sistema (Plug & Play princip).USB 1.1standard je stari standard (iako se jo koristi) koji ima brzinu od 12Mbps (megabit posekundi, 1 Bajt = 8 Bita), a USB 2.0 standard, koji se pojavio 2000. godine, podnosi

    brzine do 480Mbps koji je ve u dobroj meri zamenio USB 1.1 standard, ali i serijskei paralelne prikljuke.

    Wi-Fi - Beino (en. Wireless) umreavanje je verovatno najjednostavniji nainumreavanja, nudi srednju brzinu, ne zahteva dodatne kablove, ali je i relativnoskuplji od ostalih naina umreavanja.

    2.7 Softver

    Raunarski softver ili softver (en. Software) je u biti raunarski programnapisan tako da je njegov sadraj lagano promeniti (mogue i pomou nekog

    programa). Softverov glavni zadatak je da upravlja hardverom, izvravaizraunavanja, te da obezbijedi komunikaciju sa ostalim, isto tako, softverom, tanijereeno programom. Termin software prvi put koristi John W. Tukey 1957. godine.U raunarstvu raunarski softver su sve informacije koje se obrauju preko raunaraili programa. Alan Turing je bio prvi koji je propisao koncept softvera u svomnaunom radu.[2]

    18

  • 8/14/2019 Upravljanje na daljinu

    19/47

    2.8 Veza sa hardverom

    Softver ne moe raditi bez hardvera, kao to hardver ne moe raditi bez

    softvera. Na hardveru (kao to je hard disk) se nalazi softver (kao to je operativnisistem), softver upravlja hardverom. Obino, softver sa hard diska se uitava na RAMmemoriju odakle se prosleuje procesoru koji izvrava naredbe koje sadri neki

    program (softver). Najnii nivo softvera je mainski kod (binarni kod),najjednostavniji oblik programa koji je obino teko promeniti.

    Softver se zato ee pie u programskim jezicima vieg nivoa koje ljudimnogo bolje razumeju nego li nule i jedinice. Za prevoenje programskih naredbi sekoristi kompajler koji ponovo prevodi taj kod u, najnii, mainski kod koji raunarrazumije (nule i jedinice).

    Raunarski softver se dijeli na tri glavne grane: sistemski softver, izvrnisoftver, programski softver.

    Sistemski softver pokree raunar. To moe biti operativni sistem, drajver,server, razni alati i ostalo. Operativni sistem dobija pravo da upravlja celokupnimraunarom, podacima, procesima itd. Najpoznatiji operativni sistemi su MicrosoftWindows, Linux i Mac OS X.

    Izvrni softver omoguava korisniku da izvrava odreene zadatke. To moebiti poslovni softver, edukacijski softver, baza podataka, office paketi i ostalo.

    Programski softver je obino alat koji pomae nekom programeru da izvrineki zadatak koristei neki programski jezik. To moe biti ureiva teksta, kompajler,interpreter, linker, debugger i tako dalje. U raunarskoj grafici se koristi termingrafiki softver, koji je specijaliziran za rad sa grafikom. [2]

    3.Klijent server arhitektura i baze podataka u klijent serverokruzenju

    3.1 Opte

    U oblasti raunarstva nove tehnologije se uvode vrtoglavom brzinom.Kompanije su u stalnoj trci za svoj deo trita i za poveanje profita zbog ega sve

    bre plasiraju inovacije u hardveru, softveru i modelima obrade podataka.Jedna od revolucionarnih promena u raunarskoj tehnologiji dogodila se u

    zadnjoj deceniji. irenje upotrebe mini i mikroraunara dovelo je do nastankatehnologije obrade podataka po modelu klijent server.

    Uvoenje mini raunara stvorilo je uslove za ekonomsku opravdanostdecentralizacije raunarskih resursa do nivoa sektora preduzea. Klijent/server model

    je baziran na distribuciji funkcija izmeu dva tipa nezavisnih i autonomnih procesa:servera i klijenta. Klijent je bilo koji sistem koji zahteva specifine usluge od server

    procesa. Server je sistem koji obezbeuje usluge za klijenta. Klijent i server mogu bitismeteni u istom raunaru ili u razliitim raunarima povezanim preko mree.

    U sluaju da su klijent i server procesi smeteni u dva ili vie nezavisnih iumreenih raunara, server sistem moe da obezbedi usluge za vie od jednogklijenta.

    19

  • 8/14/2019 Upravljanje na daljinu

    20/47

    Pored toga, klijent moe zahtevati usluge i od vie servera iz okruenja bezobzira na njihove lokacije ili fizike karakteristike raunara na kojima se nalaze server

    procesi. Mrea slui da povee servere i klijente zajedno obezbeujui medijum krozkoji klijenti i serveri komuniciraju.[2]

    3.2 Proces ostvarivanja konekcije

    Tipian (ali ne i obavezan) scenario po kome radi klijent/server arhitektura jesledei:

    o Server request se startuje na nekom raunaru (na kome je smeten),inicijalizuje se, a zatim prelazi u

    o sleep mod i eka da ga neki klijent sistem kontaktira i zatrai neki servis odnjega. Klijent request se startuje na istom ili nekom drugom raunaru koji je prekomree povezan sa raunarom na kome se nalazi server. Klijent procesi se esto

    inicijalizuju od strane interaktivnih korisnika koji zahtevaju izvrenje odreenihkomandi. Klijent po Proces alje zahtev putem mree do servera traei odreenu uslugu od njega.

    Kada server request zavri posao (servis) koji je od njega zahtevan od strane klijenta,prelazi ponovo u sleep mod i eka sledei zahtev za nekom uslugom.[2]

    3.3 Preporuke u vezi baza podataka kojima manipulisu klijent serveraplikacije

    Posmatrajmo jednu bazu podataka koja je projektovana da radi u klijent/serverokruenju. U ovom sluaju, klijent sistem zahteva podatke od servera baze podataka.Obrada zahteva (selekcija zapisa) se obavlja na server maini. Drugim reima,serverov request selektuje zapise koji odgovaraju kriterijumu selekcije i alje ih prekomree klijent procesu. Selektovane podatke dalje koristi klijent koji ih moe

    pregledavati, brisati, aurirati... Znai, server ne obavlja celu obradu podataka iz baze,a klijent dobija samo potrebne zapise.

    Razdvajanje programa (zadataka koji obrauju podatke) na klijenta i servera je jedna od kljunih razlika izmeu klijent/server okruenja i mainframe sistema. Umainframe sistemima celokupna obrada se obavlja na mainframe strani, a terminal se

    koristi samo za prikaz podataka na ekranu. Klijent/server sistem obezbeuje jasnoodvajanje server i klijent procesa i njihovu autonomiju. Relacija izmeu klijenta iservera je M:N, gde jedan server moe obezbediti usluge mnogim klijentima, a sadruge strane, jedan klijent moe koristiti usluge vie servera.

    Dobre strane klijent/server arhitekture uglavnom proizilaze iz injenice da seklijent i server komponente sistema uglavnom izvravaju na razliitim raunarima. Usistemu se svaki raunar moe odabrati tako da najbolje ispunjava zahteve koji se odnjega oekuju. Tako, na primer, za server je pogodno koristiti raunar sa monim

    procesorima, velikim kapacitetom diskova i sa mnogo radne memorije, ime servermoe da efikasno opsluuje istovremene zahteve velikog broja klijenata i da skladitivelike koliine informacija.

    20

  • 8/14/2019 Upravljanje na daljinu

    21/47

    Za aplikacije klijenata je bolje da se izvravaju na slabijim raunarima saminimalnim kapacitetom diskova i minimalnom memorijom, ali sa velikimmultimedijalnim mogunostima. U klijent/server arhitekturi se mogu nai razliititipovi raunara, kao to su PC, PowerPC, RISC radne stanice, miniraunari pa ak imainframe. Svaki od ovih raunara moe imati i svoj operativni system.

    Sistem zasnovan na klijent/server modelu je veoma fleksibilan i otvoren za svevrste izmena hardvera i softvera. Na primer, server se moe zameniti novim bezizmene funkcionalnosti aplikacija klijenata.

    Proirivanje sistema se moe obaviti veoma lako. Novi korisnici se mogu lakoprikljuiti na mreu sa novim radnim stanicama.

    Jedna od prednosti klijent/server sistema je i njegovo korienje radi lakegrazvoja pojedinih delova sistema. Na primer, prilikom razvoja aplikacije za klijentasistem se bavi samo nainom analize i predstavljanja podataka, dok je upravljanje

    podacima preputeno serveru i taj deo aplikacije ne mora ponovo da se pie.[2]

    3.4 Komponente i arhitektura u kijent server sistemima Klijent/server arhitektura se zasniva na hardverskim i softverskim komponentamakoje interaguju formirajui na taj nain sistem. Ovaj sistem sadri tri komponente:klijent, server i komunikacioni posrednik.

    Klijent je bilo koji raunarski sistem koji zahteva usluge od servera. Klijent,poznat jo i kao eona aplikacija, odraava injenicu da je krajnji korisnik obino usistem sa klijent procesom. Server je bilo koji raunarski sistem koji eka na zahteveod klijenata i obezbeuje potrebne usluge za klijente shodno pristiglim zahtevima.Poznat je i kao pozadinska aplikacija.

    Komunikacioni posrednik je bilo koji raunarski sistem ijim posredstvomkomuniciraju 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.

    Zahtevi i odgovori servera putuju kroz mreu u obliku poruka koje se sastojeod informacija za kontrolu prenosa podataka. Za ilustraciju interakcije komponenatamoe da poslui primer kada klijent zahteva servise od procesa baze podataka.Izvrenje aplikacije je razdvojeno na dve glavne i nezavisne komponente, klijent iserver, a komunikacioni posrednik omoguava klijent i server procesima da radezajedno.Najpre klijent 21equest 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 podatkekomunikacionom posredniku koji ih prosleuje i formatira za klijent sistem, a ovaj

    prima podatke i prikazuje ih korisniku. Klijent sistem je odgovoran za interfejskrajnjeg 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 naserveru. Server request potvruje izvravanje zahteva i alje rezultat klijentu.

    Komponente klijent/server arhitekture moraju se povinovati nekim osnovnim principima kako bi meusobno delovale ispravno. Ovi principi moraju biti jednoznano upotrebljivi u komponentama klijenta, servera i komunikacionogposrednika. Principi koji moraju biti ispunjeni su:

    21

  • 8/14/2019 Upravljanje na daljinu

    22/47

    Hardverska nezavisnost. Procesi klijenta, servera i komunikacionog posrednika treba da imaju mogunost izvravanja na razliitim hardverskimplatformama (IBM, DEC, Apple itd.) bez ikakve funkcionalne razlike.

    Softverska nezavisnost. Procesi klijenta, servera i komunikacionog posrednika treba da podravaju razliite operativne sisteme (DOS, Unix, OS/2),razliite mrene protokole (TCP/IP, SPX/IPX) i razliite aplikacije (baze podataka,radne tabele, elektronska pota itd.).

    Otvoreni pristup za servise. Svi klijenti u sistemu moraju imati otvorenpristup svim servisima svih servera koji postoje u mrei i to onoliko puta koliko oni tozahtevaju. Servisi ne smeju zavisiti od lokacija klijenata i servera u mrei. Kljunastvar je da se servisi obezbeuju na zahtev klijenata.

    Distribucija procesa. Obrada podataka je distribuirana izmeu klijenta iservera. Podela optereenja obrade mora se povinovati sledeim zahtevima:

    Klijent i server procesi moraju biti autonomni, sa jasno definisanimgranicama i funkcijama. Ova osobina omoguuje jasno definisanje funkcionalnostiobe strane.

    Lokalno korienje resursa (i klijenta i servera) je maksimalno. Procesiklijenta i servera moraju potpuno koristiti snagu obrade glavnog raunara. Ovaosobina omoguuje dodelu zadataka raunaru koji najvie funkcionalno odgovara.

    Potrebno je da procesi budu takvi da mogu biti lako i to bolje izvreni navie snanih hardverskih platformi. Potrebno je jo da bude ispunjen i uslov

    prenosivosti softvera izmeu razliitih maina bez potrebe da se intervenie naizvornom kodu, ve je potrebno samo izvriti prevoenje i povezivanje kako bisoftver odmah moga da se upotrebi.

    Interoperabilnost i integracija zahtevaju da procesi klijenta i servera buduintegrisani u bezavnu formu sistema, tj. razliite aplikacije imaju mogunostrazmene podataka izmeu razliitih hardverskih platformi i operativnih sistema bezobzira na udaljenost, opremu, tip operativnog sistema i dr. Izmene server procesamoraju biti transparentne za klijent procese. Standardi. Svi principi moraju biti

    bazirani na standardima primenjenim unutar klijent/server arhitrkture. Na primer, postandardima se mora upravljati korisnikim interfejsom, pristupom podacima,

    mrenim protokolima, meuprenosnom komunikacijom, itd. Univerzalni standardi jouvek ne postoje ve ima mnogo razliitih standarda koji se mogu primeniti. Na

    primer, aplikacija moe biti bazirana na ODBC (Open DataBase Conectivity) umestoIDAPI (Integrated Database Application Programing Interface) za pristup podacim imoe koristiti SPX/IPX umesto TCP/IP mrene protokole.[2]

    22

  • 8/14/2019 Upravljanje na daljinu

    23/47

    3.5. Funkcije klijent server

    3.5.1 Klijent

    Klijent je bilo koji sistem koji zahteva usluge od serverovog procesa. Klijentzapoinje konverzaciju sa serverom. Klijent sadri hardverske i softverskekomponente i poeljno je da one poseduju sledee karakteristike:

    Ne toliko snaan hardver Operativni sistem koji je sposoban da podri multitasking Grafiki korisniki interfejs (GUI Graphic User Interface) Komunikacione sposobnosti

    Hardver klijenta je obino stoni raunar (PC ili radna stanica, a u poslednjevreme se koristi i X-terminal koji jedan de potrebnog klijent/server softvera dri uROM-u, a ostatak se puni u RAM memoriju sa servera preko mree).

    Klijent bi trebalo da poseduje operativni sistem sa neto malo multitaskingmogunostima. Kombinacija DOS/Windows ili Windows 95 su trenutnonajkorienije klijent platforme. Mad DOS ima jaka ogranienja u pogledu memorije i

    podrke multitaskinga, Windows 3.1 obezbeuje primitivne multitasking osobine iGUI. Windows 95 kao samostalan operativni sistem podrava multitasking i sve viezamenjuje DOS/Windows kombinaciju.

    Ove osobine kao i mnotvo razvijenih aplikacija za ove operativne sistemeine ih vrlo pogodnim za klijent/server implementaciju.

    Kombinacija hardvera i operativnog sistema mora obezbediti adekvatno

    povezivanje sa raznim mrenim operativnim sistemima. Servisi mogu biti rasporeenina razliitim mreama i klijent raunari moraju biti sposobni da pristupe svim timservisima. Zbog toga, bez obzira na popularnost DOS/Windows kombinacije iWindows-a 95, kao bolja reenja za klijent operativne sisteme se javljaju Windows

    NT, OS/2, Unix.Klijent aplikacija se startuje pod nekim operativnim sistemom i povezuje se sa

    komunikacionim posrednikom radi pristupa slobodnim servisima na mrei i oveaplikacije su uglavnom zasnovane na grafikom korisnikom interfejsu sa nameromda se sakrije kompleksnost od krajnjeg korisnika. Klijent aplikacija interaguje saoperativnim sistemom radi korienja multitaskinga i grafikog korisnikog interfejsakoje on obezbeuje. Ona jo intereaguje i sa mrenom softverskom komponentom

    komunikacionog posrednika radi pristupa servisima. Hardverska komponentakomunikacionog posrednika (mrena kartica i mreni kabl) fiziki transportujezahteve i odgovore na zahteve izmeu klijenta i servera. Dok se zahtev izvrava naserveru, klijent je slobodan da izvrava druge poslove.[2]

    3.5.2 Server

    Server je bilo koji protokol koji obezbeuje servise za klijente. On je reaktivanjer uvek eka na zahteve klijenta. Posmatrano sa strane usluga koje pruaju klijentimatipini su sledei servisi:

    File servisi koji slue za upravljanje datotekama. Klijent povezan na mreumoe pamtiti datoteke na file serveru kao da je to njegov lokalni disk.

    23

  • 8/14/2019 Upravljanje na daljinu

    24/47

    Kada klijent zahteva podatke iz neke datoteke, File server mu prosleuje celudatoteku koju klijent dalje pretrauje i obrauje.

    Print servisi, koji se obezbeuju tako to se jedan ili vie tampaa poveupreko nekog raunara sa klijentima. Klijent moe pristupiti bilo kom tampau kao daje direktno povezan sa njim. On alje serveru podatke koje treba odtampati, podaci seprivremeno smetaju na disk servera odakle se potom alju na odgovarajui tampa.

    Faks servisi, pri emu je najmanje jedan server opremljen (internim ilieksternim) faks ureajem. Klijent ne mora imati faks ili ak ni telefonsku liniju, veon predaje faks serveru podatke koje treba poslati zajedno sa imformacijom kome ihtreba poslati, a server sam obavlja prenos podataka faksom.

    Komunikacioni servisi dozvoljavaju klijentima koji su povezani nakomunikacioni server, da pristupe drugim host raunarima ili serverima za koje nisudirektno povezani.

    Serveri baza podataka ine najiru i dosta uspenu klijent/serverimplementaciju. U ovom sluaju klijent alje SQL zahtev serveru; server primazahtev, potvruje ga, izvrav i alje rezultat klijentu. Podaci i softver za upravljanje

    podacima se nalaze na serveru baze podataka. Od klijenta se zahtevaSamo da ima eonu aplikaciju za pristup serveru baze podataka. Transakcioniservisi se sastoje od baze podataka, sistema za upravljanje bazom podataka (DBMS DataBase Managment System) i procedura za manipulaciju podacima. eonaaplikacija na klijentu alj zahteve transakcionom serveru na kome se izvravajuspecijalne procedure koje koje su instalirane na njemu. SQL kod ne putuje kroz mreuime je redukovan mreni saobraaj pa ovaj server ima bolje performanse od servera

    baze podataka. Raznovrsni servisi koji ukljuuju CD-ROM, video i dr.

    Server, takoe poseduje softversku i hardversku komponentu. Raunar koji

    radi kao server mora biti mnogo snaniji od uobiajenih klijent raunara zato toserver procesi moraju da zadovolje konkurentne zahteve vie klijenata. Ovi raunariobino imaju veu procesorsku snagu (ne retko i vie snanijih procesora), veikapacitet operativne memorije i vei kapacitet diskova nego raunari klijenata.

    Kao server platforme se mogu koristiti jai PC raunari, RISC raunari iliveliki raunari ako je u pitanju upravljanje velikikim bazama podataka ili upravljanjevelikim mreama i sl. Od savremenih server maina se zahteva podrkamultiprocesiranju, disk poljima,mehanizmima obrade viestrukih niti (multithreading)memorijskim podsistemima, itd.

    Podrka disk poljima podrazumeva pristup redudantnim jeftinim diskovima(poznatim kao RAID diskovi) to uvodi pouzdanost u radu sa diskovima u smislu

    oporavaka od greaka (otkaz nekog diska).[2]Mehanizam viestrukih niti omoguava da se procesi podele na vie

    nezavisnih izvrnih poslova, ime se obezbeuje da aplikacije mogu izvravati viesimultanih zadataka. Nit predstavlja najmanji 24equest koji 24eques moe planiratiza izvrenje.

    Podrka memorijskim podsistemima podrazumeva primenu ECC (ErrorCorrection and Detection Code) mehanizma kao i proveru pariteta da bi se ibegaogubitak podataka koji od servera putuju ka klijentu o obratno.

    Kada su u pitanju serveri potrebna je izatita od problema u napajanjuelektrinom energijom to se obino obezbeuje ureajem za neprekidno napajanje.Potrebno je obezbediti mogunost za proirenje CPU-a, memorije, diska i periferija.

    Za operativni sistem servera se najee bira operativni sistem sa mrenompodrkom (Windiows NT ili Unix), ali to nije obavezno. Ide se na to da se odvoje

    24

  • 8/14/2019 Upravljanje na daljinu

    25/47

    server procesi i mreni operativni sistem jer u tom sluaju server raunar serastereuje za izvravanje zahteve koji do njega stiu preko nekog mrenog raunarakoji sada preuzima obavezu da zahteve prosledi do servera.Server aplikacija se startuje pod operativnim sistemom i interaguje sa komponentomkomunikacionog posrednika radi oslukivanja klijent zahteva za servisima. Ovaaplikacija ne mora biti zasnovana na grafikom korisnikom interfeju. Kada zahtev

    bude primljen, server procesi ga lokalizuju (odreuju adresa klijenta koji je poslaozahtev). Server zna kako treba da obradi zahtev tako da mu klijent saoptava samo ta,a ne i kako treba uraditi. Kada se obradi zahtev, odgovor se alje klijentu prekokomunikacionog posrednika.

    Jedan raunarski sistem moe biti jasno podeljen na klijent i serverkomponente. Za server procese postooje sledei principi:

    Lokaciona nezavisnost, to znai da server request moe biti smeten bilo gdeu mrei.

    Optimizacija resursa server sistem mogu deliti vie klijenata.

    Skalabilnost, to znai da server sistem moe biti startovan na vie snanihplatformi. Server procesi bi trebalo da rade u plug-and-play okruenju.[2]

    3.6 Dvoslojni i troslojni Klijent / server sistemi

    Najvei broj informacionih sistema obuhvata module koji krajnjem korisniku,putem GUI interfejsa, olakavaju pregled i unos podataka, ali i proveravaju podatke imanipuluu bazom. Moduli su organizovani u obliku klijent / server sistema, u dva, triili vie slojeva.

    Dvoslojni klijent / server sistemi obuhvataju module u kojima su GUI iposlovna logika sadrani u istoj aplikaciji (klijentu), dok se relaciona baza nalazi naserveru. Klijent stvara korisniko okruenje i proverava ispravnost podataka.Troslojni klijent / server sistemi zasnovane su na malom klijentu (thin client), kojisamo stvara GUI, dok podatke prosleduje jakoj aplikaciji koja se nalazi na serveru ikoja reava poslovnu logiku i preuzima na sebe komunikaciju sa relacionom bazom.

    Pojavom Jave u mogucnosti smo da stvorimo vieslojne i vieplatformskeklijent/ server sisteme. Oni obuhvataju veliki broj jakih server aplikacija i razliitihrelacionih baza na vie nivoa, a klijent moe, komunicirajuci posebno sa svakom

    pojedinanom server aplikacijom, komunicirati sa vie baza podataka. Ulogu malogklijenta moe da odigra i obian applet, to nas uvodi u oblast distribuiranogprogramiranja, u kojoj se Java programeri oseaju kao riba u vodi. Putem RMI iliCORBA poziva, Java klijent moe pozivati metode na udaljenim serverima i

    pristupati bazama podataka.RMI (Remote Method Invocation), koncept koji omogucava Java Java

    komunikaciju i pozivanje metoda iz udaljenih Java aplikacija od strane Java appleta,Java IDL (jezik kojim se definiu interfejsi po CORBA standardu u Javi i, prekoORB-a (Object Request Broker), pozivaju metode u programima napisanim u bilokom programskom jeziku koji podrava CORBA standard) i JDBC.

    Postaju jako sredstvo za pisanje distribuiranih, vieslojnih i viekorisnickih

    klijent / server aplikacija za pristup relacionim bazama podataka. Podatak da su naZapadu najtraeniji Java programeri upravo sa znanjem JDBC, RMI i CORBA,

    25

  • 8/14/2019 Upravljanje na daljinu

    26/47

    dovoljno govori o pravcu u kome e se distribuirano Java programiranje razvijati.Zato emo na jednostavnom primeru pokazati jednostavnost komunikacije Java

    programa sa bazom podataka.[2]

    Dvoslojna klijent/serveraplikacija se tipino sastoji od runo pisanogklijentskog softvera koji implementira i korisniki interfejs i komunikaciju saudaljenom bazom podataka, kao to je SQL Server, radi postizanja aurnosti

    podataka. Dakle grafiki korisniki intrerfejs se obavezno nalazi na klijentskoj maini,DBMS (DataBase Managment System protokol za upravljanje bazom podataka)obavezno na serveru, dok se poslovni deo sistema (sama obrada) moe nalaziti ili naklijentu ili na serveru. Jedan od vanih principa koji je ispotovan u dvoslojnojarhitekturi je princip transparentnosti, tako da korisnik ne mora da zna na kojim se

    platformama izvravaju delovi softvera informacionog sistema. Takode postojerealizovani DBMS kod kojih je server baze distribuiran na vie platformi, ali se zakorisnika stvara iluzija o jedinstvenosti servera baze. Jedinstvenost pogleda na bazu je

    podrana na vie nivoa, od operativnog sistema do samog DBMS.

    Taka oslonca u formiranju takvih sistema je SQL-92 standard.[5]U troslojnim sistemima, javlja se nezavisni aplikacioni server, ime se

    rastereuje server baze podataka ili klijentska maina. Za razvoj grafikogkorisnikog interfejsa se uglavno koriste jezici za vizualno programiranje kao C++,Delphi ili alati poput PowerBuilder-a. Programiranje aplikacionog servera jeuglavnom zasnovano na univerzalnim programskim jezicima (C++) uz koricenjeuniverzalnih CASE alata. Server baze podataka se uglavnom oslanja na neki od

    proizvoda kao to su ORACLE, MS SQL Server, Informix, Sybase SQL Server. Uovakvim arhitekturama transparentnost je uglavnom zasnovana na reenjima

    proizvodjaa DBMS-a, to znaci da organizacija ima svoj intranet na koji oslanja

    reques za upravljanje bazama podataka.Pojava Web-a dovela je do proirenja koncepta transparentnosti. Umestotransparentnosti mree, pomou Web-a je postignuta transparentnost u odnosu naservere (Web servere) koji uvaju dokumenta u obliku hiperteksta. To omogucava dase ostvari pristup podacima po sadraju, ne obazirui se na platformu, operativnisistem raunara, lokaciju raunara i sl. Osnova za takvu transparentnost je jedinstvenstandard za kreiranje Web dokumenata HTML i pojava Web browser-a (npr.

    Netscape) za sve postojee platforme.Svi ovi elementi su prisutni i na Web-zasnovanoj aplikaciji, iako u malo

    drugacijoj formi. Klijent softver se implementira u nekoj kombinaciji HTML iserverovog sistem koda. Korisnicki interfejs se oslanja na HTML, dok reques kod ini

    vezu sa bazom podataka. Komponente na server strani slue istoj svrsi kao i kodruno pisanog programa i obino im se pristupa preko reques koda. Nekekomponente, kao one za pristup serveru i bazi podataka su osnovna grada Web-zasnovane aplikacije. Na serverskoj strani najosnovniji element su servisi za rad nad

    podacima, ali pored njih postoje i neki dodatni servisi kao to su HTTP Server iliInternet Information Server. Dok prvi omogucava pozivanje statickih HTML strana,drugi pored toga omoguava rad sa dinamikim stranama neophodnim zaimplementaciju klijent/server aplikacije na Web-u.[5]

    26

  • 8/14/2019 Upravljanje na daljinu

    27/47

    Troslojna Klijent server struktura[5]

    Asp

    Jedan od protokola koji su namenjeni da unaprede interfejs ka reques kodu jeActive Server Pages (ASP). To je standardna HTML strana sa reques kodomugradenim (requeste) u sam requeste. Projekat moe da koristi ugradjeni kod da biimlpementirao obradu podataka zajedno sa HTML stranom. Nadalje, on moe

    pomou reques koda da pristupi eksternim delovima aplikacije ili da se poveedirektno sa bazom podataka. Kada browser zatrai ASP ugradeni reques se izvri odstrane scripting engine na serveru i rezultati se dinamiki kombinuju sa HTML prenego to se requeste vrati browser-u. Na raspolaganju su reques jezici Visual BasicScript (VBScript), JavaScript (Jscript), REXX, PERL i mnogi drugi jezici. ASP nudi idruga unapredjenja u odnosu na standardni CGI oblasti generisanja strane, odravanja

    i unapredjenja performansi.ActiveX Server Components Implementiranje klijent/server reenja na Internet

    predstavlja izazov sa kojim se obino ne sueljavamo u tradicionalnijim klijent/serverokruenjima. Kada se instalira tradicionalna klijent/server aplikacija, zajedno sa njomse instalira i sav pratei softver neophodan za njeno izvravanje. To ukljuuje i softverza podrku bazama podataka, bilo da je integrisan u aplikaciju ili da je isporuen kaosistemski softver (npr. ODBC). Ovo nije uvek mogue u Web-zasnovanoj aplikaciji.Razliiti browser-i podravaju razliite kontrole, dok ih neki ne podravaju uopte. Usvakom sluaju veliina softvera koji podrava funkcionalnost kao to je pristup

    bazama podataka ini download nepraktinim. ActiveX Server Components jeprojektovan da reava ove probleme.

    27

  • 8/14/2019 Upravljanje na daljinu

    28/47

    IIS 3.0 se isporuuje sa velikim brojem korisnih predefinisanih komponenti.Mnogi programski alati su sposobni da grade ove komponente, kao to su: MS VisualBasic, Delphi, PowerBuilder i drugi. Svaka ActiveX Server komponenta je dostupna

    preko ASP skriptova. Ove komponente su ono to daje snagu ASP-u. Osnovnekomponente nude irok izbor usluga (servisa) piscu skripta, od administracije veza sakorisnicima do pristupa bazama podataka. Mnoge od ovih funkcija bi bilo veomateko ostvariti u tradicionalnom okruenju; mogunost da se lako referenciraju uokviru HTML strane predstavlja veliku utedu u vremenu razvoja. [5]

    4.TCP/IP

    4.1 Opis protokola i paketa

    Protokol je standard za kog programi moraju biti napisani. Znai requesteodredjuje nain slanja podataka preko mree.TCP/IP rad na TCP/IP protokolima je

    poeo jos 1973 godine. To je set mrenih protokola koji dozvoljavaju svakomraunaru, svakom sistemu da uspostavi vezu sa drugim sistemom koristei mrenutopologiju. 1978 god. Zavren je rad na Ipv4, koji koristimo i dan danas medjutimnovi i moderniji Ipv6 polako preuzima primat. *Barkaley University* je prvi put usvoju verziju UNIX-a,BSD ugradio TCP/Ipprotokol.

    BSD je bio veoma omiljen u istraivakim centrima i univerzitetima.Takodje bio je besplatan. TCP/IP dodje kao skup svih tih protokola koji omoguavaju

    prenos podataka preko mree i to u bilo kom formatu. Znai slike,tekst sve moeteprenositi preko mree....

    A sada malo o TCP/IP arhitekturi.TCP/IP je modularan requeste. U stvari onje familija protokola,skup protokola sve od requestedon-level funkcija pa do low-level mrenih protokola kao to su IP i TCP protokoli. Naveu neke dobre straneTCP/IP protokola zbog kojih je i postao popularan. Iako njegov razvoj nije bio toliko

    brz i njegovo irenje je zahtevalo vremena, na kraju mrea nebi opstala bez njega.

    1) standardizacija high-level protokola za iroko dostupne korisnike serv-ise.

    2) Otvorena arhitektura protokola. Podrana od strane svih platforma.

    Radi na svim OS i svom hardware-u.3) Otvoren za development.

    4) Nezavistan od mrenog hardvera. TCP/IP moe da radi nezavisno od

    mrene arhitekture tj dal se radi o Ethernetu, dial upu ili bilo emu drugom.

    5) Jednostavna ema za adresiranje koja dozvoljava, adresiranje irom mreema kolko ta mrea bila velika.

    Poto su toliko otvoreni TCP/IP protokoli su dobro i dokumentovani.Tako

    da u *RFC* (Requests for Comments), moe nai najnovije specifikacije TCP/IP protokola. Korienje RFC je preko potrebno za dobro razumevanje rada mree.

    28

  • 8/14/2019 Upravljanje na daljinu

    29/47

    Arhitektalni model TCP/IP protokola je definisan preko *OSI* standarda.OSI jeskraenica od Open Systems Interconnect Reference Model,i OSI obezbedjujeosnovne reference u sferi protokola. On definise pravila ponaanja protokola. OSIsadri 7 slojeva (layers), koji definiu funkcije protokola. Svaki taj layer prikazujefunkciju koja se izvrava kada se podaci premetaju tj transferuju izmedju aplikacija.Layeri su naredjani jedan na drugog poput blokova i imaju izgled zida. Ovakvastruktura se naziva Protocol Stack.[3]

    IP Protocol

    Sada emo rei nesto vie o nekolicini protokola ponaosob.Kao to se iznaslova moe zakljuiti prvi na redu je IP requeste tj. Internet Protocol. InternetProtokol je deo TCP/IP protokola, koji omoguava mnogo toga. On sadri informacijeo adresiranju i kontroli, i te informacije omoguavaju da se paketi rutiraju krozinternet. Paket je kompresovan niz podataka, na ijem se vrhu nalazi *header*, kojisadri razne podatke o emu emo kasnije imati vie rei. Ruteri tj uredjaji koji

    ispituju pakete svlae header i itaju osetljive informacije o rutiranju. Sadraj headerase moe menjati u toku transporta. Hakeri esto koriste metode spoofa kako bimaskirali svoju pravu IP i to rade menjaju sadraj headera IP paketa.[3]

    Sada emo videti kako jedan IP paket izgleda:

    bits 4 8 16 19 24 31version Length Type of

    serviceTotal length

    Indetification Flag Fragment Offset

    time to live Protocol Header Checksum

    S O U R C E A D D R E S S

    D E S T I N A T I O N A D D R E S S

    O P T I O N S

    D A T A

    Izvriiemo malu analizu ovih polja:

    29

  • 8/14/2019 Upravljanje na daljinu

    30/47

    Version Verzija IP koja se trenutno koristi Lenght - Veliina headera ToS - Type of Service Total l,- Totalna veliina IP paketa. Identif.- Indetification, broj koji pomae pri skupljanju datagram

    fragmenata. Flag - 3-bit polje>prvi bit pokazuje dali paket moze biti fragmentovan

    Drugi pokazuje dali je ovaj fragment poslednji fragment u seri-ji,a trei bit se trenutno ne koristi.

    F ofsset- Fragment ofsset, lokacija fragmentovanih podataka. TTL - time to Live, broja koji odbrojava do 0. Kada odborji do 0

    paket se ispusta, bez njega bi paketi kruili neprestano. Protocol- Ukazuje da gornji requeste prima nadolazece pakete. H check.- Header checksum, brine se o integritetu paketa. Adress - Adrese poaljioca i primaoca.

    Options Opcije vezane za sigurnost.

    Jo da napomenem sta su IP datagrami (datagrams).IP datagrami su u osnivi veoma proste tako rei osnovne transportne jedinicena Internetu. Datagrami takodje imaju header sa informacija o rutiranju kojekoriste ruteri.

    IP datagram izgleda ovako:

    Podaci za gornje slojeve.

    IP HEADER IP DATADATA link HEADER Data link data Frame check segments

    Generalno mreni i deljeni resursi predstavljaju veoma veliki rizik za vasreques. Oni su veoma esto nain na koji sebe moete izloziti opasnosti. Opet sve ovetehnike idu sa vaim poznavanjem skeniranja makar onog osnovnog kao sto jeskeniranje portova,jer ako npr vidite da je na sistemu aktiviran port /*2049*/ to znaida je na ciljanom sistemu pokrenut NFS tj Network File System. NFS je tokomgodina mnogo puta exploatisan medjutim on se jo uvek koristi i ima iroku primenu.Ukoliko vidimo da ciljani reques ima NFS moemo iskoristiti par UNIX utila kako

    bismo izvrili popisivanje te maine.[3]

    4.2 Opis port-a

    30

  • 8/14/2019 Upravljanje na daljinu

    31/47

    Dok raunar nije na mrei poseduje LoopBack ip adresu i obino je 127.0.0.1..Ona ima jednu zanimljivu ulogu u programiranju klijent server aplikacija a to je daomoguuje komunikaciju izmedju klijent i server programa a da su i jedan i drugi

    pokrenuti na istom raunaru.Tako moemo vriti verodostojnu proveru rada naeaplikacije sa velikom utedom vremena na jednom raunaru.

    Pored imena koja reavaju problem indetifikacije treba postojati i jedan putkoji povezuje bolje reeno auto put sa 65535 traka.Svaka traka predstavlja jedan portkoji je opisan kao broj. Neki nisu ili nisu uvek slobodni jer su rezervisani zaodredjene protokole.Svi portovi po pravilu imaju jednake osobine pa se mogu koristiti

    proizvoljno.

    TCP/ip TransferControlProtocol/InternetProtocol

    Protocol portFtp 21Http 80telnet 23

    Netbios - 135

    4.3 Socket kontrola

    Mswinsock je jedna od kontroli u vezi internet aplikacija i podrava TCP/IPprotocol.Pomenimo i jo Microsoft Internet Transfer control i Microsoft Internetcontrol poznatiji kao WEB browser.

    Da bi ispunili uslov za uspostavljanje konekcije izmedju dva sock-a prvo trebaodrediti koji ce od njih da eka konekciju a koji ce zatraiti konekciju tj. podelitiuloge servera i klijenta.Nihov dalji medjusobni odnos je stvar programiranja.

    Postupak ostvarivanja konekcije putem sock kontrole( u visual basic-u):- Otvoriti Vbasic izabrati standar EXE tip aplikacije.- Kliknite desnim dugmetom na Toolboxpojavice se Add components ili

    samo components kliknuti .- Pojavie se Dialog boks Components i na prvoj kartici Controls ekirati u

    llistingu Microsoft Winsck Control 6.0 i kliknuti Apply.- U Toolboxpojavie se nova ikonica , kliknemo na nju i postavimo je naformu.

    - Dajmo joj ime sockServer- Istim postupkom otvoriti jos jedan Vbasic ubaciti socket kontrolu I dati joj ime

    sockKlijent.Sada moemo uporedno pisati i proveravati nau aplikaciju.

    Primer 1. Elementarni uslovi za uspostavljanje veze preko sock-a.

    31

  • 8/14/2019 Upravljanje na daljinu

    32/47

    Server strana aplikacije : upisati u form_load ( U tom sluaju odmah po startovanju programa na sock

    ekae konekcuji na zadatom portu.-To se moe proveriti ukucavanjem u ms promtunetstat an).

    SockServer.Close RESET neophodan prekid radi uspostavljanje ponovne konekcije , za prvu konekciju nije neophodan

    sockServer.LocalPort = 111 Definisati na kom portu se uspostavlja konekciju ovaj podatak je potreban klijent aplikaciji

    socServer.Listen Postavljanje reima oslukivanja na datom portu Sad idemo na stranu klijent aplikacije

    Klijent strana aplikacije :

    sada na klijent strani ubaciti dugme koje e se po automatizmu vb nazvatiCommand1 kliknimo duplo na to dugme I pojavie se editor za pisanje koda zadogadjaj Command1_Click tj. taj kod e se izvriti kada budemo kliknuli na njega.Promenicemomu samo svojstvo caption (inace svojsto odredjuje sta ce da pise na tomdugmetu neznai i njegovo pravo ime. Napiimo Proba konekcije)

    unesimo sledeci kod :sockKlijent.Close Isti komentar kao za sockServer.close

    sockKlijent.RemoteHost = 127.0.0.1 LoopBack Ip adresa 127.0.0.1 koristi se zasluaj testiranja aplikacije na jednom

    raunaru

    I klijent I server su pokrenuti na istomraunaruremoteHost ili internet adresa udaljenogracunara je IP adresa a moe biti host (Ime)raunara ali samo u sluaju LAN mree(wins )

    sockKlijent.RemotePort = 111 Klijent mora znati na kom portu zahteva konekciju

    sockKlijent.Connect Zahtev za konekcijom ,sad je odluka na server strani

    Server strana aplikacije :

    da bi server prihvatio konekciju mora da postoji ovaj kodPrivate Sub sockServer_ConnectionRequest(Index As Integer, ByVal Requested As Long)

    sockServer.Accept Requested Dogadjaj pod imenom ConnectionRequest Odvija se kad server detektuje zahtev za konekciju

    msgbox Konekcija je uspostavljena sa & sockServer.remotehost

    Poruka o uspostavljenoj konekciji sa tim i tim (IP)

    End sub Kraj podrutine

    32

  • 8/14/2019 Upravljanje na daljinu

    33/47

    Klijent strana aplikacije :

    Ubacimo drugo dugme i jednu liniju koda :sockKlijent.SendData ZDRAVO!!! Slanje stringa ide pod navodnicima

    Server strana aplikacije :

    sada moramo obezbediti da server moe prihvatiti I podatak. kliknimo na sock kontrolu i izaberimo DataArrival dogadjaj. Sa Toolbox uznimo i razvuimo jedan textbox i promenimo mu ime u Prikaz

    Private Sub sockServer_DataArrival(Index As Integer, ByVal bytesTotal As Long)

    Dogadjaj DataArrival izvrava se svaki put kada bude primljen podatakposlat od klijent strane

    Dim strData As String definisati promenjivu koja ce primati vrednosti poslate sa

    strane klijent racunara

    sockServer.GetData strData, vbString Dodeljivanje pristiglih podataka promenjivoj strData

    Prikaz.Text = Prikaz.Text & strData & vbCrLfPrikazuje pristigli podatak u textboksu (Prikaz korisniku )

    If sockServer.State = sckConnected Then Provera statusa konekcije Ako je stanje jo u konekciji poslati podatak nazad

    sockServer.SendData strData

    End If

    End Sub kraj podrutine

    Klijent strana aplikacije: Ubaciti sa toolboksa dva tekstboksa i dati im imena brojacPrimljenihporuka I prikazi I za brojacPrimljenihporuka postaviti u opciji TEXT vrednost 0 .!!!

    Prirodno je i da klijet prihvata podatak poslat sa servera ali to vec nije neophodno

    Private Sub sockKlijent_DataArrival(ByVal bytesTotal As Long)

    Dim strData As String

    sockKlijent.GetData strData, vbString

    brojacPrimljenihporuka = brojacPrimljenihporuka + 1Svaki put kad bude poslata poruka broja se inkrementirapokazi.Text = pokazi.Text & strData & vbCrLf

    End Sub

    Kraj primera 1

    33

  • 8/14/2019 Upravljanje na daljinu

    34/47

    Primer 2 : Postavljanje mia u odredjenu poziciju na ekranu

    Potrebno je deklarisati funkciju u editoru modula.

    Public Declare Function SetCursorPos Lib user32 Alias SetCursorPos(ByVal x As Long, ByVal y As Long) As Long

    U modulu javne (preporuka data je funkcija pristupana svim formama)

    Private Declare Function SetCursorPos Lib user32 Alias SetCursorPos(ByVal x As Long, ByVal y As Long) As Long

    A u formi privatneIzabraemo private deklarisanje jednostavnije bez modula.I onda nam ostaje samo da tu funkciju pozovemo.Recimo bie to jedno obinoCommandButton_Clickdugme kad se klikne izvrsi se blok naredba .

    Deklarisanje funkcije IME BIBLIOTEKA SVOJE-VREDNOSTIPROMENJIVE

    Private Declare Function SetCursorPos Lib user32 (ByVal x As Long, ByVal y As

    Long) As Long i ona cela je definisana kao tip

    Private Sub Command1_Click()

    pozivanje funkcije , definiemo dodatnu promenjivu sa istim tipom kao i cela funkcija

    U naem sluaju tipa LONGDimpostaviMISAu00As Long

    Kada kliknemo na dugme MIS ce zauzeti Gornji levi Ugao Koji se rauna kao O,0 Nulta pozicija

    postaviMISAu00 = SetCursorPos(0, 0)

    Nisu sve funkcije tako jednostavne Neke podrazumevaju i vie pod funkcija i definisanje novih promenjivih Ako budemo dovitljivi moemo napisati funkciju po kojoj ce se mi kretati Tipa spirala , trougao pa ak se moe snimiti kretanje mia i pustiti play gde e se videti sta je sve mi radio

    End Sub

    Kraj primera 2

    34

  • 8/14/2019 Upravljanje na daljinu

    35/47

    5. Opis izvornog koda programa

    5.1 Saveti za pravilan rad programa (podesavanje) :

    1. Uspostaviti Lan konekciju izmedju raunara.Iskljuciti firewall (ili dozvoliti)koji obino nee dozvoliti rad programa.

    2. Startovati raunar na kom se nalazi glavi server u sluaju da se klijenaplikacija na klijent raunarima straruje preko StartUp metode(automacko

    paljenje aplikacije po paljenju racunara.U svakom sluaju startovati serveraplikaciju I obezbediti njen stalni rad.(ime fajla : ProfesorServerMain.exe).

    3. U katalogu klijent aplikacije nalazi se tekstualni fajl po imenu

    serverip.txt.Otvorite fajl I unesite Ip adresu glavnog servera .U sluaju da seklijent aplikacija startuje manuelno startovati klijent aplikaciju na klijentraunarima. Odmah po startovanju glavni server e detektovati prisustvoklijent raunara I izvriti konekciju.Server generie prvu sliku ,konvertuje uJPG format I alje glavnom serveru.

    ActivXControl koju koristimo za ostvarenje klijent/server aplikacije najese je MSWINSCK.OCX koja se nalazi u windowsSys direktorijumu.(Ako vam jepotreban nadjite registrovanu verziju I samo iskopirajte fajl u WinSysDir.Poto je visual basic objektno orijentisan programski jezik uvek mozemo pozvatikontrolu radi korisne informacije u datom momentu.Projekat se sastoji kao to smo

    rekli od 4 fajla(dva na klijent racunarima I dva na server racunaru).

    Opis koda programa glavnog servera :

    I deo glavnog servera: Deklaracija ili definisanje Api funkcija njihovihpomonih funkcija i konstanti.Api funkcije pripadaju naprednoj temi rada vizuelnog programiranja.Pod deklaracijom podrazumevamo pozivanje ve postojeih funkcijakoje se nalaze u DLL fajlovima (Dinamic Linked Libraries)tj. Bibliotekamafunkcija.Najvea prednost je u tome sto one zauzimaju radnu memoriju samo dok seizravaju a zatim oslobadjaju memoriski prostor drugim funkcijama, to nevai zaobjekte.Tako moemo napisati program iji fajl neiznosi vie od 300Kb(I zauzima

    malo RAM memorije) a moe izvriti sve funkcije koje nam operativni systemomoguuje.Postoje Javne i privatne deklaracije i konstante .

    Javne se deklariu u MODUL-u I vae za ceo program a privatne se definisu ukodu formi i do uvek na pocetku.Apostrof () u visual basic-u znaci pocetakkomentara.Plava slova znae definisanje funkcija i konstanti .Kodni prostor je

    podeljen dogadjajima dok su dogadjaji vremenski dirigovani po ustaljenomredu.Naravno ne izvre se svi uvek dok se neki uvek prvi izvravaju kao npr.FormLoad , Form_Initialize ..

    35

  • 8/14/2019 Upravljanje na daljinu

    36/47

    5.2 Opis izvornog koda programa

    Problemi na koje sam nailazio priliom izrade softvera :

    1.Kako automacki da se izvri povezivanje klijent-server i da server zna

    kad je a kad nije klijet prisutan.Klijent aplikacija po startovanju u Timer-u koji izvrava kod po odredjenom

    intervalu (periodicno) zahteva konekciju koristei upisanu IP adresu server raunara utekstualnom fajlu ipserver.txt.Tako da ako podesimo da klijent aplikacija bude startovana po startovanjuoperativnog sistema ,klijent ukoliko je server (Glavni racunar) aktivan zatraicekonekciju.

    2.Upravljanje slanjem falja (slike racunara) I prihvatanjem poslatih slikasa vise racunara istovremeno.

    Ovde se ve javlja potreba za kontrolnim (dodatnim socketom) ne zbogistovremenih prijema podataka ve zbog to bre kontrole procesa.Pod kontrolom sesmatra zahtev za aktivnim slanjem i zahtev za prekidom slanja.Prijem slike se vri na

    portu 8866 (multyconnection moe prihvatati slike sa vie raunara istovremeno)dok se na portu 12345 I 432 moe poslati kontrolni string start i stop za poetak ikraj prenosa slike.

    3.Problem detekcije prekida konekcije.

    Ako sock koji samo eka podatak(to je sluaj sa naim sockom na 8866

    portu kom su drukije definisane podrutine za prijem podataka) treba detektovatidiskonekciju trebalo bi ugraditi nekakav vremenski tajming sa proveru koji nije takoni jednostavan i praktian.Sada imamo sock koji se sa servera kao klijent konektuje zasock koji oslukuje na klijent strain i takvih ima 8 (za osam racunara).Imaju ulogu da

    pojedinano svaki svoj raunar prate tj. po diskonekciji sock prepoznaje da veza nijevie aktivna i korisnik se obavetava.Imaju i dodatnu ulogu zahteva za slanje i prekidslanja , chat deo i slanje otkucaja tastature( 12345 I 432 ).

    4.Problem kontrole mia i njegovih dogadjaja

    Za ovaj deo neophodno je deklarisati par API funkcija kao SetCurPos(X,Y) iGetCurPos(X,Y).Kroz dogadjaj mousemove moemo pratiti vrednosti pozicije miaali samo kad smo pod naom formom.Ta forma je razvuena po celom ekranu (fullscreen) i periodino uitava primnjenu sliku tako da mi sad vidimo udaljeni racunar isvaku promenu na njemu.Vrednosti X i Y nisu iste za mia kad je na formi programa ikad je van njega .Zato postoji jednaina koja deli x sa 150 I y sa 149 da bi dobiliodnos 1024x768.Poeljno je da na klijentu i serveru imamo istu rezoluciju.Deljenjemsa 149 dobijamo necelobrojnu vrednost koja je neprihvatljiva za zadavanje koordinatamia tako da se preko osobine MaXLenght regulie decimala.

    36

  • 8/14/2019 Upravljanje na daljinu

    37/47

    Prikaz dela programa koji omogucuje slanje-primanje

    slike i zahteva za slanjem ili prekidom slanja u obliku

    pojednostavljene Blok seme.

    Blok sema 1

    37

  • 8/14/2019 Upravljanje na daljinu

    38/47

    Blok ema za uspostavljanje kontrole mi-a

    Blok sema 2 (glavni deo programa podrazumeva blok emu 1)

    Potrebni falovi za rad programa na strani klijenta:ijl11.dll (generisanje slike ) mesto u glavnom direktorijumu.Serverip.txt ( upisati IP adresu glavnog servera ) mesto u glavnom direktorijumu.

    RA Configuration Settings fajl za beleenje server opcionih podataka.Potrebni falovi za rad programa na strani servera :

    TABCTL32.OCX Tab boks (obino se ve nalazi u WINSYSDIR.MSWINSCK.OCXSocket internet kontrolaCOMDLG32.OCX dijalog boks

    38

  • 8/14/2019 Upravljanje na daljinu

    39/47

    Primer 1.

    Program : Glavni server MainServer.exe forma FORM2

    Private SubsockMain_ConnectionRequest(Index As Integer, ByVal requestID As Long) Jedan dobar trenutak za analizu. ConnectionRequestje trenutak odgovora servera na zatraenu konekciju Za mene ovo je bio trenutak odluke

    intSockCnt = intSockCnt + 1Load sockMain(intSockCnt)

    Brojac, inkrementiranje i ucitavanjesocket.index

    sockMain(intSockCnt).Accept requestID Sock ima svoje index vrednosti

    txtStatus.Text = txtStatus.Text & _"Connected to: " & _sockMain(intSockCnt).RemoteHostIP & vbCrLf

    If Text1.Text = "slobodno" Then

    Ako nijedna do sad konekcija nije prisutna prvu e upisati u prvo slobodno

    Text1.Text = sockMain(intSockCnt).RemoteHostIP

    Exit Sub Kraj podrutine ConnectionRequest

    End IfIf Text2.Text = "slobodno" Then

    Text2.Text = sockMain(intSockCnt).RemoteHostIPExit Sub

    EXIT SUB treba razlikovati odEnd sub Exit sub je pisana komanda (za trenutni prekid izvravanja podrutine) aEnd sub oznaava kraj podrutine

    End If

    If Text3.Text = "slobodno" Then

    Text3.Text = sockMain(intSockCnt).RemoteHostIPExit Sub

    End IfIf Text4.Text = "slobodno" Then

    Text4.Text = sockMain(intSockCnt).RemoteHostIPExit Sub

    End If I tako za svih 8 sva procedura oko konekcije morala je u 8

    varijanti da se napieEnd Sub

    39

  • 8/14/2019 Upravljanje na daljinu

    40/47

  • 8/14/2019 Upravljanje na daljinu

    41/47

    Private Sub sockMain_Close()sockMain.Close

    ' Na prekid u sluaju pada glavnog servera' Pokrenuti zahtev za konekcijom

    Timer1.Enabled = TrueEnd Sub

    Private Sub sockMain_Connect()Timer1.Enabled = False

    ' Na ostvarenu konekciju prekinuti zahteve za konekcijom

    End Sub

    Private Sub sockMain_DataArrival(ByVal bytesTotal As Long)Dim strData As String' Prikaz poslatih stringova

    sockMain.GetData strData, vbStringtxtStatus.Text = txtStatus.Text & _

    strData & vbCrLfEnd Sub

    Private Sub Timer1_Timer()' Periodino ponavljanje u kratkim vremenskim intervalima

    On Error GoTo ni:cmdConnect_Click

    ' Zahtev za konekcijom

    ni:End Sub

    Primer 3.

    Program :XYKoordinator ( na strani servera ) Ceo program je u jednoj formu biva razvuena po celoj formi i periodino u kratkom intervalu uitava sliku

    Private Sub Timer3_Timer()On Error GoTo nio:Form1.Picture = LoadPicture(App.Path & "\" & txtHost.Text & ".jpg")nio:

    End Sub

    41

  • 8/14/2019 Upravljanje na daljinu

    42/47

    Private Sub Timer4_Timer() Matematiki deo algoritma usaglaavanje koordinatnog sistema koji vai dok je mi na naoj formi i dok je van nje ograniavajui dozvoljenu duinu zapisa u tekst boksu Obezbedjujemo slanje samo celobrojnih brojeva-zato to su pozicione koordinate Xi Ydefinisane kao celobrojni tip promenjive INTEGER

    If xx < 1490 Then txtSendX.MaxLength = 2If xx > 14900 Then txtSendX.MaxLength = 4If xx > 1450 And xx < 14900 Then txtSendX.MaxLength = 3txtSendX = (xx / 149) * 10 Opseg van forme 1024X768txtsendY = (yy / 150) * 10 Opseg na formi 15345X12450

    End Sub

    Trenuci za glavobolju 1490 \ 149 daje 10 a 10 * 10 = 100 kad je broj manji od 100 maxlenght = 2 za dve cifre dvocifrenog broja da

    nebi prikazivo razloljeni deo jer deljenje sa 149 daje decimale koje nisu poeljne Kad se rei matematiki deo ostaje nam samo numerologija Evo jednog zanimljivog dela programa Kako forma prepoznaje koje dugme na miu je pritisnuto - nain(click - Dclick) Da bi pojasnili redosled odvijanja dogadjaja moramo znati da se neki dogadjaji odvijaju unutar drugih kao npr. Dogadjaj MOUSEDOWNi MOUSEUPzajedno ine MOUSECLICKali je redosled odvijalja prvo MOUSEDOWNpa zatim MOUSEUP.

    Private Sub Form_Click()

    If Text4 = 2 Then text4 dobija vrednost u rutini MOUSEDOWN

    Command10_Click Govori o kom dugmetu na miu je re desno

    End If

    If Text4 = 1 Then Znaci da je pritisnuto levo dugme na misu I to jednom jer smo u dogadjaju CLICK

    click.SendData "49"

    Slanjem broja 49 XYklijent prepoznaje momenat za pozivanje dogadjaja klik levim dugmetom mia

    End IfEnd Sub

    42

  • 8/14/2019 Upravljanje na daljinu

    43/47

    Private Sub Command10_Click()click.SendData "51"

    Mogli smo ovo odmah da napiemo kao i u sluaju sa levim klikom ali neki put neemo uspeti da poaljemo u dve linije koda dva podatka jedan za drugim jer se zahteva odredjeno vreme i onda dobijemo greku a nemamo greku u sintaksi programskog jezika

    Text1.Text = 0End Sub

    Private Sub Form_DblClick()Command11_Click

    Dupli klik vidi commandbitton11

    End Sub

    Private Sub Command11_Click()click.SendData "55"

    string 55 klijent prepoznaje trenutak za izazivanje dogodjaja dupli klik na udaljenoj maini

    Text1 = 0End Sub

    Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

    Text4 = Button Kad kliknemo i jos uvek drimo dugme izvrsice se samo MOUSEDOWNI to je dovoljno da znamo dal je u pitanju levo ili desno dugme

    End Sub

    Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

    xx = X Dodeljivanje vrednosti X I Y

    yy = YEnd Sub

    43

  • 8/14/2019 Upravljanje na daljinu

    44/47

    Primer 4.

    Program : KlijenXY.exe

    Kont je ime kontrolnog socketa koji je zaduen za prepoznavanje komandi miaupuenih od strane servera

    Private Sub kont_DataArrival(Index As Integer, ByVal bytesTotal As Long)Dim strData As StringDim intCnt As Integerkont(Index).GetData strData, vbStringtext2.Text = strData

    Teks boks 2 prihvata vrednost

    End Sub

    Private Sub text2_Change() Kada se vrednost promeni sledi blok naredbi

    If text2 = "49" ThenCall LeviKlik

    Poziva funkciju levog klika

    text2 = 0Exit Sub

    Kraj podrutine

    End If

    If text2 = "51" ThenCall DesniKlik

    Poziva funkciju desnog klika

    text2 = 0Exit Sub

    End If

    If text2 = "55" ThenCall LeviDupliKliktext2 = 0

    End If

    If text2 = "113" Then String 113 je znak za prekid kontrole

    Timer1.Enabled = FalseForm2.Hide

    MsgBox " Racunar je slobodan . ", vbOKOnly Poruka

    44

  • 8/14/2019 Upravljanje na daljinu

    45/47

    text2 = 0End If

    If text2 = "115" Then Znak za pocetak kontrole misa

    Timer1.Enabled = Truetext2 = 0

    MsgBox " *** Racunar je pod kontrolom ", vbOKOnly, "ProfesorServever 1.0 "

    End If

    If text2 = "53" ThenForm2.Showtext2 = 0

    End If

    If text2 > 1000 Then text2 = 0 Opet problem decimala

    End Sub

    45

  • 8/14/2019 Upravljanje na daljinu

    46/47

    6. ZAKLJUAK

    Internet ve danas predstavalja figurativno za oveka neogranienu koliinu

    podataka i informacija.Pa tako se moe nai Souce code odredjenog programskogjezika u mom sluaju to je Visual Basic Code.Postoje mnoge prednosti poznavanjasintakse nekog programskog jezika kada je u pitanju rad na raunaru.Korienjesource code nekog programa omoguava modifikaciju koda u cilju efikasnijeg rada i

    boljih grafikih reenja.Za veinu aplikacija izvorni kod nije besplatan tako kada nam zatreba

    odredjena tema treba prikupljati deo po deo.Ovaj p