Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc

Slides:



Advertisements
Similar presentations
Welcome to Middleware Joseph Amrithraj
Advertisements

Database Architectures and the Web
Objectives In this session, you will learn to:
Technical Architectures
1 Chapter 2 Database Environment Transparencies © Pearson Education Limited 1995, 2005.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System architectures Updated: November 2014.
Online Magazine Bryan Ng. Goal of the Project Product Dynamic Content Easy Administration Development Layered Architecture Object Oriented Adaptive to.
Chapter 9: The Client/Server Database Environment
Chapter 2 Database Environment Pearson Education © 2014.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Structure of a web application1 Dr Jim Briggs. MVC Structure of a web application2.
Client/Server Architecture
1 © Prentice Hall, 2002 The Client/Server Database Environment.
Chapter 2 Client Server Architecture
Tiered architectures 1 to N tiers. 2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend,
Lecture The Client/Server Database Environment
The Client/Server Database Environment
Java Pet Store Application. Outline Introduction Introduction Information Layer Information Layer Application Layer Application Layer Infrastructure Layer.
Web application architecture
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
N-Tier Architecture.
Software Development Architectures Ankur K. Rajopadhye Louisiana Tech University.
UNIT-V The MVC architecture and Struts Framework.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
MBA 664 Database Management Systems Dave Salisbury ( )
CSC271 Database Systems Lecture # 4.
COMP 410 & Sky.NET May 2 nd, What is COMP 410? Forming an independent company The customer The planning Learning teamwork.
© 2005 by Prentice Hall 1 Chapter 9: The Client/Server Database Environment Modern Database Management 7 th Edition Jeffrey A. Hoffer, Mary B. Prescott,
Lecture 19 Web Application Frameworks Boriana Koleva Room: C54
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
Implementation - Part 2 CPS 181s March 18, Pieces of the Site-building Puzzle Page 180, figure 4.1.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
2-Tier,3-Tier datawarehouse Submitted by Manisha Dubey & Akanksha Agrawal.
Intro – Part 2 Introduction to Database Management: Ch 1 & 2.
Mainframe (Host) - Communications - User Interface - Business Logic - DBMS - Operating System - Storage (DB Files) Terminal (Display/Keyboard) Terminal.
Database Architectures Database System Architectures Considerations – Data storage: Where do the data and DBMS reside? – Processing: Where.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
Bayu Adhi Tama, M.T.I 1 © Pearson Education Limited 1995, 2005.
Sakai WebApp Structure
CSC 480 Software Engineering High Level Design. Topics Architectural Design Overview of Distributed Architectures User Interface Design Guidelines.
Chapter 2 Database Environment.
Database application development 1. Chapter 8 © 2013 Pearson Education, Inc. Publishing as Prentice Hall OBJECTIVES  Define terms  Explain three components.
1 LM 6 Database Applications Dr. Lei Li. Learning Objectives Explain three components of a client-server system Describe differences between a 2-tiered.
Submitted by: Moran Mishan. Instructed by: Osnat (Ossi) Mokryn, Dr.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Presented by Alexey Vedishchev Developing Web-applications with Grails framework American University of Nigeria, 2016 Intro To MVC Architecture.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
Introduction to Oracle Forms Developer and Oracle Forms Services
Structure of a web application
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
Introduction to Oracle Forms Developer and Oracle Forms Services
Introduction to Oracle Forms Developer and Oracle Forms Services
MVC and other n-tier Architectures
Software Design and Architecture
The Client/Server Database Environment
The Client/Server Database Environment
Multitier Architecture, MySQL & PHP
Sakai WebApp Structure
Chapter 2 Database Environment Pearson Education © 2009.
Introduction to Databases Transparencies
Lecture 1: Multi-tier Architecture Overview
Web Application Architectures
Database Environment Transparencies
Web Application Architectures
UFCEUS-20-2 Web Programming
Web Application Architectures
Presentation transcript:

Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc

Overview 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 Logical Independence: The ability to change the logical schema without changing the external schema or application programs Can add new fields, new tables without changing views Can change structure of tables without changing view Physical Independence: The ability to change the physical schema without changing the logical schema Storage space can change 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 Presentation Business/Logic Data N-tier architectures try to separate the components into different tiers/layers Tier: physical separation Layer: logical separation

Significance of “Tiers” 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

1-Tier Architecture All 3 layers are on the same machine All code and processing kept on a single machine Presentation, Logic, Data layers are tightly connected Scalability: Single processor means hard to increase volume of processing Portability: Moving to a new machine may mean rewriting everything Maintenance: Changing one layer requires changing other layers

2-Tier Architecture Database runs on Server Separated from client Easy to switch to a different database Presentation and logic layers still tightly connected (coupled) Heavy load on server Potential congestion on network Presentation still tied to business logic

3-Tier Architecture Each layer can potentially run on a different machine Presentation, logic, data layers disconnected

A Typical 3-tier Architecture Architecture Principles Client-server architecture 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

A Typical 3-tier Architecture Presentation Layer Provides user interface Handles the interaction with the user Sometimes called the GUI or client view or front-end Should not contain business logic or data access code

A Typical 3-tier Architecture Logic Layer The set of rules for processing information Can accommodate many users Sometimes called middleware/ back-end Should not contain presentation or data access code

A Typical 3-tier Architecture Data Layer The physical storage layer for data persistence Manages access to DB or file system Sometimes called back-end Should not contain presentation or business logic code

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)

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