Download - PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

Transcript
Page 1: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

PROGETTAZIONE E PRODUZIONE MULTIMEDIALE

WWW

Prof. Alberto Del Bimbo

Page 2: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

World Wide Web

Page 3: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

Il World Wide Web (WWW) è uno dei servizi di Internet, rete di computer mondiale e ad accesso pubblico. Assieme alla posta elettronica, è il servizio di Internet più utilizzato e conosciuto.

Il servizio mette a disposizione degli utenti uno spazio elettronico e digitale per la pubblicazione di contenuti multimediali oltre che un mezzo per la distribuzione di software e la fornitura di servizi particolari sviluppati dagli stessi utenti.

Il Web è stato creato da Tim Berners-Lee, mentre era ricercatore al CERN di Ginevra. Gli standard su cui è basato sono mantenuti dal World Wide Web Consortium (W3C). La nascita del Web risale al 6 agosto 1991, giorno in cui Berners-Lee mise on-line su Internet il primo sito web.

Page 4: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

Il Web ha alcune caratteristiche che hanno contribuito al suo enorme successo:Il Web ha alcune caratteristiche che hanno contribuito al suo enorme successo:

• architettura basata su standard di pubblico dominioarchitettura basata su standard di pubblico dominio• architettura distribuita di tipo client-serverarchitettura distribuita di tipo client-server• capacità di gestire informazioni di diverso tipocapacità di gestire informazioni di diverso tipo

Page 5: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

• 3 standard principali del web3 standard principali del web

• P rotocollo HTTP (HyperText Transfer Protocol): è il protocollo che i client e i server utilizzano per comunicare. utilizzano per comunicare.

• S istema di indirizzamento basato su Uniform Resource Locator (URL): è un meccanismo standard per fare riferimento alle entità indirizzabili:

• documenti (testo, immagini, suoni, ecc.);• programmi eseguibili.

• Linguaggio HTML (HyperText Markup Language): è il linguaggio per la definizione delle pagine Web.

• Lo sviluppo del web ha parimente previsto evoluzioni degli standard e Lo sviluppo del web ha parimente previsto evoluzioni degli standard e integrazioniintegrazioni

Page 6: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

Il protocollo HTTP (Hyper Text Transfer Protocol )Il protocollo HTTP (Hyper Text Transfer Protocol ) è il protocollo di è il protocollo di comunicazione tra un client (p.e. un browser) ed un server web. Questo comunicazione tra un client (p.e. un browser) ed un server web. Questo protocollo lavora per creare, trasferire e gestire dei dati formattati secondo il protocollo lavora per creare, trasferire e gestire dei dati formattati secondo il linguaggio HTML da un sistema ad un altro in maniera indipendente dal linguaggio HTML da un sistema ad un altro in maniera indipendente dal sistema stesso. sistema stesso.

L'HTTP disciplina i riferimenti attraverso gli URI (Universal Resource Identifier) che L'HTTP disciplina i riferimenti attraverso gli URI (Universal Resource Identifier) che possono essere divisi per locazione URL e per nome URN, indica in tal modo la risorsa a possono essere divisi per locazione URL e per nome URN, indica in tal modo la risorsa a cui applicare il metodo della request.cui applicare il metodo della request.

HTTP è un HTTP è un protocollo AS CII (8 bit)protocollo AS CII (8 bit), cioè i messaggi scambiati fra client e server sono costituiti da , cioè i messaggi scambiati fra client e server sono costituiti da sequenze di caratteri ASCIIsequenze di caratteri ASCII

In questo contesto per In questo contesto per messaggiomessaggio si intende la richiesta del client oppure la risposta del server, si intende la richiesta del client oppure la risposta del server, intesa come informazione di controllo; viceversa, i dati della URL richiesta che vengono restituiti intesa come informazione di controllo; viceversa, i dati della URL richiesta che vengono restituiti dal server non sono necessariamente ASCII (esempi di dati binari: immagini, filmati, suoni, dal server non sono necessariamente ASCII (esempi di dati binari: immagini, filmati, suoni, codice eseguibile). Utilizzo dello standard MIME (sviluppato per la posta elettronica)codice eseguibile). Utilizzo dello standard MIME (sviluppato per la posta elettronica)

Page 7: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

L’HTTP prevede che ogni singola interazione fra client-server si svolga secondo il L’HTTP prevede che ogni singola interazione fra client-server si svolga secondo il seguente schema:seguente schema:

