System Architecture
Elements of a system architecture in web development
Web Applications architecture is described in terms of tiers or layers. If a database is used, the system has at least two tiers. The database represents the bottom tier and the computer programs that talk to both the database and process requests from the user make up the second tier. The florist web site is therefore a two tier model.
Figure 10b: 3-Tier Architecture
The above picture represents a 3-Tier, or three layer design. The lowest layer - the one on the right here - contains the database and all connected queries, stored procedures etc. The data server - a computer or set of computers that contain the actual data and the DBMS that holds the database belong to this tier. The next layer is sometimes called the presentation logic tier. It contains programs that either get input from the Internet or send output to a client computer via the Internet. Some programs write html files that form web pages; others read filled data in forms. These programs may be stored on a separate a web server - a computer or set of computers that store web related data and protocols.
Some web applications incorporate a large amount of business logic. In a shares or mutual funds company for instance, the calculation of certain figures may be very complex and it makes sense to separate such calculations from the programs that simply generate web pages containing the calculated information. Some online malls calculate order amounts, shipping amounts, discounts and so on using very complicated formulae. Once again, throwing in such calculations with scripts that generate html on the fly is not good design practice. In cases like this, an Application tier is incorporated between the web server and the database. Programs in the web server do not contain any calculations or formulae; they simply interact with applications running on the next level down to get figures and display data. Sometimes, the application tier is split into a Business Tier which contains all the programs or applications that perform very specific functions and a data access tier that gets data for these applications from the database
Figure 10c: A More Complex Architecture