Tre-lags arkitektur

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 22. oktober 2021; checks kræver 8 redigeringer .

Three-tier architecture ( three-tier architecture , eng.  three-tier ) er en arkitektonisk model af et softwarekompleks, der antager tilstedeværelsen af ​​tre typer komponenter (niveauer, links): klientapplikationer (som brugerne arbejder med ), applikationsservere (som klientapplikationer arbejder med) og databaseservere (som applikationsservere arbejder med) [1] .

Komponenter

Klienten  ( klientlaget ) er en komponent af det komplekse (normalt grafiske ), der leveres til slutbrugeren. Dette niveau bør ikke have direkte forbindelser til databasen (for sikkerheds- og skalerbarhedskrav), være indlæst med hovedforretningslogikken (for skalerbarhedskrav ) og gemme applikationstilstanden (for pålidelighedskrav ) . Kun den enkleste forretningslogik tages normalt til dette niveau: autorisationsgrænseflade , krypteringsalgoritmer , kontrol af inputværdier for gyldighed og formatoverholdelse, enkle operationer med data (sortering, gruppering, tælleværdier), der allerede er indlæst på terminalen .

Applikationsserveren ( mellemlag , mellemlag ) er placeret på andet niveau, det meste af forretningslogikken er koncentreret om den. Kun fragmenter, der eksporteres til klienten (terminaler), samt logiske elementer nedsænket i databasen (lagrede procedurer og triggere), forbliver uden for den. Implementeringen af ​​denne komponent leveres af middlewaren . Applikationsservere er designet på en sådan måde, at tilføjelse af yderligere instanser til dem sikrer horisontal skalering af softwarepakkens ydeevne og ikke kræver ændringer af applikationskoden.

Databaseserveren (datalaget ) sørger for datalagring og er placeret på et separat niveau, implementeret som regel ved hjælp af databasestyringssystemer , forbindelsen til denne komponent leveres kun fra applikationsserverniveauet.

I de enkleste konfigurationer kan alle komponenter eller nogle af dem kombineres på én computernode. I produktive konfigurationer bruges som regel en dedikeret computerknude til databaseserveren eller en klynge af databaseservere; for applikationsservere en dedikeret gruppe af computernoder, som klienter (terminaler) er direkte forbundet til.

Sammenligning

Sammenlignet med en to-lags klient-server- arkitektur eller en fil-server- arkitektur, giver en tre-lags arkitektur som regel større skalerbarhed (på grund af applikationsserverens horisontale skalerbarhed og forbindelsesmultipleksing), større konfigurerbarhed (pga. isolering af niveauer fra hinanden). Implementeringen af ​​applikationer, der er tilgængelige fra en webbrowser eller fra en tynd klient , involverer som regel implementering af en softwarepakke i en tre-lags arkitektur. Samtidig er udviklingen af ​​trelags softwaresystemer normalt vanskeligere end for tolagssystemer, og tilstedeværelsen af ​​yderligere middleware kan medføre yderligere omkostninger ved administrationen af ​​sådanne komplekser.

Noter

  1. Martin Fowler. Arkitektur af Enterprise Software Applications . - M. : Williams, 2006. - S. 46. - 544 s. — ISBN 5-8459-0579-6 . Arkiveret 10. februar 2022 på Wayback Machine