Klijent Server Seminarski

December 28, 2016 | Author: Ticurina89 | Category: N/A
Share Embed Donate


Short Description

Download Klijent Server Seminarski...

Description

Univerzitet u Novom Sadu Tehnički fakultet »Mihajlo Pupin« Zrenjanin

Seminarski rad: Klijent-Server arhitektura informacionih sistema Predmet: Informacioni sistemi 2

Predmetni nastavnik: Prof. dr Biljana Radulović

Student: Mićić Aleksandar IT 137/2012

Zrenjanin, 2014.

Sadržaj 1.

Uvod......................................................................................................................................... 3

2.

Klijent-server arhitektura ........................................................................................................ 4

3.

Opšti pojmovi klient-server sistema ....................................................................................... 6

4.

Način funkcionisanja klijent-server sistema ............................................................................ 7

5.

Prednosti klijent-server arhitekture ......................................................................................... 8

6.

Primena klijent-server sistema ................................................................................................ 9

7.

Zaključak ................................................................................................................................ 10

8.

Literatura.................................................................................Error! Bookmark not defined.

2

1. Uvod U poslednjih desetak godina svedoci smo rapidnog razvoja informacionih tehnologija koje su postale neizbežne u svim sferama poslovanja i života. Kao jedna od najznačajnijih IT oblasti, aplikavtivno programiranje je takoĎe pretrpelo mnoge promene i doživelo ekspanziju u mnogo različitih pravaca. U ne tako dalekoj prošlosti, aplikacijom se smatrao program koji se izvršava na pojedinačnom desktop računaru, potpuno izolovano od ostatka sveta. Aplikaciji su na raspolaganju stajali samo resursi računara na kome se izvršava, dok je deljenje podataka i resursa bilo nezamislivo, a razmena podataka sa drugim korisnicima iz okruženja se obavljala na krajnje primitivan način, pomoću medijuma kao što je flopi disk. Može se konstatovati da smo daleko odmakli od tog doba. Moderna aplikacija je tipično klijent/server tipa, svi neophodni podaci i resursi u mreži se dele izmeĎu svih korisnika kojima su potrebni, poslovi se distribuiraju na posvećene servere koji raspolažu moćnim resursima koji su u stanju da odgovore na sve postavljene zahteve.

3

2. Klijent-server arhitektura Klijent-server je arhitektura gdje su korisnik (klijent) i server (poslužitelj) odvojeni ili neravnopravni. Najočitiji je primer pregleda Internet stranica. Korisnikovo računar i Internet pretraživač su klijent – oni zahtijevaju, dok su račar i baza podataka koji čine web stranicu server – on poslužuje. Klijent je obično aktivan korisnik, koji šalje zahtjeve i čeka dok se isti ne ispune, dok je server pasivan, čeka na zahtevete ih ispunjava i šalje korisniku. Serveri su obično veoma jaki računari sa dobrim konfiguracijama i karakteristikama zbog toga što istovremeno moraju preraditi mnogo zahteva koji rastu iz dana u dan. Obično servere pokreću i posebni operativni sistemi za razliku od običnih – klijent operativnih sisitema, serverski operativni sistemi su u više segmenata bolji i sadrže naprednije opcije. Klijent/server model je baziran na distribuciji funkcija izmeĎu dva tipa nezavisnih i autonomnih procesa: servera i klijenta. Klijent je bilo koji proces koji zahteva specifične usluge od server procesa. Server je proces koji osigurava usluge za klijenta. Klijent i server mogu biti smešteni u istom računaru ili u različitim računarima povezanim preko mreže. U slučaju da su klijent i server procesi sješteni u dva ili više nezavisnih i umreženih računara, server proces može osigurati usluge za više od jednog klijenta. Pored toga, klijent može zahtjevati usluge i od više servera iz okruženja bez obzira na njihove lokacije ili fizičke karakteristike računara na kojima se nalaze server procesi. Mreža služi povezivanju servera i klijenata zajedno osiguravajući medij kroz koji klijenti i serveri komuniciraju.

