1.6.3.1 Mitmekihiline arhitektuur

iDevice ikoon 1.6.3.1 Mitmekihiline arhitektuur
Mitmekihiline arhitektuur (n-tier client-server architecture) on klient-server arhitektuur, kus esituse, töötlemise ja andmete haldamise protsessid on üksteisest loogiliselt eraldatud protsessid. Mitmekihiline arhitektuurimudel aitab luua paindlikku ja korduvalt kasutatavat tarkvara. Muudatuste puhul on vajalik need teha vaid üksikutes kihtides, mitte kogu rakenduses korraga. See lubab hakkama saada vähema töö, lühema aja ja väiksema potentsiaalse vigade hulgaga.

Tüüpilisemaks ja enam kaustatavamaks variandiks on kolmekihiline arhitektuur (three-tier client server architecture). Kolmekihilise rakenduse puhul paikneb iga kiht arvutivõrgus erinevas kohas ning võib paikneda ka erinevatel platvormidel.

Kliendile kõige lähemal on tema arvutis olev tööjaama tarkvara (nn esitusloogika kiht). See võib piirneda vaid sisestusvormidega ja platvormile tüüpilise graafilise kasutajaliidesega. Ei ole välistatud selle kihi olemasolu erinevatele platvormidele. Esitusloogika kiht suhtleb rakenduse kihiga (ka äriloogika kiht, keskmine kiht).

Äriloogika või firmaloogika kihi ülesandeks on juhtida funktsionaalsust, töödeldes selleks alumisest kihist saadud andmeid vastavalt kasutajalt ülemisest kihist tulnud päringutele. See kiht paikneb tavaliselt kohtvõrgu serveril.

Andmekiht on kolmas kiht. See sisaldab andmebaasi ning selle haldamiseks vajalikku tarkvara ning võib paikneda mõnes suurarvutis. Kihi ülesanne on muuhulgas hoida andmeid sõltumatutena rakendusest ja esitusloogikast.

Praegu laialt levivatel veebirakendustel on reeglina sarnane arhitektuur. Sel juhul on esitusloogika kiht seotud veebilehitsejaga ning kasutajaliidese renderdamisega veebilehitseja aknasse. Osa sisu võib olla staatiline ja osa dünaamiline.

Mitmekihiline arhitektuur (n-tier architcture) on üldistus. Siin võivad vastavalt vajadusele lisanduda erinevad kihid (või jaotuda kirjeldatud kihid omakorda osadeks). Olukorras, kus järjest enam on väärtust mitte üksikul rakendusel või andmebaasil, vaid koosvõimelistel infosüsteemidel, on arenduses pudelikael liikunud süsteemide liidestamisele-integratsioonile. Oluline on kasutada läbiproovitud praktikaid (nt mustreid sarnaste probleemide lahendamiseks), teenusorienteeritud lähenemist, infosüsteemide semantilist kirjeldamist.