web application development landscape: technologies and models€¦ · università di pisa web...

32
Università di Pisa Web application development landscape: technologies and models Dipartimento di Informatica by Andrea Nicchi Relatore: Prof. Antonio CISTERNINO Controrelatore: Prof. Giuseppe ATTARDI

Upload: others

Post on 22-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di Pisa

Web application development landscape: technologies and models

Dipartimento di Informatica

by Andrea Nicchi

Relatore: Prof. Antonio CISTERNINO Controrelatore: Prof. Giuseppe ATTARDI

Page 2: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

“ an Information System providing facilities to acces s complex data and interactive services via the Web” [10.02]

WEB APPLICATION

Dipartimento di Informatica

[10.02] Gnaho, C. (2001), Web-Based Information Systems Development – A User C entered Engineering

Approach , Lecture Notes in Computer Science, Vol. 2016, pp. 105 – 118.;

Page 3: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

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.

TABLE OF CONTENTS

Dipartimento di Informatica

Page 4: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

Formalisms used for representing a web document:WEB DOCUMENT

Dipartimento di Informatica

- GML: IBM 1969;- SGML: ANSI 1983;

- HTML 4.01 - 1999;- XHTML 1.0 (bridge to XML);

HTML provides a semantic description of the content and establishes a document structure (a hierarchy of elements)

- HTML 5 - 2007.

Page 5: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

Defines: the way of exchange of the messages and th e format of the messages

HTTP PROTOCOL

Dipartimento di Informatica

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)

Request-Response Message Paradigm;

HTTP MIME support content type.

( URI, URN );

Page 6: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

BROWSER: reference architecture

Dipartimento di Informatica

[4.01] Alan Grosskurth, Michael W. Godfrey, Architecture and evolution of the modern web browse r, David R. Cheriton School of Computer Science, University of W aterloo, Waterloo, 2006;

Conceptual Mozilla FireFox Architecture;Concrete Microsoft Internet Explorer.

Page 7: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

WEB SERVER: reference architecture

Dipartimento di Informatica

[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;

Page 8: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

WEB SERVER

Dipartimento di Informatica

Processing Model (Process-based, Thread-based and H ybrid model)

Pool size behaviour (Static approach and Dynamic ap proach)

Conceptual architecture Apache Server 1.4;

COMMERCIAL WEB SERVER

Concrete architecture Microsoft IIS 7.0;

Page 9: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

WEB SERVER CONTENT DELIVERING

Dipartimento di Informatica

Static Content

Dynamic Content

Simple HTMLAs-is page (header+content)

CGI: Common Gateway Interface

FastCGI: Fast Common Gateway InterfaceSSI: Server Side Include (.shtml)

PHP: PHP Hypertext Preprocessor /Personal Home PageJava ServletJSP: Java Server Pages (Java Beans, JSP 2.0 JSTL+EL )JSF: JavaServer Faces

ASP: Active Server Pages (ISAPI extension)

ASP .NET Web FormsASP .NET MVC (Front Controller + MVC Model 2)

Page 10: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

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.

AJAX

(Asynchronous Javascript And XML or Asynchronous Javascript And XMLHttpRequest)

Dipartimento di Informatica

AJAX WITH HTML HIDDEN FRAME (<frameset>);

AJAX WITH HTML INTERNAL FRAME (<iframe>);

XMLHttpRequest object.

DHTML (JavaScript, CSS and DOM ) + XMLHttpRequest (XHR)

What

By

How

Page 11: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

A new approach to the web application design. “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).

REST (REpresentational State Transfer )

Dipartimento di Informatica

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 HTTP1) nouns (URI);

2) verbs (actions: POST, GET, PUT,…);3) metadata (MIME-types,…);

4) contents (Content-type MIME type).

Architectural elements:

Page 12: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

Web Application State Management

Dipartimento di Informatica

Session Control;

State Mngt Patterns;

Web Application Approaches;

Page 13: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

Web Application State Management

Dipartimento di Informatica

Flow control problem

EP stands for Entry Page, AP(k)i stands for Application Page i of the Session k and FP stands for Final Page

User interacts:

browser;web page.

Page 14: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

Web Application State Management

Dipartimento di Informatica

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.

Page 15: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

WEB APPLICATION: SESSION CONTROL

Dipartimento di Informatica

Client-side mechanisms (client’s web page or client’s local storage)

Server-side mechanisms

Cookies Hidden fields (visible with view source)

Application Object (multiple session vars, Lock, Unlock)

Session ObjectFile/Database

ViewState/Control State (“invisible” with view source – compressed and

encoded)

Query Strings

Page 16: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

Web Application State Management

Dipartimento di Informatica

Session Control;

State Mngt Patterns;

Web Application Approaches;

Page 17: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

WEB APPLICATION STATE MNGT PATTERNS

Dipartimento di Informatica

Split context

Page 18: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

WEB APPLICATION STATE MNGT PATTERNS

Dipartimento di Informatica

Robust split context

Page 19: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

WEB APPLICATION STATE MNGT PATTERNS

Dipartimento di Informatica

Secure Robust split context

Page 20: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

Web Application State Management

Dipartimento di Informatica

Session Control;

State Mngt Patterns;

Web Application Approaches;

Page 21: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

CGI Web Application

Dipartimento di Informatica

Page 22: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

ASP/PHP/JSP Web Application

Dipartimento di Informatica

Page 23: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

ASP.NET Web Form Web Application

Dipartimento di Informatica

Page 24: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

ASP.NET MVC Web Application

Dipartimento di Informatica

Page 25: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

JSF Web Application

Dipartimento di Informatica

Page 26: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

CMS based Web Application

Dipartimento di Informatica

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

CMS-based Web applications as a Web application for the management and control of content

Page 27: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

Web Application Conceptual Architecture

Dipartimento di Informatica

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

Page 28: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

Web Application Conceptual Architecture

Dipartimento di Informatica

the technology changes but the architecture doesn’t change

Exec cics receive map

Exec cics send map

Page 29: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

Shopping Cart Web Application

Dipartimento di Informatica

http://www.coronarie.it/shoc/Store.asp .

http://www.volucer.it/ShoCRP/RPStore.php

Paper Shopping Store

Page 30: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

Shopping Cart Web Application

Dipartimento di Informatica

http://www.coronarie.it/shoc/Store.asp .

Page 31: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

Shopping Cart Web Application

Dipartimento di Informatica

http://www.volucer.it/ShoCRP/RPStore.php

Page 32: Web application development landscape: technologies and models€¦ · Università di Pisa Web application development landscape: technologies and models A new approach to the web

Università di PisaWeb application development landscape: technologies and models

GRAZIE !!!PER L’ATTENZIONE

Dipartimento di Informatica

Web application development landscape: technologies and models