Web application development landscape: technologies and models



Similar documents
Web Application Development

WWW. World Wide Web Aka The Internet. dr. C. P. J. Koymans. Informatics Institute Universiteit van Amsterdam. November 30, 2007

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

A Comparative Study of Web Development Technologies Using Open Source and Proprietary Software

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture # Apache.

Web Cloud Architecture

Web Pages. Static Web Pages SHTML

Internet Technologies_1. Doc. Ing. František Huňka, CSc.

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

Basic Internet programming Formalities. Hands-on tools for internet programming

Computer Networks. Lecture 7: Application layer: FTP and HTTP. Marcin Bieńkowski. Institute of Computer Science University of Wrocław

Credits: Some of the slides are based on material adapted from

Web Programming Languages Overview

Term Paper. P r o f. D r. E d u a r d H e i n d l. H o c h s c h u l e F u r t w a n g e n U n i v e r s i t y. P r e s e n t e d T o :

Server-Side Scripting and Web Development. By Susan L. Miertschin

Preface. Motivation for this Book

Application layer Web 2.0

1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications

4 Understanding. Web Applications IN THIS CHAPTER. 4.1 Understand Web page development. 4.2 Understand Microsoft ASP.NET Web application development

Why AJAX? Keywords - Web applications, Java Script, Web INTRODUCTION. Why Not AJAX? 111 P a g e

ICAWEB502A Create dynamic web pages

Performance Testing for Ajax Applications

Course Number: IAC-SOFT-WDAD Web Design and Application Development

Release 1. ICAPRG604A Create cloud computing services

Outline Definition of Webserver HTTP Static is no fun Software SSL. Webserver. in a nutshell. Sebastian Hollizeck. June, the 4 th 2013

Web Design Specialist

Developing ASP.NET MVC 4 Web Applications

If your organization is not already

CSE 203 Web Programming 1. Prepared by: Asst. Prof. Dr. Maryam Eskandari

Outline. CIW Web Design Specialist. Course Content

Course Name: Course in JSP Course Code: P5

An introduction to creating JSF applications in Rational Application Developer Version 8.0

ASP.NET: THE NEW PARADIGM FOR WEB APPLICATION DEVELOPMENT

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

ERIE COMMUNITY COLLEGE COURSE OUTLINE A. COURSE TITLE: CS WEB DEVELOPMENT AND PROGRAMMING FUNDAMENTALS

Web-Based Hazus-MH. A Conceptual Approach. Mourad Bouhafs, AVP ATKINS Atlanta mourad.bouhafs@atkinsglobal.com

How To Write An Ria Application

reference: HTTP: The Definitive Guide by David Gourley and Brian Totty (O Reilly, 2002)

Developing ASP.NET MVC 4 Web Applications MOC 20486

Web-Application Security

How To Build A Web App

Lecture 11 Web Application Security (part 1)

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

ACM Crossroads Student Magazine The ACM's First Electronic Publication

How To Write A Web Server In Javascript

Virtual Credit Card Processing System

Connecting with Computer Science, 2e. Chapter 5 The Internet

ActiveX AJAX ASP. AudioMP3

Short notes on webpage programming languages

Web Design Technology

An Architecture for Web-based DSS

Chapter 4: Networking and the Internet

Web Development Frameworks

4.2 Understand Microsoft ASP.NET Web Application Development

Electronic Commerce Engineering

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

E-commerce. business. technology. society. Kenneth C. Laudon Carol Guercio Traver. Third Edition. Copyright 2007 Pearson Education, Inc.

Google AdWords TM Conversion Tracking Guide

Introduction to Computer Security

Web-Based Database Distributed Systems

Detailed Table of Contents

Performance Testing Web 2.0

JAVA/J2EE DEVELOPER RESUME

Web Architecture I u

For Course Details, visit:

Software Requirements Specification For Real Estate Web Site

A Model of the Operation of The Model-View- Controller Pattern in a Rails-Based Web Server

SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1


Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ MEng. Nguyễn CaoĐạt

LabVIEW Internet Toolkit User Guide

Portals, Portlets & Liferay Platform

Enhancing your Web Experiences with ASP.NET Ajax and IIS 7

OIT 307/ OIT 218: Web Programming

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

Certified PHP/MySQL Web Developer Course

Lecture 2. Internet: who talks with whom?

CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ

MVC pattern in java web programming

Whitepaper. Rich Internet Applications. Frameworks Evaluation. Document reference: TSL-SES-WP0001 Januar

Course 20489B: Developing Microsoft SharePoint Server 2013 Advanced Solutions OVERVIEW

Distance Examination using Ajax to Reduce Web Server Load and Student s Data Transfer

Web Server Languages Summer Thomas A. Powell

AJAX. Gregorio López López Juan Francisco López Panea

Chapter 1 Programming Languages for Web Applications

A Tool for Evaluation and Optimization of Web Application Performance

