Lesson 01
Lesson 01
What is a Server?
• Any computer or program that processes the
requests of multiple computers or programs (clients)
• Typically, the server is always on and waits for client
requests
What is a Client-Server model?
• It is a software architecture model consisting of two
parts,
• client systems
• server systems
both communicating over a computer network or on
the same computer
Multitier Architecture
• In software engineering, multi-tier architecture (often referred
to as n-tier architecture) is a client–server architecture in which
• presentation
• application processing
• data management
functions are logically separated.
• The most widespread use of multi-tier architecture is the three-
tier architecture
• N-tier application architecture provides a model by which
developers can create flexible and reusable applications.
• By segregating an application into tiers, developers acquire the
option of modifying or adding a specific layer, instead of
reworking the entire application.
Three-tier Architecture
• Three-tier architectures typically comprise a
• presentation tier
• business or data access [logic] tier
• data tier
•
A Typical 3-tier Architecture
Presentation Layer
o Provides user interface
o Handles the interaction
with the user
o Sometimes called the
GUI or client view or
front-end
o Should not contain
business logic or data
access code
A Typical 3-tier Architecture
Logic Layer
o The set of rules for
processing information
o Can accommodate
many users
o Sometimes called
middleware/ back-end
o Should not contain
presentation or data
access code
A Typical 3-tier Architecture
Data Layer
o The physical storage
layer for data
persistence
o Manages access to
DB or file system
o Sometimes called
back-end
o Should not contain
presentation or
business logic code
Advantages of Three-tier Architecture
• The ability to separate logical components of an application
ensures that applications are easy to manage and understand.
i.e. experts can be employed that specialize in one of the layers e.g. user
interface design
• Communication can be controlled between each logical tier
Changes in one tier, for example, the database access tier, do not have to affect
the client component. i.e. a change from one DBMS to another would only
require a change to the component in the data access layer with little or no effect
on the business/logic (middle) or UI layer.
• Specific tools and technologies suited to each layer can be
deployed (and may evolve at a different pace).
• Components are reusable
• Faster development (division of work)
• Web designer does presentation
• Software engineer does logic
• DB admin does data model
Significance of “Tiers”