The structure of components in a web application.
Common Models
Common models to structure components of web applications.
One server
Each Client connect to a single Server that hosts the entire web application or even several applications. This is more straightforward to implement than other models, but also more risky, since compromising a single vulnerable web application on the server comprises the entire system.
Many Servers - One Database
Allows several Servers to access the same database. These servers can host a replication of the same web application or different applications. This model is more secure than the one server model since it segments the components of the web application(s).
Many Servers - Many Databases
Allows each web application to have its data hosted on separate database Servers. This segments both web applications on servers and their data. This is the most secure of the models, since compromising or failure on any components will affect less of the whole system.
Layers
The components of web applications are divided into three layers (also called tiers)
Presentation Layer
UI components that enable the user to communicate with the application.
Application Layer
Layer that ensures that all Client requests are correctly processed and that authorisation and privileges are checked.
Data Layer
Determines what data is required, where it is stored and ensures that it can be accessed.