Transcript Prenos - Vegova
Porazdeljeno procesiranje
Porazdeljeno procesiranje
- podatki v PB se procesirajo na neodvisnih računalnikih, ki so povezani s strežnikom Pozor: porazdeljeno procesiranje porazdeljena PB
Aplikacije ‘odjemalec – strežnik‘
(client – server) – delitev procesiranja in podatkov med enim ali več odjemalčevimi računalniki, ki izvajajo aplikacijo, in strežnikom, ki nudi storitve vsakemu izmed odjemalcev – računalniki so med seboj povezani v omrežje
Odjemalec
(client) enouporabniška delovna postaja, na kateri se izvaja GUI (Graphical User Interface), ki zagotavlja predstavitev podatkov, njihovo obdelavo, povezovanje, storitve baze in primeren vmesnik. 1
Strežnik
(server) eden ali več večuporabniških računalnikov z deljenim (shared) spominom, ki omogočajo obdelavo, povezovanje, storitve baze in primeren vmesnik.
okolje je heterogeno (operacijski sistem) odjemalca in strežnika sta lahko različna - strojna in programska oprema komunikacija poteka s pomočjo dobro definiranega niza standardnih aplikacijskih programskih vmesnikov (API Application Programming Interface) in klicev oddaljenih procedur (RPC - Remote Procedure Call) 2
Razvoj arhitekture aplikacij odjemalec/strežnik 1. Datotečni strežnik
(1- tier architecture)
Up. vmesnik Aplikacija SUPB
Odjemalec: Izvaja uporabniški vmesnik Izvaja procesiranje podatkov Izvaja poizvedbe Skrbi za integriteto in varnost
Debeli odjemalec (fat client)
Odjemalec 1
Up. vmesnik Aplikacija SUPB
Odjemalec 2 Celotne datoteke s podatki Zahteva po podatkih Zahteva po zaklepanju Zaklepanje statusa Strežnik:
datoteke
Datotečni strežnik Shranjuje datoteke Zaklepa zapise Za odjemalca igra vlogo ‘dodatnega diska’ Malo zaposlen Veliko prometa po omrežju 3
Datotečni strežnik - značilnosti
celotno procesiranje se izvaja na strani računalnika, ki zahteva podatke (‘fat client’) aplikacija in podatki so tesno povezani vse akcije se izvajajo znotraj ene aplikacije za potrebe obdelave se od strežnika do odjemalca prenašajo celotne datoteke problemi: P renos velikih količin podatkov po omrežju Z mogljiv odjemalčev HW O djemalčev DBMS mora poznati zaklepanje zapisov, preverjanje integritete Zahtevno nameščanje / vzdrževanje aplikacij 4
Razvoj arhitekture aplikacij odjemalec/strežnik 2. Dvonivojska arhitektura (
2-tier arhitcture)
Up. vmesnik Aplikacija
Odjemalec (1. nivo): Izvaja uporabniški vmesnik Zahteva podatke Izvaja procesiranje podatkov
Tanjši odjemalec (thinner client)
Odjemalec 1
Up. vmesnik Aplikacija
Odjemalec 2 Zahteva po podatkih
SUPB PB
Samo zahtevani podatki Strežnik (2. nivo): Shranjevanje podatkov Izvajanje shranjenih procedur Zaklepanje zapisov Strežnik PB (DB server) Skrb za integriteto in varnost 5
Dvonivojska arhitektura - značilnosti
PB z dodanim strežniškim in odjemalčevim modulom odjemalec je odgovoren za: – logiko I/O procesiranja – logiko nekaterih poslovnih pravil strežnik je odgovoren za vse funkcije shranjevanja in dostopa do podatkov SUPB je nameščen le na strani strežnika prednosti: odjemalčeve postaje so lahko manj zmogljive manj prometa po omrežju izboljšana integriteta podatkov (centralizacija nadzora) shranjene procedure omogočajo, da se nekatera poslovna pravila izvajajo na strežniku 6
Razvoj arhitekture aplikacij odjemalec/strežnik 3. Trinivojska arhitektura
(3-tier arhitcture)
Up. vmesnik Up. vmesnik
Odjemalec (1. nivo): Izvaja uporabniški vmesnik Zahteva podatke Odjemalec 1 Odjemalec 2
Tenki odjemalec (thinnest client)
Aplikacijski strežnik (2. nivo): Izvaja poslovna pravila Izvaja procesiranje
SUPB PB
Strežnik PB (DB server) Aplikacijski strežnik Strežnik PB (3. nivo): Shranjevanje podatkov Izvajanje shranjenih procedur Zaklepanje zapisov Skrb za integriteto in varnost 7
Trinivojska arhitektura - značilnosti
O djemalčeva aplikacija izvaja malo ali nič procesiranja A plikacijski strežnik izvaja celotno procesiranje in uporabo poslovne logike S trežnik PB izvaja preverjanja veljavnosti in vse dostope do podatkov
Prednosti in slabosti 3-nivojske arhitekture
Prednosti Skalabilnost
– Lahko imamo več aplikacijskih strežnikov (št. aktivnih apl. strežnikov se lahko dinamično uravnava (Transaction Processing monitor ali Object Request Broker); dostop do PB pa zahteva le povezavo z apl. strežniki
lažje zamenjave / nadgradnje posameznih ključnih komponent sistema
Večja možnost za ponovno uporabo programskih komponent-
če se uporabljajo standardi (COM/DCOM ali CORBA), so značilnosti programskega jezika, v katerem je implementiran 2. nivo transparentne
8 DCOM = Distributed Object Component Model
Prednosti in slabosti 3-nivojske arhitekture (nad.)
Prednosti (nad.)
Boljša integriteta podatkov – vse spremembe podatkov potekajo
skozi 2. nivo, le ta zagotavlja in prepušča le veljavne / dovoljene spremembe (odpravljeno tveganje, da ‘marsovske’ odjemalčeve aplikacije poškodujejo podatke)
Boljša varnost podatkov – število varnostnih nivojev je povečano
(+1 na aplikacijskem nivoju)
Zmanjšana potreba po redistribuciji aplikacij – spremembe
poslovnih pravil posodobimo le na aplikacijskih strežnikih, odpade potreba po redistribuciji aplikacij odjemalcem
Izboljšana razpoložljivost – lahko imamo podvojene aplikacijske
in / ali podatkovne strežnike (manjša verjetnost da bo vse odpovedalo naenkrat)
Slabosti
Večja kompleksnost - dvojna komunikacija (z odjemalcem in s podatkovnim strežnikom); več napora pri izdelavi
Manj programskih razvojni orodji
– na trgu je (zaenkrat) veliko
več razvojnih orodij za izdelavo 2-nivojskih aplikacij
9
Razvoj arhitekture aplikacij odjemalec/strežnik 4. n-nivojska arhitektura
(n-tier arhitcture) primer: INET arhitektura
Spletni pregledovalnik (browser)
Odjemalec 1
Zelo tenki odjemalec (thin client)
Odjemalec 2
Spletni pregledovalnik (browser)
Spletni strežnik
SUPB PB
Strežnik PB (DB server) Aplikacijski strežnik 10
Omrežno okolje
varnostni nivoji:
ranljivost kompleksno varovanje
– omrežni nivo (uporabniško ime + geslo) – aplikacijski nivo (varnostni mehanizmi, vgrajeni v aplikacijo) – DB nivo (za vsakega uporabnika se s SUPB-em kreirajo njegove ‘vloge’ – dovoljenja) – varna komunikacija med odjemalecem in strežnikom (uporaba enkripcije / dekripcije podatkov, certifikati) 11
Primer arhitekture sodobnega aplikacijskega strežnika GemSotne/J
12
Kdaj naj bi uporabljali 3 ali n nivojsko arhitekturo aplikacij?
Če imamo veliko aplikacijskih storitev Če so aplikacije napisane v različnih jezikih / s strani različnih organizacij Če podatke črpamo iz 2 ali več heterogenih podatkovnih virov (različni SUPB-je ali SUPBji + datotečni strežniki) Če je predvidena življenjska doba aplikacije > 3 let (še posebej, če pričakujemo veliko sprememb ali dopolnitev aplikacije) Če pričakujemo veliko količino prometa (>50000 dnevnih transakcij ali > 300 sočasnih uporabnikov na istem sistemu, ki dostopajo do iste PB) Če pričakujemo veliko komunikacij med aplikacijami (denimo pri elektronski izmenjavi podatkov (Electronic Data Interchange) 13
Prednosti odjemalec/strežnik arhitekture (povzetek)
Medsebojna povezljivost (interoperability) delujejo neodvisno po skupnem protokolu ključne komponente Skalabilnost (scalability) vsako od ključnih komponent lahko zamenjamo, brez večjih sprememb drugod Prilagodljivost tehnologij (adaptability) – enostavno vključevanje novih Podatkovna integriteta (data integrity) – vzdržuje se na podatkovnem strežniku enostavno vzdrževanje Dosegljivost (accessability) - podatki so enostavno dosegljivi s pomočjo omrežja in aplikacij odjemalca Učinkovitost (performance) učinkovitost se lahko optimizira z optimizacijo strojne opreme in procesov Redundančnost (redundancy) z vgradnjo redundančnih komponent lahko omogočimo delovanje sistema, kljub izpadu določenih komponent 14
Potek splošne komunikacije med odjemalcem in strežnikom
Naloge strežnika
Sprejem zahteve Odjemalec Strežnik Izvedba storitve Posredovanje odgovora Čaka na rezultate Zahteva Izvedba storitve Odgovor
Naloge odjemalca
(velja za 1-nivojsko arhitekturo) Vzdrževanje uporabniškega vmesnika (GUI) Intrepretacija ukaze (apl. logika) izdelava izvedbenega načrta povpraševanja – od kod zahtevati podatke pošiljanje podvprašanja strežnikom ( ki vsebujejo podatke)
Potek komunikacije med odjemalcem strežnikom pri 3-nivojski arhitekturi
Čaka na rezultate Odjemalec Zahteva izvedbo operacije Vrača rezultate Čaka na podatke Aplikacijski strežnik Zahteva podatke Vrača podatke Podatkovni strežnik 16
Možnosti za razvrščanje zahtev
značilna situacija: 1 strežnik : N odjemalcev
strežniški proces je lahko en sam vse prispele zahteve s strani odjemalcev se shranjujejo v vhodni vrsti; strežnikov proces jih obdeluje en za drugo (FIFO) strežnikov proces (master) za vsako prispelo zahtevo sproži nov proces (slave), katerega naloga je obdelati zgolj to zahtevo in nanjo ustrezno odgovoriti 17