Multi Tier Architecture
Multi Tier Architecture
Architectures
Single-tier, Two-tier and multi-
tier architectures
Raheela nasim 1
Tiered Architectures
• Architecture
– A style and method of design and construction
– Refers to the high level structures of a software system
– The discipline of creating structures, and the documentation of these
structures.
• Tier
– can be defined as "one of two or more rows, levels, or ranks
arranged one above another".
Raheela nasim 2
Tiers of an architecture
Client
<html>
Presentation
... Visualise
tier
information system </html>
Application
logic tier Calculate
Resource
management tier
Store
Raheela nasim 3
Presentation Layer
• The presentation layer is what a system
user sees or interacts with.
• It can consist of visual objects such as
screens, web pages or reports or non-
visual objects such as an interactive voice
response interface.
• This layer represents a small portion of the
effort involved in building application
systems.
Raheela nasim 4
Logic Layer
• The business logic layer, on the other
hand, represents the business rules that
are enforced via programming logic
(computer instructions) regarding how
those rules are applied.
• The set of rules for processing information
• Sometimes called middleware/ back-end
Raheela nasim 5
Data Layer
• The data access layer consists of the definitions of
database tables and columns and the computer
logic that is needed to navigate the database.
• The data access layer enforces rules regarding the
storage and access of information. For example:
dates must be valid dates and numeric fields must
never contain alphanumeric characters.
• Manages access to DB or file system
• Sometimes called back-end
• Should not contain presentation or business logic
code
Raheela nasim 6
Raheela nasim 7
Architecture Principles
• Each tier (Presentation, Logic, Data) should be
independent and should not expose dependencies related
to the implementation
• Unconnected tiers should not communicate
• Change in platform affects only the layer running on that
particular platform
Raheela nasim 8
1-Tier Architecture
• is the simplest, single tier on single user, and is the
equivalent of running an application on a personal
computer.
• All the required component to run the application are
located within it.
• User interface, business logic, and data storage are all
located on the same machine.
• They are the easiest to design, but the least scalable.
Because they are not part of a network, they are useless for
designing web applications.
Raheela nasim 9
1-Tier Architecture
Raheela nasim 10
2-Tier Architectures
• Supply a basic network between a client and a server.
• For example, the basic web model is a 2-Tier Architecture.
• A web browser makes a request from a web server, which then
processes the request and returns the desired response, in this
case, web pages.
• This approach improves scalability and divides the user interface
from the data layers.
• However, it does not divide application layers so they can be
utilized separately.
• Here is direct communication between client and server there is
not any intermediate
• This makes them difficult to update and not specialized. The
entire application must be updated because layers aren’t
separated.
• The main problem of two tier architecture is the server can not
respond multiple request same time as a result it cause data
integrity issue.
Raheela nasim 11
2-Tier Architecture
Raheela nasim 12
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
Raheela nasim 13
3-Tier Architecture
• is most commonly used to build web applications.
• In this model, the browser acts like a client, middleware or
an application server contains the business logic, and
database servers handle data functions.
• This approach separates business logic from display and
data.
• So the 3 layers commonly known as: Presentation
Layer(PL/UI),Business Logic Layer(BLL) & Data Access
Layer(DAL).
Raheela nasim 14
3-Tier Architecture
Raheela nasim 15
The 3-Tier Architecture for Web
Apps
• Presentation Layer
– Static or dynamically generated content rendered by the browser
(front-end)
• Logic Layer
– A dynamic content processing and generation level application
server, e.g., Java EE, ASP.NET, PHP, ColdFusion platform
(middleware)
• Data Layer
– A database, comprising both data sets and the database
management system or RDBMS software that manages and
provides access to the data (back-end)
Raheela nasim 16
3-Tier Architecture - Advantages
• Independence of Layers
– Easier to maintain
– Components are reusable
– Faster development (division of work)
• Web designer does presentation
• Software engineer does logic
• DB admin does data model
• With growing number of tiers one gains:
– flexibility
– functionality
– possibilities for distribution
3-Tier Architecture - Disadvantages
• Each tier increases communication costs
• Complexity rises leading to higher cost and risk
– Higher complexity of development
– Higher complexity of management and tuning
• Redundancy increases
Raheela nasim 17