4

Klijent-server arhitektura i klijent-server model obrade podataka se javlja početkom devedesetih godina, priznanje doživljava već polovinom istog, a razvijen je kao rezultat nastojanja da se što bolje iskoristi resurs kućnih računara, kroz njihovu integraciju u jedinstven sistem za obradu podataka. Klijent-server model obrade podataka je model distribuirane obrade podataka, gde se funkcije jednog korisničkog programa raspodeljuju na najmanje dva procesa koji meĎusobno komuniciraju. Ta dva procesa obrade podataka su: klijentski i serverski. Logika komunikacije klijentskog i serverskog procesa je sledeća: klijentski proces šalje poruku serverskom procesu, tražeći odreĎenu uslugu, a serverski proces izvršava traženi zadatak i šalje poruku klijentskom procesu o rezultatu (uspiehu ili neuspiehu) izvršenog zadatka. Klijentski i serverski procesi su specijalizovani za izvršavanje odreĎenih tipova zadataka i uvek komuniciraju oni dielovi procesa koji su nadležni za traženi zadatak. Oba procesa se mogu izvršavati na jednom računaru, ali pun opseg mogućnosti se realizuje distribucijom ovih procesa na veliki broj, fizički dislociranih računara. Tada je računar koji izvršava klijentski deo procesa klijent-računalo, ili kraće klijent, a po analogiji, isto važi i za server. Dakle, za punu primenu klijent-server arhitekture, potrebna su najmanje dva računara, povezana komunikacijskom mrežom, sa instaliranim mrežnim operativnim sistemom i uspostavljenom komunikacijom. Elementi koji čine klijent-server sistem jesu: · jedan ili više klijenata, · jedan ili više servera, · klijentski procesi, · serverski procesi, · komunikacijski meĎusloj (komunikacijski hardver i softver).

5

3. Opšti pojmovi klijent-server sistema U oblasti informacionih tehnologija server je računarski sistem koji pruža usluge drugim računarskim sistemima – klijentima. Komunikacija izmeĎu servera i klijenta odvija se preko računarske mreže. Naziv server najčešće se odnosi na ceo računarski sistem, ali se ponekada koristi i samo za hrdver ili softver takvog sistema. Klijent i server zajedno obrazuju klijent-server mrežnu arhitekturu. 

Server (računar)

Kada se pod pojmom server podrazumeva računar, to se uglavnom odnosi na računar koji obavlja serverske poslove. Server se može sastojati od standardnih hardverskih komponenti koje se ugraĎuju u obične desktop računare (PC – personal computer) u slučaju da programi (aplikacije) koji se izvršavaju na serverima nisu složeni odnosno hardverski zahtevni. Serveri koji opslužuju složene programe ili veliki broj korisnika zahtevaju specijalizovan hardver koji je optimizovan za upotrebu u serverima. Poseban hardver podrazumeva i hard diskove visokih performansi, prvenstveno brzine i pouzdanosti. Procesorska brzina nije od ključne važnosti za servere pošto se većina servera bavi uzlazno/izlaznim (I/O – input/output) operacijama i ne koristi grafički korisnički interfejs (GUI – graphic user interface). 

Klijent

Klijent je računarski sistem koji pristupa servisu na drugom računaru (serveru) preko neke vrste telekomunikacione mreže ili negog medijuma druge vrste. 

Klijent – računar

Klijent je računar koji omogućava korisniku da se poveže na mrežu i da koristi resurse koji se nalaze na mreži. Postoje tanki i debeli klijenti. Tanki klijenti (thin client) su umreženi računari koji nemaju lokalno instaliran softver, ograničene procesorske snage i mogu i da nemaju ni hard disk. Debeli klijenti (fat client) su umreženi računari sa lokalno instaliranim softverom i dovoljno procesorske snage da izvršavaju lokalno instaliran softver.

6

