Model View Controller MVC Web Software Architecture.

Slides:



Advertisements
Similar presentations
ICS 434 Advanced Database Systems
Advertisements

Apache Struts Technology
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Model-View-Controller ("MVC") This is a architectural design pattern for interactive applications. This design pattern organizes an interactive application.
Graphical User Interface (GUI) Nelson Padua-Perez Bill Pugh Department of Computer Science University of Maryland, College Park.
Graphical User Interface (GUI) Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Software Architecture Patterns (2). what is architecture? (recap) o an overall blueprint/model describing the structures and properties of a "system"
Object-Oriented Analysis and Design
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Apache Struts Technology A MVC Framework for Java Web Applications.
Course Instructor: Aisha Azeem
Who am I? ● Catalin Comanici ● QA for 10 years, doing test automation for about 6 years ● fun guy and rock star wannabe.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
UNIT-V The MVC architecture and Struts Framework.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Dependency Injection and Model-View-Controller. Overview Inversion of Control Model-View-Controller.
MODEL VIEW CONTROLLER A Technical Seminar Report submitted to
MVC pattern and implementation in java
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Architectural separation (MVC, arch model, Seeheim).
MVC and MVP. References enter.html enter.html
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
Model View Controller (MVC) Rick Mercer with a wide variety of others 1.
ASP.NET and Model View Control Jesper Tørresø ITNET2 F08.
Lecture 19 Web Application Frameworks Boriana Koleva Room: C54
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
(c) University of Washington08-1 CSC 143 Models and Views Reading: Ch. 18.
Pemrograman Web MVC Programming and Design Pattern in PHP 5.
Chapter 6 – Architectural Design CSE-411, Dr. Shamim H Ripon.
JakeShop A complete application for online commerce by Jake Feasel.
Model View Controller (MVC) Bigger than a Pattern: It’s an Architecture Rick Mercer with help from many others 1.
.  A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate.  Taken advantage of Spring’s multi layer injection.
CSC 2720 Building Web Applications Frameworks for Building Web Applications.
Model View Controller Architecture of Java Web Applications Dr. M V S Peri Sastry, Ph.D.[BITS-Pilani]
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
Model View Controller (MVC) Bigger than a Pattern: It’s an Architecture Rick Mercer with help from many of others 1.
ANDROID AND MODEL / VIEW / CONTROLLER. Slide 2 Design Patters Common solutions to programming problems are called design patterns Design patterns are.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
MVC WITH CODEIGNITER Presented By Bhanu Priya.
CSC 2720 Building Web Applications Basic Frameworks for Building Dynamic Web Sites / Web Applications.
 An essential supporting structure of any thing  A Software Framework  Has layered structure ▪ What kind of functions and how they interrelate  Has.
Model View Controller (MVC) an architecture Rick Mercer with help from many of others 1.
Chapter 9 Web Application Design. Objectives Describe the MVC design pattern as used with Web applications Explain the role and responsibilities of each.
L10: Model-View-Controller General application structure. User Interface: Role, Requirements, Problems Design patterns: Model – View – Controller, Observer/Observable.
Mr. Justin “JET” Turner CSCI 3000 – Fall 2015 CRN Section A – TR 9:30-10:45 CRN – Section B – TR 5:30-6:45.
Introduction  “M” “V” “C” stands for “MODEL” “VIEW” “CONTROLLER”. ASP.NET MVC is an architecture to develop ASP.NET web applications in a different manner.
CS223: Software Engineering Lecture 14: Architectural Patterns.
Mach-II Primer Ben Edwards An Introduction to Mach-II: An event-based, implicit invocation web-application framework.
ASP.NET MVC An Introduction. What is MVC The Model-View-Controller (MVC) is an architectural pattern separates an application into three main components:
APACHE STRUTS ASHISH SINGH TOMAR ast2124. OUTLINE Introduction The Model-View-Controller Design Pattern Struts’ implementation of the MVC Pattern Additional.
Flux & React Web Application Development Mark Repka, Rich McNeary, Steve Mueller.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
Apache Struts Technology A MVC Framework for Java Web Applications.
INTRODUCTION TO MVC BY SUHA MNEIMNEH. WHAT’S THE AGENDA What is MVC? MVC components MVC vs web forms vs ASP.NET vocabulary When to create MVC application.
Presented by Alexey Vedishchev Developing Web-applications with Grails framework American University of Nigeria, 2016 Intro To MVC Architecture.
Introduction The concept of a web framework originates from the basic idea that every web application obtains its foundations from a similar set of guidelines.
Architecture Brief Pepper
CompSci 280 S Introduction to Software Development
IT323 - Software Engineering 2
MVC and other n-tier Architectures
Software Design and Architecture
Haritha Dasari Josue Balandrano Coronel -
CS102 – Bilkent University
Model-View-Controller Patterns and Frameworks
Lecture 1: Multi-tier Architecture Overview
Chapter 6 – Architectural Design
The Islamia University Bahawalpur
Model, View, Controller design pattern
ASP.NET MVC Imran Rashid CTO at ManiWeber Technologies.
Presentation transcript:

