Lecture 19 Web Application Frameworks Boriana Koleva Room: C54

Slides:



Advertisements
Similar presentations
Lecture 11 Server Side Interaction
Advertisements

1 CGICGI Common Gateway Interface Server-side Programming Lecture.
HTTP Request/Response Process 1.Enter URL ( in your browser’s address bar. 2.Your browser uses DNS to look up IP address of server.com.
University of Virginia 1 Modern Web Application Development Overview of some newer web applications methods Web 2.0 Ajax fundamentals Ruby on Rails.
Web Applications Development Using Coldbox Platform Eddie Johnston.
Introduction to Model-View-Controller (MVC) Web Programming with TurboGears Leif Oppermann,
AJAX Presented by: Dickson Fu Dimas Ariawan Niels Andreassen Ryan Dial Jordan Nielson CMPUT 410 University of Alberta 2006.
What is it? –Large Web sites that support commercial use cannot be written by hand What you’re going to learn –How a Web server and a database can be used.
Lecture 2 Web application architecture. Themes Architecture : The large scale structure of a system, especially a computer system Design choice: The need.
Introduction to Web Application Architectures Web Application Architectures 18 th March 2005 Bogdan L. Vrusias
DT211/3 Internet Development Application Internet Development Application.
Multiple Tiers in Action
CS 290C: Formal Models for Web Software Lecture 1: Introduction Instructor: Tevfik Bultan.
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Session-01. Layers Struts 2 Framework The struts 2 framework is used to develop MVC-based web application. Struts 1.0 was released in June The.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
INTRO TO MAKING A WEBSITE Mark Zhang.  HTML  CSS  Javascript  PHP  MySQL  …That’s a lot of stuff!
Part or all of this lesson was adapted from the University of Washington’s “Web Design & Development I” Course materials.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
UNIT-V The MVC architecture and Struts Framework.
Web Development Methodologies Yuan Wang(yw2326). Basic Concepts Browser/Server (B/S) Structure Keywords: Browser, Server Examples: Websites Client/Server.
RUBY ON RAILS It’s so rad. What we’ll cover  What is Ruby?  What is RoR?  Why RoR?  Developing with RoR  Deployment  Demo  Questions.
May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy'
Java Omar Rana University of South Asia. Course Overview JAVA  C/C++ and JAVA Comparison  OOP in JAVA  Exception Handling  Streams  Graphics User.
Echo2 Java AJAX Web Framework Petar Milev. Contents 1.Introduction to Echo2 2.Echo2 Target – Business Web 3.Why Choosing Echo2? 4.Live Demo 5.How It Works?
L. Grewe LAMP, WAMP and... Motivaiton Basic Web Systems with Delivery of Static and Dynamic Web Pages html, css, media javascript (“dynamic” on client.
Rich Internet Applications for the Enterprise Creating RIA from your Oracle database using TURBO Enterprise Web 2.0 Presented By: John Krahulec Bizwhazee.
1 Dr Alexiei Dingli Web Science Stream Introducing Rails.
20-753: Fundamentals of Web Programming 1 Lecture 1: Introduction Fundamentals of Web Programming Lecture 1: Introduction.
Tutorial 7 Creating Forms. Objectives Session 7.1 – Create an HTML form – Insert fields for text – Add labels for form elements – Create radio buttons.
Architecture of the web Client Server retrieved or generated web page.
1Computer Sciences Department Princess Nourah bint Abdulrahman University.
Case Study Dynamic Website - Three Tier Architecture
Model View Controller MVC Web Software Architecture.
Session 1 Chapter 1 - Introduction to Web Development ITI 133: HTML5 Desktop and Mobile Level I
Rich Web Applications for the Enterprise... Creating RWA from Your Oracle Database Presented By: John Krahulec Bizwhazee SEOUC Charlotte February 2009.
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
Date : 3/04/2010 Web Technology Solutions Class: PHP Web Application Frameworks.
The basics of knowing the difference CLIENT VS. SERVER.
CSC 2720 Building Web Applications Basic Frameworks for Building Dynamic Web Sites / Web Applications.
Introduction to Model-View-Controller (MVC) Web Programming with TurboGears Leif Oppermann,
Overview Web Technologies Computing Science Thompson Rivers University.
Web Programming 3(3-0-6) Introduction to interactive, event-driven and dynamic web development; web programming with freeware and commercial tools;
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.
1/7/2016www.infocampus.co.in1. 1/7/2016www.infocampus.co.in2 Web Development training gives you and all-round training in both the design and the development.
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
Basics Components of Web Design & Development Basics, Components, Design and Development.
Presented by Alexey Vedishchev Developing Web-applications with Grails framework American University of Nigeria, 2016 Intro To MVC Architecture.
Web Technology Solutions
Web Technologies Computing Science Thompson Rivers University
JavaScript and Ajax (Ajax Tutorial)
Introduction to Dynamic Web Programming
Introduction and Principles
Haritha Dasari Josue Balandrano Coronel -
PHP / MySQL Introduction
LAMP, WAMP and.. L. Grewe.
Web Browser server client 3-Tier Architecture Apache web server PHP
Lecture 1: Multi-tier Architecture Overview
Web Application Architectures
Secure Web Programming
Web Application Architectures
WPS - your story so far Seems incredible complicated, already
Architecture of the web
DR. JOHN ABRAHAM PROFESSOR UTPA
Web Technologies Computing Science Thompson Rivers University
UFCEUS-20-2 Web Programming
Web Application Architectures
Web Application Development Using PHP
CGS 3066: Web Programming and Design Fall 2019
Presentation transcript:

Lecture 19 Web Application Frameworks Boriana Koleva Room: C54

Overview Web applications overview Introduction to Model-View-Controller (MVC) Overview of web application frameworks Introduction to TurboGears video20 Minutes Wiki20 Minutes Wiki

WPS so far Technologies: HTML CSS JavaScript DOM, Dynamic HTML PHP XML May seem complicated already But still not everything (not by far!) How to possibly get it all under one hood?

Webapps summary Accessed with a Web Browser (client) Over a network Code is mainly run on server Exception: JavaScript (also: Java applets, Flash,..) Data is mainly stored on server Webapps can be updated easily…..without updating the clients!

General 3 tiered structure First tier: client side code (web- browser), e.g. (X)HTML, JavaScript, Java applets, Flash Second tier: server side code, e.g. C/C++, Perl, PHP, Java, Ruby, Python Third tier: server side database

Architectural Pattern from Smalltalk (1979) Decouples data and presentation Eases the development Model View Controller

First thought (ok, but not far enough): Tier 1: View (Client) Tier 2: Controller (Server) Tier 3: Model (Database) Database ClientServer

Presentation: View is the user interface (e.g. button) Controller is the code (e.g. callback for button) Data: Model is the database Database Presentation Data

Example Control Flow in MVC User interacts with the VIEW UI CONTROLLER handles the user input (often a callback function attached to UI elements) CONTROLLER updates the MODEL VIEW uses MODEL to generate new UI UI waits for user interaction

MVC – general example

Web application framework Software framework that is designed to support the development of dynamic websites Aims to alleviate the overhead associated with common activities libraries for database access templating session management code reuse

Web App Framework Architecture Most frameworks follow the Model View Controller (MVC) architectural pattern Most MVC frameworks follow a push-based architecture use actions that do the required processing, and then "push" the data to the view layer to render the results Alternative pull-based architecture start with the view layer, which can then "pull" results from multiple controllers as needed

Popular web application frameworks (Ruby) (PHP) (Python) (Python) (Python, Django)

Introduction to TurboGears (1.x series) JavaScript Library XHTML template engine Easy to use Python webserver ORM Database Interface (e.g. for MySQL, SQLite, etc.) VIEW CONTROLLER MODEL

Let‘s get started by watching a video (20 Minutes Wiki)

So what was that? Created skeleton files with startup script Defined Data-Model created database tables from model created seeding data in toolbox webapp Wrote View template in XHTML Wrote Controller code in Python Index, edit, save At this point he had a working system Several iterations to add all features Finally wrote AJAX code (Javascript) in template

Benefits Local development No need to upload to server Quick turn around times No need to compile As CherryPy watches the file-system and reloads when sources are changed Database query and update was easy No need to hand-write SQL But could be done, if necessary

Summary Web applications Client, Server, Database Easy to maintain, harder to write Model – View – Controller Eases web application development TurboGears MVC WebApp Framework written in Python