4. Način funkcionisanja klijent-server sisema Server proces započinje na nekom računaru (na kojem je smešten), pokreće se, a zatim prelazi u sleep mod i čeka da ga neki klijent proces kontaktira i zatraži neku uslugu od njega. 

Klijent proces započinje na istom ili nekom drugom računaru koji je preko mreže povezan sa računalrom na kome se nalazi server. Klijent procesi se često pokreću od strane interaktivnih korisnika koji zahtievaju izvršenje odreĎenih naredbi. Klijent proces šalje zahtiev putem mreže do servera tražeći odreĎenu uslugu od njega.



Kada server proces završi posao (servis) koji je od njega zatražen od strane klijenta, prelazi ponovo u sleep mod i čeka sledeći zahtev za nekom uslugom.



Klijent/server arhitektura se zasniva na hardverskim i softverskim komponentama koje spajanjem na taj način čine sistem. Ovaj sistem sadrži tri komponente: klijent, server i komunikacijski posrednik.



Klijent je bilo koji računarski proces koji zahtieva usluge od servera. Klijent, poznat još i kao glavna aplikacija, odražava činjenicu da je krajnji korisnik obično u interakciji sa klijent procesom.



Server je bilo koji računarski proces koji čeka na zahteve od klijenata i osigurava potrebne usluge za klijente shodno pristiglim zahtevima. Poznat je i kao pozadinska aplikacija.

Komunikacijski posrednik je bilo koji računarski proces čijim posredstvom komuniciraju klijent i server. Sastavljen je od nekoliko softverskih nivoa koji pomažu pri prenosu podataka i upravljačkih informacija izmeĎu klijenta i servera. Komunikacijski posrednik je obično povezan sa mrežom. Svi klijentovi zahtjevi i odgovori servera putuju kroz mrežu u obliku poruka koje se sastoje od informacija za kontrolu i prenos podataka.

7

5. Prednosti klijent-server arhitekture 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 prosleĎuje direktno ili kroz neku računarsku mrežu. Ipak, značajan deo aplikacije se veže za klijenta, što prouzrokuje osnovne nedostatke ovakve arhitekture. Povezivanje dinamičkog ponašanja sistema za klijenta, zbog čestih izmena u korisničkom okruženju, prouzrokuje skupo održavanje sistema a zbog čestih izmena u tehnologiji korisničkih interface-a i skupo održavanje. Pri razvoju i upotrebi klijent-server sistema treba postići sledeće ciljeve: hardversku nezavisnost, softversku nezavisnost, otvoren pristup servisima, funkcionalnu distributivnost i standardizaciju. Hardverska nezavisnost je postignuta kada klijentski, serverski i procesi komunikacijskog meĎusloja uspešno funkcionišu na različitim hardverskim platformama, odnosno kada izmene u hardverskoj konfiguraciji sistema ne utiču na funkcionisanje klijent-server sistema. Softverska nezavisnost je postignuta kada klijentski, serverski i procesi komunikacijskog meĎusloja mogu funkcionisati na različitim operativnim sistemima uz upotrebu različitih mrežnih protokola. Otvoren pristup servisima je ostvaren kada klijentski proces ima mogućnost da, po potrebi, bez ograničenja, koristi usluge svih serverskih procesa u mreži, nezavisno od lokacijske udaljenosti klijenta i servera. Funkcionalna distributivnost je ostvarena kada klijentski, serverski i procesi meĎusloja predstavljaju nezavisne činitelje u obradi podataka i imaju precizno definirane namene, zadatke i granice. Funkcionalna distributivnost treba omogućiti "zamenjivost" dielova softvera, što podrazumijeva da tekuća verzija nekog klijentskog, serverskog ili programa u meĎusloju klijentserver sistema, može zameniti novom, a da to ne utiče na funkcionisanje ostalih komponenti softvera. Standardizacija ima za cilj da osigura što viši stepen hardverske i softverske nezavisnosti, kao i nezavisnost korisničkog programa od podataka. Korisnički interface, pristup podacima i mrežni protokol, kao i drugi elementi klijent-server arhitekture trebaju biti pokriveni odgovarajućim standardima. (Pavličević, 1998.)