Model View Controller MVC Web Software Architecture

Introduction Model View Controller or MVC as it is popularly called, is a software design pattern for developing web applications. Model–view–controller (MVC) is a software architecture pattern which separates the representation of information from the user's interaction with it.

Parts of MVC A Model View Controller pattern is made up of the following three parts: Model View Controller

The MVC model defines web applications with 3 logic layers: The business layer (Model logic) The display layer (View logic) The input control (Controller logic )

Model The model is responsible for managing the data of the application. It responds to the request from the view and it also responds to instructions from the controller to update itself It is the lowest level of the pattern which is responsible for maintaining data. The Model represents the application core (for instance a list of database records). It is also called the domain layer

View The View displays the data (the database records). A view requests information from the model, that it needs to generate an output representation. MVC is often seen in web applications, where the view is the HTML page.

Controller The Controller is the part of the application that handles user interaction. Typically controllers read data from a view, control user input, and send input data to the model. It handles the input, typically user actions and may invoke changes on the model and view.

Workflow in MVC - Example Though MVC comes in di ff erent flavours, the control flow generally works as follows: 1. The user interacts with the user interface in some way (e.g., user presses a button) 2. A controller handles the input event from the user interface, often via a registered handler or callback. 3. The controller accesses the model, possibly updating it in a way appropriate to the user’s action (e.g., controller updates user’s shopping cart).

4. A view uses the model to generate an appropriate user interface (e.g., view produces a screen listing the shopping cart contents). The view gets its own data from the model. The model has no direct knowledge of the view.

Dependence hierarchy There is usually a kind of hierarchy in the MVC pattern. The Model knows only about itself. That is, the source code of the Model has no references to either the View or Controller.

The View however, knows about the Model. It will poll the Model about the state, to know what to display. That way, the View can display something that is based on what the Model has done. But the View knows nothing about the Controller. The Controller knows about both the Model and the View.

Why dependence hierarchy is used? The reason to keep it this way is to minimize dependencies. No matter how the View class is modified, the Model will still work. Even if the system is moved from a desktop operating system to a smart phone, the Model can be moved with no changes. But the View probably needs to be updated, as will the Controller.

Working of MVC in web application

Normal Web Page vs. MVC The MVC programming model is a lighter alternative to traditional Web Page/Forms. It is a lightweight, highly testable framework, integrated with all existing features, such as Security, and Authentication.

MVC Folders Application information Properties References Application folders App_Data Folder Content Folder Controllers Folder Models Folder Scripts Folder Views Folder Configuration files Global.asax packages.config Web.config

Advantages Clear separation between presentation logic and business logic. Each object in mvc have distinct responsibilities. parallel development easy to maintain and future enhancements All objects and classes are independent of each other.

Disadvantages Increased complexity Inefficiency of data access in view Difficulty of using MVC with modern user interface too. For parallel development there is a needed multiple programmers. Knowledge on multiple technologies is required.