3 Tier Architecture
Software Components
• We are in to building complex software applications and as you are
well aware most of the software will have a
– User interface (UI)
» Is what a user sees and interact with. Eg: GUI
– Business logic
»On which the programming logic has been build. Eg: Reports
– Backend
»Mechanism to store data permanently. Eg: Database
Software Architecture
• In order to achieve maintainability, Scalability and security we
may need to separate those components in to different layers and
tiers and there comes the relevance of software architecture
• Software architecture is the Process of defining a structured
solution that meets all of the technical and operational
requirements.
1-Tier Architecture
• Code for all the required component to run the application are
coupled tightly together.
• Ie. User interface, business logic, and data storage are all located
without any logical and physical separation
« Eg: MS Excel,
• Advantages
– Simple
– Easy to design
• Disadvantages
– Difficult for multiple users ie .Not Scalable
– Because they are not part of a network, they are useless for designing
web applications.
1-Tier Architecture
2-Tier Architecture
• All the required component to run the application are coupled
within client and server.
Client Applications
Database Server
Client
Presentation + Business Logic
Server
Database
Client
Presentation
Server
Database + Business Logic
OR
Client Applications
2-Tier Architecture
Database Server
Select * from tbl_cutomer
Some application developed
in java/c++/.NET and installed
on clients computer
Points to be noted
• It is possible to implement the 2 tire architecture in a single
system as well. I.e. it’s not necessary to be in a client server model
always
• The only thing is that there should be a logical separation between
database and presentation with business logic coupled with any of
the other two layers
• By doing so, software installation will also includes installation of
the database
• Advantages
– Simple to implement compared to 3 - tier
– Easy to use
• Disadvantages
– Performance will be degrade upon increasing the users, since the
database server has to handle the business logic
– If client beholds most of the application logic, problems arise in
controlling the software version and re-distributing of new versions.
– Any change in an application should reflect all clients. If higher number
of users exists in the system
2-Tier Architecture
• All the required component to run the application are logically
separated ( and hence can be physical)
3-Tier Architecture
Client Browser – eg:Chrome
Presentation
Web Server Eg:Apache,IIS
Business Logic
Database Server Eg:Mysql
Backend
•
Returns data
Request from
Presentation layer
Apply business logic
on the data
1
2
4
3
Connect with database
server
5
WebServer
Processed data to be
disaplyed in browser
Browser Database Server
Working of 3-Tier architecture
• Advantages
– Scalability – Each tier can scale horizontally
– Better Re-use
– Easy to maintain and modification is bit easy, won’t affect other
modules
• Disadvantages
– Increase Complexity/Effort
3-Tier Architecture
Points to be noted
• It is also possible to implement the 3 tire architecture in a single
system as well. I.e. it’s not necessary to be in a client server model
always
• The only thing is that there should be a logical separation between
database and presentation and business logic
Questions?
“A good question deserve a good grade…”
Self Check !!
End of day
If this presentation helped you, please visit our
page facebook.com/baabtra and like it.
Thanks in advance.
www.baabtra.com | www.massbaab.com |www.baabte.com
Contact Us
Emarald Mall (Big Bazar Building)
Mavoor Road, Kozhikode,
Kerala, India.
Ph: + 91 – 495 40 25 550
NC Complex, Near Bus Stand
Mukkam, Kozhikode,
Kerala, India.
Ph: + 91 – 495 40 25 550
Start up Village
Eranakulam,
Kerala, India.
Email: info@baabtra.com

3 tier architecture

  • 1.
  • 2.
    Software Components • Weare in to building complex software applications and as you are well aware most of the software will have a – User interface (UI) » Is what a user sees and interact with. Eg: GUI – Business logic »On which the programming logic has been build. Eg: Reports – Backend »Mechanism to store data permanently. Eg: Database
  • 3.
    Software Architecture • Inorder to achieve maintainability, Scalability and security we may need to separate those components in to different layers and tiers and there comes the relevance of software architecture • Software architecture is the Process of defining a structured solution that meets all of the technical and operational requirements.
  • 4.
    1-Tier Architecture • Codefor all the required component to run the application are coupled tightly together. • Ie. User interface, business logic, and data storage are all located without any logical and physical separation « Eg: MS Excel,
  • 5.
    • Advantages – Simple –Easy to design • Disadvantages – Difficult for multiple users ie .Not Scalable – Because they are not part of a network, they are useless for designing web applications. 1-Tier Architecture
  • 6.
    2-Tier Architecture • Allthe required component to run the application are coupled within client and server. Client Applications Database Server Client Presentation + Business Logic Server Database Client Presentation Server Database + Business Logic OR
  • 7.
    Client Applications 2-Tier Architecture DatabaseServer Select * from tbl_cutomer Some application developed in java/c++/.NET and installed on clients computer
  • 8.
    Points to benoted • It is possible to implement the 2 tire architecture in a single system as well. I.e. it’s not necessary to be in a client server model always • The only thing is that there should be a logical separation between database and presentation with business logic coupled with any of the other two layers • By doing so, software installation will also includes installation of the database
  • 9.
    • Advantages – Simpleto implement compared to 3 - tier – Easy to use • Disadvantages – Performance will be degrade upon increasing the users, since the database server has to handle the business logic – If client beholds most of the application logic, problems arise in controlling the software version and re-distributing of new versions. – Any change in an application should reflect all clients. If higher number of users exists in the system 2-Tier Architecture
  • 10.
    • All therequired component to run the application are logically separated ( and hence can be physical) 3-Tier Architecture Client Browser – eg:Chrome Presentation Web Server Eg:Apache,IIS Business Logic Database Server Eg:Mysql Backend
  • 11.
    • Returns data Request from Presentationlayer Apply business logic on the data 1 2 4 3 Connect with database server 5 WebServer Processed data to be disaplyed in browser Browser Database Server Working of 3-Tier architecture
  • 12.
    • Advantages – Scalability– Each tier can scale horizontally – Better Re-use – Easy to maintain and modification is bit easy, won’t affect other modules • Disadvantages – Increase Complexity/Effort 3-Tier Architecture
  • 13.
    Points to benoted • It is also possible to implement the 3 tire architecture in a single system as well. I.e. it’s not necessary to be in a client server model always • The only thing is that there should be a logical separation between database and presentation and business logic
  • 14.
    Questions? “A good questiondeserve a good grade…”
  • 15.
  • 16.
  • 17.
    If this presentationhelped you, please visit our page facebook.com/baabtra and like it. Thanks in advance. www.baabtra.com | www.massbaab.com |www.baabte.com
  • 18.
    Contact Us Emarald Mall(Big Bazar Building) Mavoor Road, Kozhikode, Kerala, India. Ph: + 91 – 495 40 25 550 NC Complex, Near Bus Stand Mukkam, Kozhikode, Kerala, India. Ph: + 91 – 495 40 25 550 Start up Village Eranakulam, Kerala, India. Email: [email protected]