Web Application Architecture multitier 2 tier 3 tier
Web Application Architecture: multi-tier (2 -tier, 3 -tier) & mvc
Overview o o Data Independence in Relational Databases N-tier Architectures Design Patterns The MVC Design Pattern
Data Independence in Relational Databases
Database Architecture With Views
Logical and Physical Independence
Data Independence o Logical Independence: The ability to change the logical schema without changing the external schema or application programs o Can add new fields, new tables without changing views o Can change structure of tables without changing view o Physical Independence: The ability to change the physical schema without changing the logical schema o Storage space can change o Type of some data can change for reasons of optimization LESSON: Keep the VIEW (what the user sees ) independent of the MODEL (domain knowledge)
N-tier architectures
Significance of “Tiers” N-tier architectures have the same components o Presentation o Business/Logic o Data N-tier architectures try to separate the components into different tiers/layers o Tier: physical separation o Layer: logical separation
Significance of “Tiers” Database runs on Server o Separated from client o Easy to switch to a different database Presentation and logic layers still tightly connected o Heavy load on server o Potential congestion on network o Presentation still tied to business logic
1 -Tier Architecture All 3 layers are on the same machine o All code and processing kept on a single machine Presentation, Logic, Data layers are tightly connected o Scalability: Single processor means hard to increase volume of processing o Portability: Moving to a new machine may mean rewriting everything o Maintenance: Changing one layer requires changing other layers
2 -Tier Architecture Database runs on Server o Separated from client o Easy to switch to a different database Presentation and logic layers still tightly connected (coupled) o Heavy load on server o Potential congestion on network o Presentation still tied to business logic
3 -Tier Architecture o Each layer can potentially run on a different machine o Presentation, logic, data layers disconnected
A Typical 3 -tier Architecture Principles o Client-server architecture o Each tier (Presentation, Logic, Data) should be independent and should not expose dependencies related to the implementation o Unconnected tiers should not communicate o Change in platform affects only the layer running on that particular platform
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 backend o Should not contain presentation or business logic code
The 3 -Tier Architecture for Web Apps o Presentation Layer Static or dynamically generated content rendered by the browser (front-end) o Logic Layer A dynamic content processing and generation level application server, e. g. , Java EE, ASP. NET, PHP, Cold. Fusion platform (middleware) o 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 o Easier to maintain o Components are reusable o Faster development (division of work) o Web designer does presentation o Software engineer does logic o DB admin does data model
- Slides: 18