Software Architecture

Software Architecture consists of one tier, two tier, three tier and N-tier architecture.A " Tier " is referred as layer. Three layers involved application namely  Presentation layer
                                                                                                 Business layer
                                                                                                 Data layer

Presentation Layer

It's also known as Client Layer. Top most of an application.This is the layer we see when we use a software. By using this layer we can access the webpages. 
Main functionality : This layer is to communicate with Application Layer. This layer passes the information which is given by the user in term of keyboard action, mouse clicks to the Application Layer.
Example: Login page of Gmail where an end user could see text boxes and buttons to enter user id, password and to click on sign-in.

Application Layer

It is also known as Business Logic Layer which is also known as logical layer. It interact with Database layer and sends required information to the presentation layer. It controls an application's functionality by performing detailed processing. This layer act as a mediator between the presentation layer and the database layer.

Data Layer.

The data stored in this layer. Application layer communicates with Database layer to retrieve the data. It contains methods that connects the database and performs required actions like Insert
                                                                                                                                   Update
                                                                                                                                   Delete

Type of Software Architecture

01) One Tier Architecture:

One tier architecture has all the layers such as Presentation ,Business, Data Access layers in a single software package that means it keeps all of the elements of an application, including the interface, middleware and back-end data, in one place.
It put all of the required components for a software application or technology on a single server or platform. Application which handles all the three tiers such as MP3 player, MS Office are come under one tier application. The data is stores in the local system or a shared drive.

Advantages :
  • Easy to implement and optimize performance.
  • Do not have compatibility or Context switching issues.
  • The cost of deployment is less.
Disadvantages:
  • Do not support remote/ distributed access for data resources.
  • Monolithic manner of the code cause higher maintenance.
  • The cost of the central mainframe is high.

02) Two-Tier Architecture :

The two-tier architecture is divided into two parts :
  1. Client Application (Client Tier).
  2. Database (Data Tier).
Separating these two components into different locations represents a two-tier architecture, as opposed to a single tier architecture. Client system handles both Presentation and Application layers and Server system handles Database layer. It is also known as client server application. The 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 back the data to the Client System.
Advantages :
  • Applications can be easily developed due to simplicity.
  • Maximum user satisfaction is gained with accurate and fast prototype.
  • Since this contains static business rules it's more applicable for homogeneous environment.
  • Database server and business logic is physically close, which offers high performance.
Disadvantages:
  • Heterogeneous environments/ Business environments with rapidly changing rules and regulations are not suitable since the database server has to handle the business logic which slows down database performance.
  • Security wise this is complicated as users need to have separated login information for every SQL server.

03) Three-Tier Architecture.

A three-tier architecture is a client-server architecture in which the functional process logic, data access, computer data storage and user interface are developed and maintained as independent modules an separate platforms.
The three-tier architecture has
  1. Presentation Layer (Client Tier).
  2. Application Layer (Business Tier).
  3. Database Layer (Data Tier).
Client system handles Presentation layer, Application server handles Application layer and Server system handles Database layer.
Three-tier architecture allows anyone of the three tiers to be upgraded or replaced independently. 
Advantages:
  • Improve scalabiltiy
  • Enhanced re-usage
  • Improved data integrity
  • Enhanced security.
  • Reduced distribution. 
  • Redundant Server availability.
Disadvantages :
  • Fewer tools
  • Complexity of communications.

Comments

Popular posts from this blog

Easy understanding of MVC design architecture

A / B Testing

Firewall