Software Architecture and its types

Software Architecture is a system to represent the collection of components that accomplish a specific function or set of functions. There may be one or multiple components in the foundation of an architecture on which software can be built. A software architecture helps to define and represent the component(s) and their relationship. We can understand software architecture with an example. Let’s consider to build a bungalow on a plain land there is a need for a civil engineer or architecture. He gathers different types of input from our side and prepares a floor plan on the paper. If requirements are fulfilled then builder starts construction work. In the same way, a software architect prepare a plan of as per the requirement. He draws a structure that meets all technical and operational requirements of the software. The developer team builds the software as per software architecture and deliver to the client.

Before going to explain the types of architecture firstly you need to understand the different layers which are the foundation of software architecture. There are four types of layer:

  • Presentation Layer: This layer is responsible to display the user interface and manage user interaction.
  • Application Layer: Application layer (also known as Business Layer) has all the business logic, rules and policies. The application layer is a bridge between the presentation layer and the data layer.
  • Data Layer: This layer is responsible for storing the data. 
  • Service Layer: This layer is responsible to define and implement the service interface and the data contracts. Service layer communicates with the application layer

Tier Architecture

1. One-tier Architecture:

One-tier architecture has Presentation layer, Business layer and Data layers at the same tier i.e. at Client Tier. As the name suggested, all the layers and components are available on the same machine. MP3 player, MS Office etc. are some of the examples of one-tier architecture. To store the data (as a function of Data Layer) local system or a shared drive is used.

Software Architecture Type - 1 tier
Figure 01: Software Architecture Type – 1 tier

2. Two-tier Architecture:

In such type of architecture, the client tier handles both Presentation and Application layers and the server handles the Database layer. The two-tier architecture is also known as a ‘Client-Server Application’. In two-tier architecture, communication takes place between the Client and the Server. Client system sends the request to the server system and the server system processes the request and sends the response back to the client system.

Software Architecture Type - 2 tier
Figure 02: Software Architecture Type – 2 tier

3. Three-tier Architecture:

All three major layers are separated from each other. Presentation layer resides at Client Tier, Application layer acts as middle-ware and lies at Business Tier and Data layer is available at Data Tier. This is a very common architecture.

Software Architecture Type - 3 tier
Figure 03: Software Architecture Type – 3 tier

4. N-tier Architecture:

N-tier architecture is also called a Distributed Architecture or Multi-tier Architecture. It is similar to three-tier architecture but the number of the application server is increased and represented in individual tiers in order to distribute the business logic so that the logic can be distributed.

Software Architecture Type - n tier
Figure 04: Software Architecture Type – N tier

This post covers only basic and important points of software architecture and its types which are really needful for a performance tester and performance engineer.


You may be interested:


Leave a Reply

Your email address will not be published. Required fields are marked *