Web App Architectures
Web App Architectures
Design Patterns
User1 User2
Disk
User1 User2
Conceptual Schema
Physical
independence
Internal Schema
Disk
Business/Logic
Data
Client Server
Database runs on Server
Separated from client
Easy to switch to a different database
Presentation and logic layers still tightly connected
Heavy load on server
Potential congestion on network
Presentation still tied to business logic
3-Tier Architecture
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)
3-Tier Architecture - Advantages
Independence of Layers
Easier to maintain
Components are reusable
Communication
3-tier:The presentation layer never communicates directly
with the data layer-only through the logic layer (linear
topology)
MVC: All layers communicate directly (triangle topology)
Usage
3-tier:Mainly used in web applications where the client,
middleware and data tiers ran on physically separate
platforms
MVC: Historically used on applications that run on a single
graphical workstation (applied to separate platforms as
Model 2)