Trinivojska arhitektura

Pri tinivojski arhitekturi se pojavi dodatni t.i. aplikacijski strežnik, na katerem je nameščena uporabniška aplikacija. To povzroči dodatno razbremenitev odjemalčevega sistema.
img102_8

 

Naloge, ki jih izvaja odjemalec (1. nivo):

  • izvaja uporabniški vmesnik,
  • zahteva podatke.

Naloge, ki jih izvaja aplikacijski strežnik (2. nivo):

  • izvaja poslovna pravila,
  • izvaja procesiranje.

Naloge, ki jih izvaja podatkovni strežnik (3. nivo):

  • shranjuje podatke,
  • izvaja shranjene procedure,
  • zaklepa zapise,
  • skrbi za integriteto in varnost podatkov.

 

img104_8
Potek komunikacije med odjemalcem, aplikacijski in podatkovnim strežnikom
Značilnosti trinivojske arhitekture
  • Odjemalčeva aplikacija izvaja malo ali nič procesiranja.
  • Aplikacijski strežnik izvaja celotno procesiranje in uporabo poslovne logike.
  • Strežnik PB izvaja preverjanja veljavnosti podatkov in nadzor nad vsemi dostopi 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 zahteva le povezavo z aplikacijskim strežnikom, zato je lažja zamenjava oz. nadgradnja posameznih ključnih komponent sistema.
    • Večja možnost za ponovno uporabo istih programskih komponent. Če se uporabljajo standardi (COM/DCOM ali CORBA), so značilnosti programskega jezika, v katerem je implementiran 2. nivo, transparentne.
    • Boljša integriteta podatkov - Vse spremembe podatkov potekajo skozi 2. nivo, le ta pa zagotavlja in prepušča le veljavne / dovoljene spremembe (odpravljeno tveganje, da ‘marsovske' ali 'padalske' 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 in več napora pri izdelavi aplikacij. Potrebna je dvojna komunikacija: z odjemalcem in s podatkovnim strežnikom.
    • Manj programskih razvojni orodji - na trgu je (zaenkrat) veliko več razvojnih orodij za izdelavo 2-nivojskih aplikacij.