Software architecture refers to the high-level structures of a software system and the discipline of making such structures. Our focus, however, will be on these two structures, the Two-tier and Three-tier Architecture structures.
So what?s Two-tier Architecture? This is where you have direct communication between a client and a server with no intermediary. It is divided into two parts;
1. ) Client Application.
2. ) Database.
The client in a Two-tier architecture application has the code written for saving data in the database. The client sends a request to the server, where it then processes the request and sends back the data. Meaning the client handles both the Presentation layer (application interface) and Application layer (logical operations), while the server system handles the database layer.
The Three-tier Architecture is divided into 3 parts;
- ) Presentation Layer (Client tier)
- ) Application Layer (Business tier)
- ) Database Layer (Data tier)
The Presentation Layer is the topmost layer of an application. This is the layer seen when using the software(Interface, web pages). By using the software we access web pages. Its main function is to communicate with the application layer. This layer passes information which is given by the user in terms of keyboard actions and mouse clicks to the application layer.
The Application Layer is also known as the Business logic layer. Here?s where we find logic controls and functionality that processes data received from the presentation layer and database layer. It acts as an intermediary between the presentation and database layer.
The Database Layer is the layer that stores data with the retrieval storage and execution methods made by the application layer. It contains methods that connect to the database and performs the required actions needed. These are Insert, update or delete. Just to name a few.
Three-tier Architecture provides the following benefits.
- Scalability ? Each tier can scale horizontally. For example, you can load-balance the Presentation tier among three servers to satisfy more Web requests without adding servers to the Application and Data tiers.
- Performance ? Because the Presentation tier can cache requests, network utilization is minimized, and the load is reduced on the Application and Data tiers. If needed, you can load-balance any tier.
- Availability ? If the Application tier server is down and caching is sufficient, the Presentation tier can process Web requests using the cache.
The limitations of Three-tier Architecture are.
- You must manually push templates, assets, private assets, uploaded images, and uploaded files from the Application tier to the Presentation tier. You may use a tool like Robocopy to do this.
- You create content (HTML, assets, PageBuilder pages, etc.) only in the Application tier. You can only view content from Presentation tier.
- Because Three-Tier Architecture uses WCF ? a framework for building service-oriented applications, it requires:
- The 8.5 Framework API and data binding. You cannot use API calls outside of the Framework API, templated server controls and widgets created by the Framework API.
- Because the business logic executes on the Application tier, its Web site directory must be identical to the Presentation tier.