World Wide Web Ing. Federico Bergenti Dipartimento di Matematica Università degli Studi di Parma E-mail Telefono [email protected] +39 0521 90 6929 Il Web (1/2) Nel 1990, Tim Berners-Lee (TBL) conia il termine World Wide Web (più spesso Web) e definisce Il linguaggio HTML (Hyper-Text Markup Language) Il formato delle URL (Uniform Resource Locator) Il protocollo di comunicazione HTTP (Hyper-Text Transfer Protocol) © 2011 F. Bergenti World Wide Web 2 Il Web (2/2) TBL realizza e mette a disposizione degli strumenti Server httpd Il Browser e editor WorldWideWeb TBL è il padre della tecnologia...non dell’idea di Web © 2011 F. Bergenti World Wide Web 3 Alcuni Chiarimenti Cos’è il Web? Cos’è un iper-testo? Rete di iper-testi scritti in HTML Un testo con rimandi e punti di snodo Ogni lettore ha un percorso personale Web = Internet? No. Internet è la rete di computer che rende accessibile il Web © 2011 F. Bergenti World Wide Web 4 Sviluppo del Web Da metà anni ’90 il Web diventa uno strumento di uso quotidiano Il boom dell’e-commerce Il Web si è sviluppato secondo due direzioni principali indipendenti Verso il Web 2.0 Verso il Web Semantico © 2011 F. Bergenti World Wide Web Web 3.0 5 Il Web Tradizionale Richiesta Pubblicazione Molti Pochi Web Server Consumatori di pagine (utenti) © 2011 F. Bergenti World Wide Web Produttori di pagine 6 Il Web Collaborativo Tutti gli utenti sono sia produttori che consumatori Le pagine HTML sono realizzate in modo congiunto Tutti Web Server Strumenti che hanno agevolato la trasformazione Wiki Blog Utenti = Produttori = Consumatori © 2011 F. Bergenti World Wide Web 7 Wiki Wiki(-wiki) Iniziato come modo per costruire un vocabolario della progettazione software Sito modificato e aggiornato dai suoi utilizzatori I contenuti (le pagine) sono sviluppati in collaborazione Veloce aggiornamento dei contenuti (da cui il nome) Individuare alcune idee ricorrenti e dare loro un nome Il più famoso oggi è Wikipedia © 2011 F. Bergenti World Wide Web 8 Blog Blog Un diario di bordo (log) reso pubblico sul Web Nasce come strumento noncollaborativo Diventa collaborativo con la possibilità di Lasciare commenti Collegare i blog con i trackback (link “al contrario”) Da “Web Log” a “We Blog” © 2011 F. Bergenti World Wide Web 9 Il Web 2.0 Alcune innovazioni hanno migliorato il Web collaborativo I contenuti non sono più solo pagine HTML YouTube, Fotolog, ... Gli utenti stessi sono un contenuto pubblicato © 2011 F. Bergenti Facebook, Twitter, ... World Wide Web 10 Qualche Chiarimento Alcune tecnologie si sono sviluppate contemporaneamente al Web 2.0 AJAX (Asynchronous JavaScript and XML) Adobe Flash Alternativa all’HTML per contenuti più interattivi ed accattivanti Pensato come evoluzione delle applet Java Usato, e.g., in YouTube per riprodurre i video VoIP (Voice Over Intenet Protocol) Tecnica usata per modificare le pagine senza ricaricarle Usata, e.g., in Facebook (tramite il Google Web Toolkit) Permette di trasmettere audio e video in tempo reale su Internet Usato, e.g., in Skype ed MSN Non sono parte dell’idea di Web 2.0...ma ne facilitano la realizzazione © 2011 F. Bergenti World Wide Web 11 Il Web è Enorme e Dinamico Un problema del Web è: come trovate le informazioni? La ricerca e i cataloghi (directory) vanno migliorati Più dinamismo Migliori risultati Contestualizzazione ... © 2011 F. Bergenti World Wide Web 12 Contenuto e Forma in HTML Nell’idea originale, i documenti HTML sono fatti da Testo, per il lettore Tag, per il browser che li interpreta per realizzare Un paio di problemi I collegamenti tra i documenti Effetti grafici Il testo e i tag sono mescolati I tag vengono usati sia per descrivere alcune proprietà strutturali di un documento che per realizzare effetti grafici HTML non separa il contenuto dalla forma © 2011 F. Bergenti World Wide Web 13 Risultati di un Compito <HTML> <HEAD> <TITLE>Esempio</TITLE> </HEAD> <BODY> <P><I>Bianchi</I> Alberto</P> <P>7 Buono</P> <P><I>Neri</I> Giovanni <P>4 Molto scarso</P> <P><I>Rossi</I> Mario</P> <P>6 Medio</P> <P><I>Verdi</I> Giuseppe</P> <P>8 Ottimo</P> </BODY> </HTML> Compito.html © 2011 F. Bergenti World Wide Web 14 XML e CSS (1/3) Separazione tra Contenuto: descritto nel linguaggio XML (eXtensible Markup Language) Forma: destritta dal linguaggio CSS (Cascading Style Sheet) XML è una generalizzazione di HTML Stesso tipo di linguaggio Tag completamente definibili dall’utente (quindi, extensible) I tag non hanno un significato proprio © 2011 F. Bergenti World Wide Web 15 XML e CSS (2/3) <?xml version="1.0" encoding="ISO-8859-1"?> <COMPITO> <STUDENTE> <COGNOME>Bianchi</COGNOME> <NOME>Alberto</NOME> <VOTO>7</VOTO> <COMMENTO>Buono</COMMENTO> </STUDENTE> <STUDENTE> ... </STUDENTE> Compito.xml World Wide Web COMPITO contiene una lista di studenti STUDENTE contiene un COGNOME, un NOME, un VOTO e un COMMENTO Tipi dato primitivi ... </COMPITO> COMPITO, STUDENTE, ... Struttura specifica <STUDENTE> ... </STUDENTE> © 2011 F. Bergenti Nuovi tag specifici COGNOME, NOME e COMMENTO sono stringhe VOTO è un intero in [0..10] 16 XML e CSS (3/3) COMPITO { background-color: #f0f0f0; width: 100%; } STUDENTE { display: block; margin-bottom: 30pt; } COGNOME { color: #FF0000; font-weight: bold; } ... © 2011 F. Bergenti Associa uno stile grafico ad ogni tag Permette di controllare Stile1.css World Wide Web Font Colori Sfondi Margini Allineamenti ... Viene collegato indicandolo all’inizio del file XML <?xml-stylesheet type="text/css" href="Stile1.css"?> 17 Limiti dei CSS Spesso il CSS non basta e si usa un XSLT (eXtensible Stylesheet Language Transformations) Trasforma XML in HTML Permette di trasformare un singolo elemento XML in una struttura HTML complessa E.g., una tabella Può essere applicato sia dal server che dal client © 2011 F. Bergenti World Wide Web 18 Grammatiche per XML (1/2) La struttura di Compito.xml non viene mai resa esplicita In XML i tag non hanno né un significato né una struttura associata XML Schema permette di associare una struttura (grammatica o schema) ai tag XML Un validatore legge un file XML e verifica che sia conforme al relativo XML Schema © 2011 F. Bergenti World Wide Web 19 Grammatiche per XML (2/2) <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="STUDENTE"> <xs:sequence> <xs:element name="COGNOME" type="xs:string"/> <xs:element name="NOME" type="xs:string"/> <xs:element name="VOTO" type="xs:integer" /> <xs:element name="COMMENTO" type="xs:string"/> </xs:sequence> </xs:complexType> Tipi <xs:complexType name="COMPITO"> <xs:sequence> <xs:element name="STUDENTE" type="STUDENTE" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> Tag <xs:element name="STUDENTE" type="STUDENTE" /> <xs:element name="COMPITO" type="COMPITO" /> </xs:schema> Compiti.xsd © 2011 F. Bergenti World Wide Web 20 Le Risorse nel Web (1/3) Il Web è formato da risorse e non solo da documenti HTML RDF (Resource Description Format) permette di descrivere le proprietà di una risorsa Mettendola in relazione con un’altra risorsa Descrive triplette soggetto-predicato-oggetto I tre elementi di ogni tripletta sono risorse © 2011 F. Bergenti World Wide Web 21 Le Risorse nel Web (2/3) RDF crea grafi di risorse I grafi di risorse possono essere sfruttati © 2011 F. Bergenti Nella creazione di indici Nella ricerca World Wide Web 22 Le Risorse nel Web (3/3) OWL (Web Ontology Language) offre un modo accurato e ben fondato dal punto di vista formale per descrivere le risorse OWL richiede due fasi Viene descritta una concettualizzazione delle risorse Questa descrizione prende il nome di ontologia Descrive i tipi di risorsa e le loro possibili relazioni Viene descritta ogni singola risorsa © 2011 F. Bergenti Associandola alla categoria a cui appartiene e a proprietà specifiche World Wide Web 23 Il Web Semantico Web in cui le risorse sono descritte mediante ontologie condivise Permette agli agenti (intelligenti) di fare ragionamenti complessi sulle risorse Per creare indici automaticamente Per migliorare la qualità della ricerca Per contestualizzare la ricerca Per anticipare future ricerche Per supportare la comunicazione ... © 2011 F. Bergenti World Wide Web 24 In Conclusione Web Collaborativo e Web 2.0 Web Semantico Gli utenti sono consumatori e produttori paritari Il Web è Peer-to-Peer Le risorse e gli utenti sono descritti e formalizzati Le ontologie sono condivise Web 3.0 Utenti e agenti ragionano sulle risorse, sugli utenti e sugli agenti per produrre e consumare risorse multimediali e per usufruire di servizi © 2011 F. Bergenti World Wide Web 25