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
Queste slides Queste slides fanno parte del corso “Strumenti e applicazioni del Web”. Il sito del corso, con il materiale completo, si trova in  www.corsow.wordpress.com  . Data la rapida evoluzione della rete, il corso viene aggiornato ogni anno.  Il presente materiale è pubblicato con licenza Creative Commons “Attribuzione - Non commerciale - Condividi allo stesso modo - 2.5 Italia”: NOTA: Al materiale hanno contribuito in molti, studenti, amici e la rete. Ove possibile ne ho indicato la fonte; segnalatemi eventuali dimenticanze, sarò lieto di correggerle appena possibile. Il corso è la estensione di un mio corso precedente, denominato "Design dell'Interazione", tenuto a partire dal 2008, la cui prima edizione era basata su un corso tenuto da Carlo Vaccari all’Università di Camerino nel 2007. R.Polillo - Ottobre 2011
Pagine statiche R.Polillo - Ottobre 2011 HTTP Utente  del blog internet Web  server HTML HTML Browser
Pagine statiche: editing / upload R.Polillo - Ottobre 2011 HTTP Utente  del blog internet Browser Web  server Pagine  web Editor HTTP FTP HTML Es.:  Dreamweaver
Pagine statiche con programmi client-side R.Polillo - Ottobre 2011 HTTP Utente  del blog internet Web  server HTML con script client-side HTML con programmi client-side Editor Esecutore dei programmi client-side Browser Esempi: Javascript   (script interpretati) con librerie  DOM Applet Java  (codice precompilato interpretato da JVM (Java Virtual Machine)
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
Esempi <html> <head> …. </head> <body> … . <script type=&quot;text/javascript&quot;> Document.write('Hello World') </script> … .. </body> </html> R.Polillo - Ottobre 2011 <applet    code=&quot;Hello class&quot;  width=&quot;200&quot; hight=&quot;200&quot;>  </applet>
Applet Java: esempio R.Polillo - Ottobre 2011
AJAX  ( A synchronous  Ja vaScript and  X ML) R.Polillo - Ottobre 2011 Da leggere:  http://www.adaptivepath.com/ideas/ajax-new-approach-web-applications
Pagine statiche con programmi client-side R.Polillo - Ottobre 2011 HTTP Utente  del blog internet Web  server HTML con script client-side HTML con programmi client-side Editor Esecutore dei programmi client-side Browser AJAX Engine
Estensioni al browser Componenti aggiuntivi che possono essere installati sul browser per fornire specifiche funzionalità (anche &quot;add-on&quot;, &quot;plugin&quot;, …) Esempi: Chrome:  https://chrome.google.com/webstore?hl=it   Firefox:  https://addons.mozilla.org/it/firefox/   R.Polillo - Ottobre 2011
Esempio Hyperwords http://www.hyperwords.net/index.html http://www.youtube.com/watch?v=p6B9ZNI4vY0&feature=player_embedded   R.Polillo - Ottobre 2011
Programmazione server-side (pagine dinamiche) R.Polillo - Ottobre 2011 HTTP Utente  del blog internet 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 … Browser  Esecutore di programmi server-side
Pagine dinamiche con application server R.Polillo - Ottobre 2011 HTTP Utente  del blog internet Web  server HTML con script client-side Pagine generate dinamicamente Application server db server Data base Browser
CMS (Content Management System) R.Polillo - Ottobre 2011 HTTP Utente  del blog internet Web  server Pagine generate dinamicamente CMS  db server Data base Editor Lettore Browser  Browser
CMS (Content Management System) R.Polillo - Ottobre 2011 HTTP Utente  del blog internet Web  server Pagine generate dinamicamente CMS db server Data base Autore Lettore Amministratore Browser  Browser  Browser
CMS (Content Management System) R.Polillo - Ottobre 2011 HTTP Utente  del blog internet Web  server Pagine generate dinamicamente CMS db server Data base Autore Lettore Amministratore Browser  Browser  Browser  Templates Materiale autore Materiale amministratore
CMS Due grandi classi di soluzioni: Servizi online (utilizzanti spesso CMS proprietari) Sistemi software (spesso open-source e grauiti) R.Polillo - Ottobre 2011

8. Architetture web

  • 1.
    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
  • 2.
    Queste slides Questeslides fanno parte del corso “Strumenti e applicazioni del Web”. Il sito del corso, con il materiale completo, si trova in www.corsow.wordpress.com . Data la rapida evoluzione della rete, il corso viene aggiornato ogni anno. Il presente materiale è pubblicato con licenza Creative Commons “Attribuzione - Non commerciale - Condividi allo stesso modo - 2.5 Italia”: NOTA: Al materiale hanno contribuito in molti, studenti, amici e la rete. Ove possibile ne ho indicato la fonte; segnalatemi eventuali dimenticanze, sarò lieto di correggerle appena possibile. Il corso è la estensione di un mio corso precedente, denominato &quot;Design dell'Interazione&quot;, tenuto a partire dal 2008, la cui prima edizione era basata su un corso tenuto da Carlo Vaccari all’Università di Camerino nel 2007. R.Polillo - Ottobre 2011
  • 3.
    Pagine statiche R.Polillo- Ottobre 2011 HTTP Utente del blog internet Web server HTML HTML Browser
  • 4.
    Pagine statiche: editing/ upload R.Polillo - Ottobre 2011 HTTP Utente del blog internet Browser Web server Pagine web Editor HTTP FTP HTML Es.: Dreamweaver
  • 5.
    Pagine statiche conprogrammi client-side R.Polillo - Ottobre 2011 HTTP Utente del blog internet Web server HTML con script client-side HTML con programmi client-side Editor Esecutore dei programmi client-side Browser Esempi: Javascript (script interpretati) con librerie DOM Applet Java (codice precompilato interpretato da JVM (Java Virtual Machine)
  • 6.
    Programmazione lato clientJavaScript (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 (&quot;bytecode&quot;), 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
  • 7.
    Esempi <html> <head>…. </head> <body> … . <script type=&quot;text/javascript&quot;> Document.write('Hello World') </script> … .. </body> </html> R.Polillo - Ottobre 2011 <applet code=&quot;Hello class&quot; width=&quot;200&quot; hight=&quot;200&quot;> </applet>
  • 8.
    Applet Java: esempioR.Polillo - Ottobre 2011
  • 9.
    AJAX (A synchronous Ja vaScript and X ML) R.Polillo - Ottobre 2011 Da leggere: http://www.adaptivepath.com/ideas/ajax-new-approach-web-applications
  • 10.
    Pagine statiche conprogrammi client-side R.Polillo - Ottobre 2011 HTTP Utente del blog internet Web server HTML con script client-side HTML con programmi client-side Editor Esecutore dei programmi client-side Browser AJAX Engine
  • 11.
    Estensioni al browserComponenti aggiuntivi che possono essere installati sul browser per fornire specifiche funzionalità (anche &quot;add-on&quot;, &quot;plugin&quot;, …) Esempi: Chrome: https://chrome.google.com/webstore?hl=it Firefox: https://addons.mozilla.org/it/firefox/ R.Polillo - Ottobre 2011
  • 12.
    Esempio Hyperwords http://www.hyperwords.net/index.htmlhttp://www.youtube.com/watch?v=p6B9ZNI4vY0&feature=player_embedded R.Polillo - Ottobre 2011
  • 13.
    Programmazione server-side (paginedinamiche) R.Polillo - Ottobre 2011 HTTP Utente del blog internet 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 … Browser Esecutore di programmi server-side
  • 14.
    Pagine dinamiche conapplication server R.Polillo - Ottobre 2011 HTTP Utente del blog internet Web server HTML con script client-side Pagine generate dinamicamente Application server db server Data base Browser
  • 15.
    CMS (Content ManagementSystem) R.Polillo - Ottobre 2011 HTTP Utente del blog internet Web server Pagine generate dinamicamente CMS db server Data base Editor Lettore Browser Browser
  • 16.
    CMS (Content ManagementSystem) R.Polillo - Ottobre 2011 HTTP Utente del blog internet Web server Pagine generate dinamicamente CMS db server Data base Autore Lettore Amministratore Browser Browser Browser
  • 17.
    CMS (Content ManagementSystem) R.Polillo - Ottobre 2011 HTTP Utente del blog internet Web server Pagine generate dinamicamente CMS db server Data base Autore Lettore Amministratore Browser Browser Browser Templates Materiale autore Materiale amministratore
  • 18.
    CMS Due grandiclassi di soluzioni: Servizi online (utilizzanti spesso CMS proprietari) Sistemi software (spesso open-source e grauiti) R.Polillo - Ottobre 2011