Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

8. Architetture web

1,696 views

Published on

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

Published in: Education
  • Be the first to comment

8. Architetture web

  1. 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. 2. Queste slides <ul><li>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. </li></ul><ul><li>Il presente materiale è pubblicato con licenza Creative Commons “Attribuzione - Non commerciale - Condividi allo stesso modo - 2.5 Italia”: </li></ul><ul><li>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. </li></ul>R.Polillo - Ottobre 2011
  3. 3. Pagine statiche R.Polillo - Ottobre 2011 HTTP Utente del blog internet Web server HTML HTML Browser
  4. 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. 5. 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 <ul><li>Esempi: </li></ul><ul><li>Javascript (script interpretati) con librerie DOM </li></ul><ul><li>Applet Java (codice precompilato interpretato da JVM (Java Virtual Machine) </li></ul>
  6. 6. Programmazione lato client <ul><li>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 </li></ul><ul><li>DOM (Document Object Model) Librerie di funzioni associate a Javascript, per la manipolazione delle pagine e degli elementi dell'interfaccia del browser </li></ul><ul><li>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. </li></ul><ul><li>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 </li></ul>R.Polillo - Ottobre 2011
  7. 7. Esempi <ul><li><html> </li></ul><ul><li><head> …. </head> </li></ul><ul><li><body> </li></ul><ul><li>… . </li></ul><ul><li><script type=&quot;text/javascript&quot;> </li></ul><ul><li>Document.write('Hello World') </li></ul><ul><li></script> </li></ul><ul><li>… .. </li></ul><ul><li></body> </li></ul><ul><li></html> </li></ul>R.Polillo - Ottobre 2011 <applet code=&quot;Hello class&quot; width=&quot;200&quot; hight=&quot;200&quot;> </applet>
  8. 8. Applet Java: esempio R.Polillo - Ottobre 2011
  9. 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. 10. 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
  11. 11. Estensioni al browser <ul><li>Componenti aggiuntivi che possono essere installati sul browser per fornire specifiche funzionalità (anche &quot;add-on&quot;, &quot;plugin&quot;, …) </li></ul><ul><li>Esempi: </li></ul><ul><ul><li>Chrome: https://chrome.google.com/webstore?hl=it </li></ul></ul><ul><ul><li>Firefox: https://addons.mozilla.org/it/firefox/ </li></ul></ul>R.Polillo - Ottobre 2011
  12. 12. Esempio <ul><li>Hyperwords </li></ul><ul><li>http://www.hyperwords.net/index.html </li></ul><ul><li>http://www.youtube.com/watch?v=p6B9ZNI4vY0&feature=player_embedded </li></ul>R.Polillo - Ottobre 2011
  13. 13. 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 <ul><li>Esempi : </li></ul><ul><li>script PHP (Personal Home Page Tools) </li></ul><ul><li>script JSP (Java Server Pages) </li></ul><ul><li>Servlet Java </li></ul><ul><li>… </li></ul>Browser Esecutore di programmi server-side
  14. 14. 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
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. CMS <ul><li>Due grandi classi di soluzioni: </li></ul><ul><li>Servizi online (utilizzanti spesso CMS proprietari) </li></ul><ul><li>Sistemi software (spesso open-source e grauiti) </li></ul>R.Polillo - Ottobre 2011

×