Pentesting Web Frameworks (preview of next year's SEC642 update)

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

Category: Business Process and Integration Solution for Small Business and the Enterprise

Integration the Web 2.0 way. Florian Daniel April 28, 2009

Transcription:

Web application development landscape: technologies and models by Andrea Nicchi Relatore: Prof. Antonio CISTERNINO Controrelatore: Prof. Giuseppe ATTARDI

WEB APPLICATION an Information System providing facilities to access complex data and interactive services via the Web [10.02] [10.02] Gnaho, C. (2001), Web-Based Information Systems Development A User Centered Engineering Approach, Lecture Notes in Computer Science, Vol. 2016, pp. 105 118.;

TABLE OF CONTENTS Web Document; HTTP Protocol; Web Browser; Web Server and Content Delivering; AJAX and REST; State Management: Session Control; Web application development approaches; Example: Shopping Cart.

WEB DOCUMENT Formalisms used for representing a web document: - GML: IBM 1969; - SGML: ANSI 1983; - HTML 4.01-1999; - XHTML 1.0 (bridge to XML); - HTML 5-2007. HTML provides a semantic description of the content and establishes a document structure (a hierarchy of elements)

HTTP PROTOCOL Defines: the way of exchange of the messages and the format of the messages Client/server structure, connection-oriented, stateless, no attempt is made to recover from failure; HTTP uses the resource identification mechanism provided by Uniform Resource Identifier (URI) ( URI, URN ); Request-Response Message Paradigm; HTTP MIME support content type.

BROWSER: reference architecture Conceptual Mozilla FireFox Architecture; Concrete Microsoft Internet Explorer. [4.01] Alan Grosskurth, Michael W. Godfrey, Architecture and evolution of the modern web browser, David R. Cheriton School of Computer Science, University of Waterloo, Waterloo, 2006;

WEB SERVER: reference architecture [5.11] Ahmed E. Hassan and Richard C. Holt Software Architecture Group (SWAG), A Reference Architecture for Web Servers, Dept. of Computer Science University of Waterloo, Ontario;

WEB SERVER Processing Model (Process-based, Thread-based and Hybrid model) Pool size behaviour (Static approach and Dynamic approach) COMMERCIAL WEB SERVER Conceptual architecture Apache Server 1.4; Concrete architecture Microsoft IIS 7.0;

WEB SERVER CONTENT DELIVERING Static Content Simple HTML As-is page (header+content) Dynamic Content CGI: Common Gateway Interface FastCGI: Fast Common Gateway Interface SSI: Server Side Include (.shtml) PHP: PHP Hypertext Preprocessor /Personal Home Page Java Servlet JSP: Java Server Pages (Java Beans, JSP 2.0 JSTL+EL) JSF: JavaServer Faces ASP: Active Server Pages (ISAPI extension) ASP.NET Web Forms ASP.NET MVC (Front Controller + MVC Model 2)

AJAX (Asynchronous Javascript And XML or Asynchronous Javascript And XMLHttpRequest) What By How retrieving content from the server to be inserted into the current page and transmitting new or update information to the server, without causing a total refresh or re-rendering of the current page. DHTML (JavaScript, CSS and DOM ) + XMLHttpRequest (XHR) AJAX WITH HTML HIDDEN FRAME (<frameset>); AJAX WITH HTML INTERNAL FRAME (<iframe>); XMLHttpRequest object.

A new approach to the web application design. REST (REpresentational State Transfer ) a coordinated set of architectural constraints that attempts to minimize latency and network communication while at the same time maximizing the independence and scalability of component implementations (Fielding 2000). Architectural elements: 1) data elements (resources, resource identifiers, representation); 2) connecting elements (client, server, cache, resolver, tunnel); 3) processing elements/components (user agents, origin server, intermediate comp.). REST applied to HTTP 1) nouns (URI); 2) verbs (actions: POST, GET, PUT, ); 3) metadata (MIME-types, ); 4) contents (Content-type MIME type).

Web Application State Management Session Control; State Mngt Patterns; Web Application Approaches;

Web Application State Management Flow control problem User interacts: browser; web page. EP stands for Entry Page, AP(k)i stands for Application Page i of the Session k and FP stands for Final Page

Web Application State Management Session control problem WAS(i): stands for Web Application State at the stage i; SR(j): stands for State Representation j. A web application session is a sequence of related user requests and web server responses, which are treated as a single interaction.

WEB APPLICATION: SESSION CONTROL Client-side mechanisms (client s web page or client s local storage) Cookies Hidden fields (visible with view source) ViewState/Control State ( invisible with view source compressed and encoded) Query Strings Server-side mechanisms Application Object (multiple session vars, Lock, Unlock) Session Object File/Database

Web Application State Management Session Control; State Mngt Patterns; Web Application Approaches;

WEB APPLICATION STATE MNGT PATTERNS Split context

WEB APPLICATION STATE MNGT PATTERNS Robust split context

WEB APPLICATION STATE MNGT PATTERNS Secure Robust split context

Web Application State Management Session Control; State Mngt Patterns; Web Application Approaches;

CGI Web Application

ASP/PHP/JSP Web Application

ASP.NET Web Form Web Application

ASP.NET MVC Web Application

JSF Web Application

CMS based Web Application CMS-based Web applications as a Web application for the management and control of content a set of built-in functionalities such as: set of templates; database connection; API for session control, authentication, authorization etc. integrated shopping cart management; integrated search engine

Web Application Conceptual Architecture The following architectural patterns describe the various type of Web Applications.

Web Application Conceptual Architecture the technology changes but the architecture doesn t change Exec cics receive map Exec cics send map

Shopping Cart Web Application Paper Shopping Store http://www.coronarie.it/shoc/store.asp. http://www.volucer.it/shocrp/rpstore.php

Shopping Cart Web Application http://www.coronarie.it/shoc/store.asp.

Shopping Cart Web Application http://www.volucer.it/shocrp/rpstore.php

Web application development landscape: technologies and models GRAZIE!!! PER L ATTENZIONE