Prenos - Vegova

Download Report

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