• apertura di una connessione di livello di transporto (apertura di una connessione di livello di transporto (TCPTCP ) tra client e server ) tra client e server • invio di una singola richiesta da parte del client, che specifica la URL desiderata;invio di una singola richiesta da parte del client, che specifica la URL desiderata;• invio di una risposta da parte del server e dei dati di cui alla URL richiesta;invio di una risposta da parte del server e dei dati di cui alla URL richiesta;• chiusura della connessione di livello transport.chiusura della connessione di livello transport.

ad esempio per ogni pagina richiesta…quando si accede ad un sito webad esempio per ogni pagina richiesta…quando si accede ad un sito web

E’ un protocollo di tipo E’ un protocollo di tipo statelessstateless: non è previsto il concetto di : non è previsto il concetto di sessionesessione all'interno della all'interno della quale ci si quale ci si ricorda dello stato dell'interazione fra client e server. Ogni singola interazione è storia a ricorda dello stato dell'interazione fra client e server. Ogni singola interazione è storia a se ed è del tutto indipendente dalle altre.se ed è del tutto indipendente dalle altre.

Page 8: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

metodo di accesso:metodo di accesso: aaaaaa = protocollo (http, ftp, https, etc). Per default si assume http. = protocollo (http, ftp, https, etc). Per default si assume http.cccccc = porta TCP utilizzata nella trasmissione. Se non specificata viene utilizzata la porta di = porta TCP utilizzata nella trasmissione. Se non specificata viene utilizzata la porta di default per il protocollo selezionato. Per esempio: 80 per l’ http, 21 per l’ftp,443 per https.default per il protocollo selezionato. Per esempio: 80 per l’ http, 21 per l’ftp,443 per https.

host:host: bbbbbb = host name (nessun default). E’ definibile sia come indirizzo a dominio che come indirizzo = host name (nessun default). E’ definibile sia come indirizzo a dominio che come indirizzo IP.IP.

identità:identità:dddddd = pathname. Nel caso dell’ http identifica un percorso relativo a partire dalla = pathname. Nel caso dell’ http identifica un percorso relativo a partire dalla root root definita definita nel server contattato.nel server contattato. eeeeee = filename. Nel caso dell’ http se non specificato corrisponde al file di indice configurato nel = filename. Nel caso dell’ http se non specificato corrisponde al file di indice configurato nel server web. Tipicamente per default corrisponde a index.html o index.htm.server web. Tipicamente per default corrisponde a index.html o index.htm.

L’ URL (Uniform Resource Locators)L’ URL (Uniform Resource Locators) (RFC 1738), definisce univocamente la (RFC 1738), definisce univocamente la posizione di una risorsa in rete. Una URL è fatta di 3 parti, che specificano:posizione di una risorsa in rete. Una URL è fatta di 3 parti, che specificano:

• metodo di accessometodo di accesso (come si vuole accedere alla risorsa) (come si vuole accedere alla risorsa)• hosthost (dove è fisicamente localizzata la risorsa) (dove è fisicamente localizzata la risorsa)• identitàidentità (come è identificata la risorsa) (come è identificata la risorsa)

aaa://bbb:ccc/ddd/eeeaaa://bbb:ccc/ddd/eee

Page 9: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

L’HTML (Hyper Text Markup Language )L’HTML (Hyper Text Markup Language ) è un linguaggio che usa annotazioni è un linguaggio che usa annotazioni markupmarkup per descrivere la formattazione di documenti. per descrivere la formattazione di documenti. Con il termine markup si intende una sequenza di caratteri o altri simboli che si inseriscono all’interno di un documento per indicare come il contenuto deve apparire o per descrivere la struttura logica del documento.

• E’ derivato dall’ E’ derivato dall’ S GMLS GML (S tandard Generalized Markup Language)(S tandard Generalized Markup Language) ISO 8879 ISO 8879• E’ specializzato nel trattamento degli ipertesti e adattato al Web.E’ specializzato nel trattamento degli ipertesti e adattato al Web.• I comandi per la formattazione (I comandi per la formattazione (tagtag) sono inseriti in modo esplicito nel testo.) sono inseriti in modo esplicito nel testo.• Un documento descritto in HTML e’ sempre un file ASCIIUn documento descritto in HTML e’ sempre un file ASCII