8

6. Primena klijent-server sistema

Jedan karakterističan primer primene klijent-server sistema u oblasti baza podataka jeste situacija u kojoj se na serveru nalazi relacioni sistem za upravljanje bazama podataka koji podržava delove ili celokupnu bazu podataka informacionog sistema. Na klijentima se nalaze aplikacije informacionog sistema i, eventualno, privatni podaci korisnika. Komunikacija izmeĎu klijenta i servera, u ovom slučaju, podrazumeva razmenu naredbi jezika SQL, podataka i poruka o statusu transakcija. Kada se pri izvršavanju alikacije na klijentu doĎe do neke SQL naredbe, tekst takve naredbe se putem komunikacionog meĎusloja prosleĎuje do servera. Server, zatim, ovu naredbu sintaksno analizira. Ako se sintaksna analiza uspešno okonča, server optimizira postupak njenog izvršenja i na kraju je izvršava. Kao rezultat sintaksne analize i izvršenja naredbe, korisničkoj aplikaciji na klijentu se prosleĎuju podaci, ili poruke o statusu, odnosno o uspešnosti izvršenja posmatrane naredbe. Dobre strane klijent-server arhitekture uglavnom proizilaze iz činjenice da se klijent i server komponente sistema uglavnom izvršavaju na različitim računarima. U sistemu se svaki računar može odabrati tako da najbolje ispunjava zahteve koji se od njega očekuju. Isto tako, sistem zasnovan na klijent-server modelu je veoma fleksibilan i otvoren za sve vrste izmena hardvera i softvera. Proširivanje sistema se može obaviti veoma lako. Novi korisnici se mogu lako priključiti na mrežu sa novim radnim stanicama. Jedna od prednosti klijent-server sistema je i njegovo korišćenje radi lakšeg razvoja pojedinih delova sistema.

9

7. Zaključak

I klasične desktop aplikacije i moderne višeslojne klijent/server arhitekture imaju svoje prednosti i mane. Možda ih i ne treba direktno porediti zbog toga što u poslovnim okruženjima u kojima se koriste postoji mnogo različitih poslova od kojih neke bolje obavlja aplikacija sa klasičnom arhitekturom, a neke moderna klijent/server aplikacija. Činjenica da nam danas na raspolaganju stoji tako bogat izbor daje nam komfor da izaberemo vrstu aplikacije koja najbolje odgovara postavljenim zahtevima. Klasične desktop aplikacije i moderne klijent/server arhitekture ne treba posmatrati kao suprotstavljene strane koje teže ka tome da eliminišu jedna drugu jer, kao što je prikazano u poglavlju o komparativnoj analizi, za obe vrste aplikacija se mogu naći primene u kojima su superiorne i u tim situacijama ne treba da postoji dilema desktop ili klijent/server. Dakle, desktop i klijent/server aplikacije će nastaviti da koegzistiraju i u budućnosti. I jedne i druge će se uporedo razvijati i svaka od njih će imati oblasti svoje primene u kojoj će biti superiorna u odnosu na onu drugu. Možda će početi da se razvijaju i hibridne desktop-web aplikacije koje će nuditi približno istu funkcionalnost i korisnicima koji ih izvršavaju na svom desktop/laptop računaru i korisnicima koji im pristupaju kroz web browser.

10

8. Literatura    

http://bs.wikipedia.org/wiki/Ra%C4%8Dunarska_mre%C5%BEa http://www.knowledgebank1.org/poslovna_informatika_fpsvs_1_svi_05/lekcije/lekcija8. htm http://www.sei.cmu.edu/str/descriptions/clientserver.html http://sr.wikipedia.org/sr/Server



http://en.wikipedia.org/wiki/Client–server_model

11

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF