Web Software Model CS 4640 Programming Languages for Web Applications

Slides:



Advertisements
Similar presentations
Servlets and a little bit of Web Services Russell Beale.
Advertisements

Liang, Introduction to Java Programming, Sixth Edition, (c) 2005 Pearson Education, Inc. All rights reserved Chapter 34 Servlets.
Multiple Tiers in Action
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.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
1 Java Server Pages Can web pages be created specially for each user? What part does Java play?
SE-2840 Dr. Mark L. Hornick1 Java Servlet-based web apps Servlet Architecture.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Christopher M. Pascucci Basic Structural Concepts of.NET Browser – Server Interaction.
UNIT-V The MVC architecture and Struts Framework.
Sys Prog & Scripting - HW Univ1 Systems Programming & Scripting Lecture 15: PHP Introduction.
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
Applets & Servlets.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Model View Controller (MVC) Rick Mercer with a wide variety of others 1.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
COMP 321 Week 7. Overview HTML and HTTP Basics Dynamic Web Content ServletsMVC Tomcat in Eclipse Demonstration Lab 7-1 Introduction.
J2EE Structure & Definitions Catie Welsh CSE 432
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
Chapter 6 Server-side Programming: Java Servlets
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
Struts Framework Anna Paščenko. What is Struts?  An open source framework for building Java web applications.
Saving State on the WWW. The Issue  Connections on the WWW are stateless  Every time a link is followed is like the first time to the server — it has.
2007cs Servers on the Web. The World-Wide Web 2007 cs CSS JS HTML Server Browser JS CSS HTML Transfer of resources using HTTP.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
1 State and Session Management HTTP is a stateless protocol – it has no memory of prior connections and cannot distinguish one request from another. The.
1 Java Server Pages A Java Server Page is a file consisting of HTML or XML markup into which special tags and code blocks are inserted When the page is.
Expense Tracking System Developed by: Ardhita Maharindra Muskan Regmi Nir Gurung Sudeep Karki Tikaprem Gurung Date: December 05 th, 2008.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
Java Server Pages Can web pages be created specially for each user?
Structure of a web application
Netscape Application Server
Web Development Web Servers.
Java Servlets By: Tejashri Udavant..
Scripted Page Web App Development (Java Server Pages)
Processes The most important processes used in Web-based systems and their internal organization.
By Dr. Kodge Bheemashankar G
Introduction to J2EE Architecture
Unit 6-Chapter 2 Struts.
PHP / MySQL Introduction
Web Application Software
Introduction to Web Applications
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Design and Maintenance of Web Applications in J2EE
Chapter 26 Servlets.
Web Systems Development (CSC-215)
Java Servlet Ziad A. Al-Sharif.
Distributed System Using Java 2 Enterprise Edition (J2EE)
Lecture 1: Multi-tier Architecture Overview
Web Application Architectures
Introduction to Servlets
Web Application Architectures
J2EE Lecture 1:Servlet and JSP
Back end Development CS Programming Languages for Web Applications
State Handling CS 4640 Programming Languages for Web Applications
Web Technologies Computing Science Thompson Rivers University
Client-Server Model: Requesting a Web Page
[Based in part on SWE 432 and SWE 632 materials by Jeff Offutt, GMU]
Web Application Architectures
[Robert W. Sebesta, “Programming the World Wide Web
Web Software Model CS 4640 Programming Languages for Web Applications
Back end Development CS Programming Languages for Web Applications
State Handling CS 4640 Programming Languages for Web Applications
[Based in part on SWE 432 and SWE 632 materials by Jeff Offutt, GMU]
Web Application Development Using PHP
Presentation transcript:

Web Software Model CS 4640 Programming Languages for Web Applications [Robert W. Sebesta, “Programming the World Wide Web]

Web Applications Are user interactive software programs, deployed on a web server, accessed via a web browser Use enabling technologies to make web site contents dynamic allow users of the system to implement business logic on the server Let users affect state on the server Constructed from diverse, distributed, and dynamically generated web components Web components are software modules that implement different parts of the application’s functionality An enabling technology makes web pages interactive and responsive to user input CS 4640

How User Interact With Web Apps http://www.virginia.edu/ Web server Web application HTTP Request PHPs Java servlets JSPs Usability Web component1 Web component2 Web componentn Request HTML JS CSS Web client DB Response HTTP Response HTTP request / response cycle CS 4640

How the Web Software Works Browser To server Java servlet (idProgram) Browser To client CS 4640

Server Side Processing data HTTP Request XAMPP and Tomcat Client UI implemented in a browser Server Web server Container engine Program components HTTP Response HTML CS 4640

Execution Overview Response back to requestor Incoming request Server 8 1 HTTP Request HTTP Response 2 7 Web server Request / Response Objects 3 Modified Response Object 6 Container engine Create thread / call method 4 Return 5 Program component CS 4640

Page Centric and Dispatcher Designs Page-centric (client-server) Requests are made to a main component, and the main component response to clients Dispatcher (N-tier) Requests are sent to a dispatcher that then forward the requests to another component The goal is to separate logic from presentation and to separate as many concerns in the logic as possible CS 4640

(Client requests are intercepted here) Page-centric Design Server Web client Main component (Client requests are intercepted here) Component (data) Uses or instantiates Request Response Web client Database Web client CS 4640

Dispatcher Design Server Request Response Dispatcher Database Web client Web client Request Response Dispatcher Database Component presentation Data Business processing Web client Usually use forward Component presentation Data Component presentation CS 4640

Model View Controller An abstraction frequently used in web app design Provide a way to divide the responsibilities of objects Decreases coupling between objects and layers (supports easier maintenance) Help divide the work (supports development expertise areas) CS 4640

Model View Controller (2) data structures HTML / JSP / frontend Comppnents Model method calls Encapsulates application state Responds to state queries Exposes application functionality Notifies views of changes events state change state query change notification View Controller view select Renders the model Requests updates from the model Sends user inputs to controller Allows controller to select view Defines application behavior Maps user actions to model updates Selects a view for response One view for each function user input * Graphic from Designing Enterprise Applications with the Java 2 Platform, Enterprise Edition, Nicholas Kassem et al., October 2000 CS 4640

Session Management HTTP client-server communication is connnectionless As soon as the request is made and fulfilled, the connection is terminated Communication is simple and resistant to network problems Stateless property Server send a request response a request CS 4640

We will come back to this later … Session Management (2) How can servers keep track of state of different clients? Session : A single coherent use of the system by the same user Example : shopping carts Cookies : A string of characters that a web server places on a browser’s client to keep track of a session Usually used as an index into a table (dictionary) on the server Most dictionaries expire after a period of time (15 to 30 minutes) Additional mechanisms URL rewriting Hidden form control We will come back to this later … CS 4640

Additional Web Features User’s ability to control web application via web browser features index login browse record_add submit a form post (userid , password) redirect record_insert post (name, category, content) back component simple link transition form link transition redirect transition operational transition CS 4640

Additional Web Features (2) Identifying web application resources with URLs index login browse record_add submit a form post (userid , password) redirect record_insert post (name, category, content) back operational transition component simple link transition form link transition redirect transition userlogin.jsp CS 4640

Additional Web Features (3) Communication among web components depending on requests through the HTTP index login browse record_add submit a form post (userid , password) redirect record_insert post (name, category, content) back component simple link transition form link transition redirect transition operational transition get CS 4640

Additional Web Features (4) Control connections: forward, include, redirect index login browse record_add submit a form post (userid , password) redirect record_insert post (name, category, content) back component simple link transition form link transition redirect transition operational transition forward CS 4640

Additional Web Features (5) State scope of web components application session request forward page request Client 1 page request forward request Client 2 request page [Jeff Offutt, Scope and Handling State] CS 4640

Summary Web Applications The major difference is deployment Software is deployed across the Web using HTTP Other deployment methods include bundling, shrink-wrapping, embedding, and contracting New software technologies New conceptual language constructs for programming Integration Data management Control connections These differences affect every aspect of how to engineer high quality software CS 4640