L’evoluzione dell’HTML è sotto il controllo del consorzio W3C:L’evoluzione dell’HTML è sotto il controllo del consorzio W3C:• HTML versione 1.0HTML versione 1.0• HTML versione 2.0 (RFC 1866 e RFC 2854)HTML versione 2.0 (RFC 1866 e RFC 2854)• HTML versione 3.0HTML versione 3.0• HTML versione 3.2HTML versione 3.2• HTML versione 4.0 (REC-html40-19980424)HTML versione 4.0 (REC-html40-19980424)• HTML versione 4.0.1HTML versione 4.0.1• XHTML 1.0 strictXHTML 1.0 strict• XHTML 1.1XHTML 1.1

Page 10: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

Il ruolo di HTML è di definire il modo in cui deve essere visualizzata una pagina Il ruolo di HTML è di definire il modo in cui deve essere visualizzata una pagina Web (detta anche Web (detta anche pagina HTMLpagina HTML), che tipicamente è un documento di tipo testuale ), che tipicamente è un documento di tipo testuale contenente opportuni tag di HTML.contenente opportuni tag di HTML.

Il client, quando riceve una pagina compie le seguenti operazioni:Il client, quando riceve una pagina compie le seguenti operazioni:• interpreta i tag presenti nella pagina;interpreta i tag presenti nella pagina;• formatta la pagina di conseguenza, provvedendo automaticamente ad formatta la pagina di conseguenza, provvedendo automaticamente ad adattarla alle condizioni locali (risoluzione dello schermo, dimensione della adattarla alle condizioni locali (risoluzione dello schermo, dimensione della finestra, profondità di colore, ecc.);finestra, profondità di colore, ecc.);• mostra la pagina formattata sullo schermo.mostra la pagina formattata sullo schermo.

I tag HTML possono essere divisi in due categorie:I tag HTML possono essere divisi in due categorie:•tag per la formattazione di testo;tag per la formattazione di testo;•tag per altre finalità (inclusione di oggetti,interazione utente,elaborazione tag per altre finalità (inclusione di oggetti,interazione utente,elaborazione locale).locale).

Page 11: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

Il server è tipicamente un processo in esecuzione su un elaboratore. Esso, di Il server è tipicamente un processo in esecuzione su un elaboratore. Esso, di norma, è sempre in esecuzione ed ha i seguenti compiti:norma, è sempre in esecuzione ed ha i seguenti compiti:

• rimanere in ascolto di richieste da parte dei client;rimanere in ascolto di richieste da parte dei client;• fare del suo meglio per soddisfare ogni richiesta che arriva:fare del suo meglio per soddisfare ogni richiesta che arriva:

Deve essere in grado di gestire molte richieste contemporaneamente, e Deve essere in grado di gestire molte richieste contemporaneamente, e mentre fa questo deve continuare a rimanere in ascolto di nuove richieste. mentre fa questo deve continuare a rimanere in ascolto di nuove richieste. Possibili soluzioni:Possibili soluzioni:

• clonazione del serverclonazione del server:per ogni nuova richiesta che arriva, il server (che è :per ogni nuova richiesta che arriva, il server (che è sempre in ascolto) crea una nuova copia di se stesso alla quale affida la sempre in ascolto) crea una nuova copia di se stesso alla quale affida la gestione della richiesta;si mette quindi nuovamente in attesa di nuove gestione della richiesta;si mette quindi nuovamente in attesa di nuove richieste; la copia clonata si occupa di soddisfare la richiesta e poi richieste; la copia clonata si occupa di soddisfare la richiesta e poi termina.termina.

• server multithreadedserver multithreaded:esiste una sola copia del server, che però è :esiste una sola copia del server, che però è progettato per essere in grado di generare thread multipliprogettato per essere in grado di generare thread multipli

Server (Server Agents)Server (Server Agents)

Page 12: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

I client (o user agents) sono lo strumento a disposizione dell'utente per I client (o user agents) sono lo strumento a disposizione dell'utente per l'accesso e la navigazione nell'ipertesto del Web. Vengono comunemente l'accesso e la navigazione nell'ipertesto del Web. Vengono comunemente chiamati chiamati browserbrowser : : NCS A Mosaic NCS A Mosaic (il primo);(il primo); Netscape Navigator; Microsoft Netscape Navigator; Microsoft Internet Explorer, Mozilla… ..Internet Explorer, Mozilla… ..Essi hanno varie competenze:Essi hanno varie competenze:

