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.

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.

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.