All projects are broadly divided
into two types of applications 2 tier and 3 tier architecture. Basically
high level we can say that 2-tier architecture is Client server
application and 3-tier architecture is Web based application. Below
I am concentrating on the difference between Two-Tier and Three-Tier
Architecture, what all advantages, disadvantages and practical examples.
Two-Tier Architecture:
The two-tier is based on Client
Server architecture. The two-tier architecture is like client server
application. The direct communication takes place between client and server.
There is no intermediate between client and server. Because of tight coupling a
2 tiered application will run faster.
The Two-tier architecture is divided
into two parts:
1) Client Application (Client Tier)
2) Database (Data Tier)
2) Database (Data Tier)
On client application side the code
is written for saving the data in the SQL server database. Client sends
the request to server and it process the request & send back with data. The
main problem of two tier architecture is the server cannot respond multiple request
same time, as a result it cause a data integrity issue.
Advantages:
- Easy to maintain and modification is bit easy
- Communication is faster
Disadvantages:
- In two tier architecture application performance will be degrade upon increasing the users.
- Cost-ineffective
Three-Tier Architecture:
Three-tier architecture typically comprise a presentation tier,
a business or data access tier, and
a data tier. Three layers in the three tier architecture are as
follows:
1) Client layer
2) Business layer
3) Data layer
2) Business layer
3) Data layer
1) Client layer:
It is also called as Presentation
layer which contains UI part of our application. This layer is used for the
design purpose where data is presented to the user or input is taken from the
user. For example designing registration form which contains text box, label,
button etc.
2) Business layer:
In this layer all business logic
written like validation of data, calculations, data insertion etc. This acts as
an interface between Client layer and Data Access Layer. This layer is
also called the intermediary layer helps to make communication faster between
client and data layer.
3) Data layer:
In this layer actual database is
comes in the picture. Data Access Layer contains methods to connect with
database and to perform insert, update, delete, get data from database based on
our input data.
Three-tier Architecture
Advantages
- High performance, lightweight persistent objects
- Scalability – Each tier can scale horizontally
- Performance – Because the Presentation tier can cache requests, network utilization is minimized, and the load is reduced on the Application and Data tiers.
- High degree of flexibility in deployment platform and configuration
- Better Re-use
- Improve Data Integrity
- Improved Security – Client is not direct access to database.
- Easy to maintain and modification is bit easy, won’t affect other modules
- In three tier architecture application performance is good.
Disadvantages
- Increase Complexity/Effort
The Two-tier architecture is divided into two parts:
Advantages:
It is also called as Presentation layer which contains UI part of our application. This layer is used for the design purpose where data is presented to the user or input is taken from the user. For example designing registration form which contains text box, label, button etc.
2) Business layer:
In this layer all business logic written like validation of data, calculations, data insertion etc. This acts as a interface between Client layer and Data Access Layer. This layer is also called the intermediary layer helps to make communication faster between client and data layer.
3) Data layer:
In this layer actual database is comes in the picture. Data Access Layer contains methods to connect with database and to perform insert, update, delete, get data from database based on our input data.
Advantages
1) Client Application (Client Tier)
2) Database (Data Tier)
On client application side the code is written for saving the data in
the SQL server database. Client sends the request to server and it
process the request & send back with data. The main problem of two
tier architecture is the server cannot respond multiple request same
time, as a result it cause a data integrity issue.2) Database (Data Tier)
Advantages:
- Easy to maintain and modification is bit easy
- Communication is faster
- In two tier architecture application performance will be degrade upon increasing the users.
- Cost-ineffective
Three-Tier Architecture:
Three-tier architecture typically comprise a presentation tier, a business or data access tier, and a data tier. Three layers in the three tier architecture are as follows:
1) Client layer
2) Business layer
3) Data layer
1) Client layer: 2) Business layer
3) Data layer
It is also called as Presentation layer which contains UI part of our application. This layer is used for the design purpose where data is presented to the user or input is taken from the user. For example designing registration form which contains text box, label, button etc.
2) Business layer:
In this layer all business logic written like validation of data, calculations, data insertion etc. This acts as a interface between Client layer and Data Access Layer. This layer is also called the intermediary layer helps to make communication faster between client and data layer.
3) Data layer:
In this layer actual database is comes in the picture. Data Access Layer contains methods to connect with database and to perform insert, update, delete, get data from database based on our input data.
Advantages
- High performance, lightweight persistent objects
- Scalability – Each tier can scale horizontally
- Performance – Because the Presentation tier can cache requests, network utilization is minimized, and the load is reduced on the Application and Data tiers.
- High degree of flexibility in deployment platform and configuration
- Better Re-use
- Improve Data Integrity
- Improved Security – Client is not direct access to database.
- Easy to maintain and modification is bit easy, won’t affect other modules
- In three tier architecture application performance is good.
- Increase Complexity/Effort
Comments
Post a Comment