• trasmettere al server le richieste di reperimento dati; trasmettere al server le richieste di reperimento dati; • ricevere dal server le informazioni richieste;ricevere dal server le informazioni richieste;• visualizzare il contenuto della pagina Web richiesta;visualizzare il contenuto della pagina Web richiesta;• consentire operazioni locali sulle informazioni ricevute;consentire operazioni locali sulle informazioni ricevute;

Gestiscono direttamente solo alcune tipologie di informazioni quali testo Gestiscono direttamente solo alcune tipologie di informazioni quali testo formattato, immagini fisse, codice eseguibile. Gli altri tipi di informazioni formattato, immagini fisse, codice eseguibile. Gli altri tipi di informazioni vengono gestiti attraverso un programma esterno o per mezzo di vengono gestiti attraverso un programma esterno o per mezzo di plug-inplug-in, , ossia librerie di codice eseguibile e specializzato caricato in memoria ossia librerie di codice eseguibile e specializzato caricato in memoria secondo le necessità.secondo le necessità.

Con il web 2.0 e 3.0 il web si sta espandendo verso altri tipi di user agents, quali mobile phone o PDA, o applicazioni che semplicemente sono capaci di ritrovare ed elaborare documenti invece di farne solo il display come i browser.

Client (User Agents)

Page 13: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

Evolution of world wide web

interactive community-based

syntactical

semantical

S emantic web search

W eb 3.0

W eb 2.0

W eb 1.0

Web ontologies

1990

2010

Web search

Page 14: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

Alle funzionalità iniziali di lettura e presentazione dell’informazione si è Alle funzionalità iniziali di lettura e presentazione dell’informazione si è presto sentita l'esigenza di affiancare un supporto a una qualche forma di presto sentita l'esigenza di affiancare un supporto a una qualche forma di interattività superiore a quella offerta dalla navigazione attraverso gli interattività superiore a quella offerta dalla navigazione attraverso gli hyperlinkhyperlink ( (pagine statichepagine statiche), ad esempio per consentire agli utenti di consultare ), ad esempio per consentire agli utenti di consultare una base di dati remota via Web. La pagine Web generate una base di dati remota via Web. La pagine Web generate on-flyon-fly da questo da questo tipo di interazione si definiscono: tipo di interazione si definiscono: pagine dinamichepagine dinamiche. .

Ciò è stato reso possibile attraverso:Ciò è stato reso possibile attraverso:• introduzione del linguaggio introduzione del linguaggio L iveScriptL iveScript (poi chiamato (poi chiamato JavaScriptJavaScript) per la ) per la definizione di computazioni, eseguite dal client, direttamente associate a una definizione di computazioni, eseguite dal client, direttamente associate a una pagina HTML;pagina HTML;• introduzione del linguaggio introduzione del linguaggio JavaJava per la creazione di file eseguibili, che vengono per la creazione di file eseguibili, che vengono trasmessi dal server al client e poi vengono eseguiti in totale autonomia dal trasmessi dal server al client e poi vengono eseguiti in totale autonomia dal clientclient; ; indipendentemente dalla piattaforma HW e SW del sistema.indipendentemente dalla piattaforma HW e SW del sistema.

Web 2.0 and beyond: Web ApplicationsWeb 2.0 and beyond: Web Applications

Page 15: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

Server Side ApplicationServer Side ApplicationIn una applicazione Client-Server sono programmi che verranno eseguiti sul In una applicazione Client-Server sono programmi che verranno eseguiti sul Server:Server:

• Scripts CGIScripts CGI• JSPJSP• ASPASP• Script PHPScript PHP

Client Side ApplicationClient Side ApplicationIn una applicazione Client Server sono programmi che verranno eseguiti sul In una applicazione Client Server sono programmi che verranno eseguiti sul Client:Client:

• JavaScriptJavaScript• Applet JavaApplet Java• Flash (rich internet applications)Flash (rich internet applications)

Page 16: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

