17
Edizione 2011-12 Università degli Studi di Milano Bicocca Dipartimento di Informatica, Sistemistica e Comunicazione Corso di Strumenti e applicazioni del Web 8. Architetture Web Roberto Polillo

8. Architetture web

Embed Size (px)

DESCRIPTION

Slides dal corso “Strumenti e applicazioni del Web”, di R.Polillo, Università di Milano Bicocca, ottobre 2011

Citation preview

Page 1: 8. Architetture web

Edizione 2011-12

Università degli Studi di Milano BicoccaDipartimento di Informatica, Sistemistica e Comunicazione

Corso di Strumenti e applicazioni del Web

8. Architetture WebRoberto Polillo

Page 2: 8. Architetture web

Pagine statiche

R.Polillo - Ottobre 2011

3

HTTPinternet

Browser

Web server

HTML

HTML

Page 3: 8. Architetture web

Pagine statiche: editing / upload

R.Polillo - Ottobre 2011

4

HTTPinternet

Browser

Web server

Pagine web

Editor

HTTP

FTP

HTML

Es.: Dreamweaver

Page 4: 8. Architetture web

Pagine statiche con programmi client-side

R.Polillo - Ottobre 2011

5

HTTPinternet

Browser

Web server

HTML con script client-side

HTML con programmi client-side

Editor

Esecutore dei programmi client-side

Esempi:•Javascript (script interpretati) con librerie DOM•Applet Java (codice precompilato interpretato da JVM (Java Virtual Machine)

Page 5: 8. Architetture web

Programmazione lato client

JavaScript (creato da Netscape, 1995)Semplice linguaggio di scripting, inserito nel codice HTML e (standardizzato da ECMA col nome di ECMAScript)Interpretato da una Javascript Engine

DOM (Document Object Model)Librerie di funzioni associate a Javascript, per la manipolazione delle pagine e degli elementi dell'interfaccia del browser

Applet Java (Java: linguaggio a oggetti creato da Sun, 1995)Programmi già compilati in codice intermedio ("bytecode"), che viene eseguito da una Java Virtual Machine. Devono essere inviati dal server, e quindi per motivi di sicurezza non hanno accesso al file system del client.

AJAX (Asynchronous JavaScript and XML)Un gruppo di tecnologie e metodi che rendono asincrone la gestione della interazione con l'utente e il dialogo con il web server

R.Polillo - Ottobre 2011

6

Page 6: 8. Architetture web

Esempi

<html> <head> …. </head> <body> …. <script type="text/javascript"> Document.write('Hello World') </script> ….. </body></html>

R.Polillo - Ottobre 2011

7

<applet code="Hello class" width="200" hight="200"> </applet>

Page 7: 8. Architetture web

Applet Java: esempio

R.Polillo - Ottobre 2011

8

Page 8: 8. Architetture web

AJAX (Asynchronous JavaScript and XML)

R.Polillo - Ottobre 2011

9

Da leggere: http://www.adaptivepath.com/ideas/ajax-new-approach-web-applications

Page 9: 8. Architetture web

Pagine statiche con programmi client-side

R.Polillo - Ottobre 2011

10

HTTPinternet

Browser

Web server

HTML con script client-side

HTML con programmi client-side

Editor

Esecutore dei programmi client-side

AJAX Engine

Page 10: 8. Architetture web

Estensioni al browser

Componenti aggiuntivi che possono essere installati sul browser per fornire specifiche funzionalità (anche "add-on", "plugin", …)

Esempi: Chrome: https://chrome.google.com/webstore?hl=it Firefox: https://addons.mozilla.org/it/firefox/

R.Polillo - Ottobre 2011

11

Page 11: 8. Architetture web

Esempio

Hyperwords http://www.hyperwords.net/index.html

http://www.youtube.com/watch?v=p6B9ZNI4vY0&feature=player_embedded

R.Polillo - Ottobre 2011

12

Page 12: 8. Architetture web

Programmazione server-side (pagine dinamiche)

R.Polillo - Ottobre 2011

13

HTTPinternet

Browser

Web server

HTML con programmi server- e client-side

HTML con script client-side

Codice generato server-side

Esempi:•script PHP (Personal Home Page Tools)•script JSP (Java Server Pages)•Servlet Java•…

Esecutore diprogrammi server-side

Page 13: 8. Architetture web

Pagine dinamiche con application server

R.Polillo - Ottobre 2011

14

HTTPinternet

Browser

Web server HTML con script

client-side

Pagine generate dinamicamente

Applicationserver

dbserver

Data base

Page 14: 8. Architetture web

CMS (Content Management System)

R.Polillo - Ottobre 2011

15

HTTPinternet

Browser

Web server

Pagine generate dinamicamente

CMS dbserver

Data base

Browser

Editor

Lettore

Page 15: 8. Architetture web

CMS (Content Management System)

R.Polillo - Ottobre 2011

16

HTTPinternet

Browser

Web server

Pagine generate dinamicamente

CMSdbserver

Data base

Browser

Autore

Lettore

Browser

Amministratore

Page 16: 8. Architetture web

CMS (Content Management System)

R.Polillo - Ottobre 2011

17

HTTPinternet

Browser

Web server

Pagine generate dinamicamente

CMSdbserver

Data base

Browser

Autore

Lettore

Browser

Amministratore

Templates

Materiale autore

Materiale amministratore

Page 17: 8. Architetture web

CMS

Due grandi classi di soluzioni:Servizi online (utilizzanti spesso CMS proprietari)Sistemi software (spesso open-source e grauiti)

R.Polillo - Ottobre 2011

18