Advantages of using three-tier architecture:
- It makes the logical separation between business layer and presentation layer and database layer.
- Migration to new graphical environments is faster.
- As each tier is independent it is possible to enable parallel development of each tier by using different sets of developers.
- Easy to maintain and understand large project and complex project.
- Since application layer is between the database layer and presentation layer so the database layer will be more secured and client will not have direct access to the database.
- Posted data from presentation layer can be verified or validated at application layer before updating it to the database.
- Database Security can be provided at application layer.
- Application layer or middle layer or business layer can be a protection shield to the database.
- New rules or new validation rules can be defined any time and changes made to middle layer will not effect presentation layer.
- Define any logic once within the business layer and that logic can be shared among any number of components in the presentation layer.
- We can display only necessary methods from business layer in the presentation layer.
- We can hide unnecessary methods from business layer in the presentation layer.
- Easy to apply object oriented concept
- Easy to update data provider queries.
Disadvantage of using three-tier architecture:
- To implement even small part of application it will consume lots of time.
- Need good expertise in object oriented concept (classes and objects).
- It is more complex to build.