CGI (Common Gateway Interface)CGI (Common Gateway Interface): è la tecnologia piu’ standard e piu’ vecchia per interfacciare : è la tecnologia piu’ standard e piu’ vecchia per interfacciare un server Web con un programma, scritto in un linguaggio qualunque, che viene eseguito sul un server Web con un programma, scritto in un linguaggio qualunque, che viene eseguito sul server. Attraverso questa interfaccia e’ possibile passare dati dal server Web al programma server. Attraverso questa interfaccia e’ possibile passare dati dal server Web al programma applicativo e viceversa. Il programma puo’ eseguire qualunque tipo di elaborazione (estrazione di applicativo e viceversa. Il programma puo’ eseguire qualunque tipo di elaborazione (estrazione di dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura, ormai non più utilizzata.inefficiente e poco sicura, ormai non più utilizzata.

AS P (Active S erver Pages)AS P (Active S erver Pages): e’ una tecnologia sviluppata da Microsoft e successivamente : e’ una tecnologia sviluppata da Microsoft e successivamente adottata anche da altri produttori di server Web (ad es. Netscape). E’ basata sul meccanismo di adottata anche da altri produttori di server Web (ad es. Netscape). E’ basata sul meccanismo di introdurre all’interno di una pagina HTML codice ActiveX (Visual Basic, Visual C++, J ava, introdurre all’interno di una pagina HTML codice ActiveX (Visual Basic, Visual C++, J ava, VBScript) . VBScript) .

JS P (Java S erver Pages):JS P (Java S erver Pages): è una tecnologia sviluppata da Sun come alternativa alle ASP. è una tecnologia sviluppata da Sun come alternativa alle ASP. Funzionano nello stesso modo, salvo che nelle pagine HTML viene inserito del codice J ava. Funzionano nello stesso modo, salvo che nelle pagine HTML viene inserito del codice J ava. Attraverso J ava e’ possibile effettuare qualunque elaborazione (estrazione dei dati, successiva Attraverso J ava e’ possibile effettuare qualunque elaborazione (estrazione dei dati, successiva manipolazione degli stessi, calcoli, ecc.). Il server Web poi costruisce la pagina come manipolazione degli stessi, calcoli, ecc.). Il server Web poi costruisce la pagina come integrazione del codice HTML statico e dei risultati prodotti dal codice J ava. integrazione del codice HTML statico e dei risultati prodotti dal codice J ava.

Server Side ApplicationsServer Side Applications

Page 17: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

• XML è un metalinguaggio: "a common syntax for expressing structure in data“;

ovvero un linguaggio per definire nuovi linguaggi di markup. XML consente di crearsi i propri tipi di documenti.

• Lo scopo di XML è quello di separare la definizione dei dati dalla rappresentazione, per favorire lo scambio di documenti strutturati. E’ quindi uno strumento per scambiare dati. E’ possibile validare una struttura dati definita dall’utente.

– Uno User Agent si aspetta che i dati XML siano strutturati secondo regole specifiche che consentano di leggere i dati velocemente senza doverne decifrare la struttura.

– XML può essere quindi usato anche per creare Web pages formattate.

• E’ una specifica ufficiale del World Wide Web Consortium (W3C) ed è alla base di tutte le nuove specifiche tecnologiche rilasciate dal W3C e adottate come standard dall'industria informatica.

XML

Page 18: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

• HTML non è idoneo per user agents diversi dai Web browsers. A tale scopo è stato definito l’XHTML

• Per definire cos'è XHTML: HTML + XML = XHTMLXHTML è quasi identico a HTML, eccetto il fatto che esso usa una sintassi XML per descrivere in modo rigoroso le parti di un documento.

From HTML to XHTML

Page 19: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

Web 2.0

• Web Services / API’s• “Folksonomies” / Content tagging• “AJAX”• RSS

Emerging Tech

Apps YouKnow…

• Flickr• Google Maps• Blogging & Content Syndication• Craigslist• Linkedin, Tribes, Ryze, Friendster

Some Apps You Don’t know

• Del.icio.us• Upcoming.org• 43Things.com

Major Retailers

• Amazon API’s• Google Adsense API• Yahoo API• Ebay API

"[This is] not my mom's Internet…It's changing, and it's changing because we're looking at the share-shifting—the time people are looking at TV, reading a magazine, listening to the radio—they're not replacing each other; they're coming together." - AOL Exec / May 2005

Page 20: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

Web 2.0: Evolution Towards a Read/Write Platform

Web 1.0(1993-2003)

Pretty much HTML pages viewed through a browser

Web 2.0(2003- beyond)

Web pages, plus a lot of other “content” shared over the web, with more

interactivity; more like an application than a “page”

“Read” Mode “Write” & Contribute

“Page” Primary Unit of content “Post / record”

“static” State “dynamic”

Web browser Viewed through… Browsers, RSS Readers, anything

“Client Server” Architecture “Web Services”

Web Coders Content Created by… Everyone

“geeks” Domain of… “mass amatuerization”

Page 21: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

A Web service is defined by the W3C as "a software system designed to support interoperable machine-to-machine interaction over a network”. Web services are frequently just Web APIs that can be accessed over a network, such as the Internet, and executed on a remote system hosting the requested services.

The W3C Web service definition encompasses many different systems, but in common usage the term refers to clients and servers that communicate over the HTTP protocol used on the Web:

• "Big Web Services" use XML messages that follow the SOAP standard: a machine-readable description of the operations offered by the service is written in the Web Services Description Language (WSDL); operations are activated through XML messages that are included in an envelope

• RESTful Web services have been regaining popularity, particularly with Internet companies. These also meet the W3C definition, and are often better integrated with HTTP than SOAP-based services. They do not require XML messages or WSDL service-API definitions.

Page 22: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

• An RSS document (which is called a "feed", "web feed”, or

"channel") includes full or summarized text, plus metadata such as publishing dates and authorship. A standardized XML file format allows the information to be published once and viewed by many different programs.

• Web feeds benefit publishers by letting them syndicate content automatically. They benefit readers who want to subscribe to timely updates from favored websites or to aggregate feeds from many sites into one place. RSS feeds can be read using software called an "RSS reader", "feed reader", or "aggregator", which can be web-based, desktop-based, mobile device or any computerized Internet-connected device.

• The user subscribes to a feed by entering the feed's URI into the reader or by clicking an RSS icon in a browser that initiates the subscription process. The RSS reader checks the user's subscribed feeds regularly for new work, downloads any updates that it finds, and provides a user interface to monitor and read the feeds.

RSS is a family of Web feed formats used to publish frequently updated works—such as blog entries, news headlines, audio, and video—in a standardized format.

Page 23: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

• Ajax (Asynchronous JavaScript), is a group of interrelated web

development techniques used to create interactive web applications or rich Internet applications.

• With Ajax, web applications can retrieve data from the server asynchronously in the background without interfering with the display and behavior of the existing page. In other words the page is not reloaded. Typically functions that are requested are written in java script language.

• The use of Ajax has led to an increase in interactive animation on web pages. Data is retrieved using the XML HttpRequest object or through the use of Remote Scripting in browsers that do not support it. Ajax is a multi-platform technique that can be used on many operating systems and web browsers, with many open source implementations.

Page 24: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

Ajax: pagine web rispondono in modo più rapido grazie allo scambio di piccoli pacchetti con il server senza ricaricare l’intera pagina ad ogni modifica utente. I dati extra sono richiesti al server in background senza interferire con la pagina esistente.RS S : è una famiglia di feed formats usati per pubblicare contenuto che viene frequentemente aggiornato (tipo blog entries, podcast…) Un documento RSS contiene un sommario degli aggiornamenti o l’intero testo e viene inviato ai subscribers automaticamente..

Folksonomy: anche detto collaborative tagging; il metodo per creare collaborativamente etichette per annotare il contenuto alternativamente alle tecniche tradizionali di indicizzazione; i metadati sono creati dagli autori e dagli utenti, non da esperti.

Page 25: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

Del.icio.us is an Example of a Site that Uses a “Folksonomy” to Organize Bookmarks

Tags: Descriptive words applied by users to links. Tags are searchable

My Tags: Words I’ve used to describe links in a way that makes sense to me

A “folksonomy” is a spontaneous, collaborative work to categorize links by a community of users. Users take control of organize the content together.

Page 26: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

Flickr is a social network for sharing photos.

Flickr shows me photos from my network

My contacts “tags” are available to me

Flickr combines a social network with user generated content. Users can work together to collaborate on photo projects and use each others’ tags to find new photos. Flickr also has an API for web services to integrate photo collections with blogs and other apps.

Page 27: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

Wikipedia is a Collaborative Dictionary Being Edited in Realtime by Anyone

Page 28: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

Blogging is the Most Recognized Example of Web 2.0

Page 29: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

Web 3.0

• Web 3.0: “the sensor-web, in which the architecture of participation will be an automatic byproduct of the devices we carry around with us.”

• Not providing semantics in the links is one of the main navigational problems of the World Wide Web: It is not until one opens the destination page of a link that one finds out that its content is not of interest.

• Semantic Concept Extraction and Ontology Building is Web 3.0

Page 30: PROGETTAZIONE E PRODUZIONE MULTIMEDIALE ...2010/05/05  · dati da database, manipolazione degli stessi, calcoli, ecc.). E’ una tecnologia abbastanza inefficiente e poco sicura,

A few comments on web 3.0