WEB 2
Transcript
WEB 2
WEB 2.0 Introduzione al Web 2.0 • Il termine web 2.0 indica il passaggio concettuale da siti intesi come contenitori di documenti a veri e propri servizi con cui gli utenti possono interagire (termine coniato da Dale Dougherty, O’Reilly, e Craig Cline, Media Live). • I siti diventano servizi, ovvero hanno un’interfaccia, una facilità e velocità di uso che li rendono simili ad applicazioni dekstop. • “Web 2.0: offerta di software come un servizio sempre aggiornato che migliora all’aumentare del numero di persone che lo usano, utilizzando e rimescolando i dati provenienti da sorgenti diverse, offrendo i propri dati in una forma che ne permetta un facile riutilizzo da parte degli altri, attraverso un’architettura della partecipazione,andando oltre la metafora della pagina tipica del web 1.0 in modo tale da offrire agli utenti una esperienza di utilizzo realmente ricca ed interattiva” (Tim O’Reilly). •I servizi sono sempre disponibili ovunque ci si trovi , qualunque piattaforma si stia usando: basta avere un computer connesso alla rete. • La connotazione sociale di partecipazione e collaborazione sta assumendo un ruolo centrale nella fisionomia del nuovo web. La pubblicazione di contenuti on line evolve verso un contesto di partecipazione; i sistemi di gestione dei contenuti evolvono nei sistemi dei Wiki in cui si incoraggia il contributo da parte degli utenti Social Network • • • • Un gruppo di più persone che possiede un legame, ad esempio di tipo familiare, oppure condivide hobby, interessi, passioni, lavoro e su questi elementi i partecipanti mettono in comune i propri pensieri, le loro idee ed esperienze. L’accento è sulla qualità delle relazioni che ogni individuo che appartiene al social network crea con tutti gli altri membri Un grafo rappresentante un social network potrà possedere all’incirca 150 nodi, corrispondenti al numero massimo di membri con il quale il soggetto si può mettere in relazione all’interno della propria rete sociale. Limite cognitivo al numero di individui con i quali qualunque persona può mantenere una relazione stabile. Elementi principali che caratterizzano un social network • Creazione di un profilo. Sono richieste informazioni sul soggetto che vanno a definire un profilo personale disponibile al pubblico di iscritti • Realizzazione di una catena. I membri del social network possono legarsi tra loro realizzando una sorta di catena tra amici, colleghi di lavoro.. • Gestione dei commenti. Ad ogni profilo può essere abbinato uno o più commenti lasciati da visitatori che hanno consultato la vostra scheda utente. • Ingresso libero o “chiuso”. Nel secondo caso si entra solo se invitati da qualcuno che fa parte della rete. web based services Social networking sites • Sebbene le caratteristiche di questi siti siano differenti, tutti consentono di accedere alla proprie informazioni personali e offrono vari meccanismi di comunicazione (forum, chat room, e-mail, instant messenger) che consentono di connettere gli utenti tra loro. In alcuni siti è possibile ricercare persone anche secondo alcuni criteri. Alcuni altri siti invece hanno comunità o sottogruppi che sono basati su particolari interessi comuni. • Quali sono i rischi di questi siti? I social network sites si basano sullo scambio di informazioni tra i partecipanti, così incoraggiano gli utenti a mettere a disposizione una certa quantità di informazioni personali. La particolare tipologia di questi siti, il desiderio di incrementare le proprie conoscenze, il falso senso di sicurezza ingenerato dalla rete, sono i fattori che spingono gli utenti a fornire una notevole mole di informazioni personali, non tenendo conto che queste possono cadere in mano a malintenzionati. Sono ormai molte le segnalazioni di attacchi conseguenti allo sfruttamento di informazioni personali raccolte in internet. Elenco di servizi di social network • • • • • • Classmate.com Facebook.com Linkednl Match.com Reunion.com Orkut Servizi di social network che hanno altri servizi di condivisione • Offrono agli utenti servizi quali: creazione di un blog personale, inserire musica, condividere fotografie e video. • MySpace • Yahoo!360 • Last.FM • Flickr Linkedln • E’ un servizio orientato al lavoro ed utilizzato per mantenere contatti o instaurare nuove relazioni professionali. • Consente di entrare in contatto con i conoscenti dei nostri contatti, fino al terzo livello di profondità. • Offre la possibilità di relazionarci con persone a noi sconosciute servendoci del bacino di conoscenze che già possediamo. • L’iscrizione avviene fornendo informazioni quali: elenco attività svolte, settore d’impiego, studi effettuati ed una presentazione personale anche in più lingue. • Lista di conoscenze. Si opera una ricerca all’interno di un database (decina di milioni di presenze) rintracciando colleghi di lavoro, collaboratori, partner, fornitori,.. • Si possono invitare nuove persone ad entrare. • Servizio “get a job”. Permette di cercare un impiego anche tramite le mie conoscenze. • Servizio “Publidh your Profile” permette di ottenere un indirizzo web personalizzato che punta alla scheda con il nostro profilo. ww.linkedin.com/in/<nome a scelta> Malgrado abbia avuto uno sviluppo di anno in anno calcolabile al 117% di audience, che lo hanno portato a 19.2 milioni di utenti unici ad agosto, Facebook è rimasto dietro MySpace, che rimane al caposaldo dei social network negli Stati Uniti con 60.3 milioni di utenti unici. Wiki • Un wiki è un sito web (o comunque una collezione di documenti ipertestuali) che permette a ciascuno dei suoi utilizzatori di aggiungere contenuti, come in un forum, ma anche di modificare i contenuti esistenti inseriti da altri utilizzatori. • Il nome wiki deriva da un termine in lingua hawaiana che significa “rapido” o molto veloce”. •La navigazione, all’interno di un wiki avviene attraverso due tecniche. - uso di un motore di ricerca che può funzionare sia per ricerche all’interno dei titoli, sia nei documenti (full text) - utilizzo dei link per passare da un contenuto all’altro (serendipity,ovvero trovare qualcosa in modo fortuito,partendo dalla ricerca su qualcosa di completamente diverso •Campi di applicazione - documentazione tecnica a più mani - gestione della conoscenza all’interno di un’impresa - strumento di raccolta appunti, meeting.. • Wikipedia.Enciclopedia libera che coinvolge milioni di persone. • Mediawiki .Software utilizzato per la scrittura in wikipedia • Tag Folksonomy • Folk (popolo) e taxonomy (tassonomia). • Descrive una categorizzazione collaborativa di informazioni mediante l'utilizzo di parole chiave scelte liberamente. • In maniera più semplice e concreta, questo termine si riferisce alla metodologia utilizzata da gruppi di persone che collaborano spontaneamente per organizzare in categorie le informazioni disponibili attraverso internet (in contrasto con i metodi di classificazione formale ,in particolare con la tassonomia classica). • procedura è semplice ed efficace. A ogni inserimento di un nuovo link, immagine o altro dato, l'utente appone una o più parole (tag) che descrivono e classificano il contenuto. E' grazie a queste informazioni aggiuntive che in seguito sarà possibile gestire e richiamare in maniera selettiva e versatile i dati che ci servono, pescando tra i nostri e quelli degli altri: le "folksonomy" traggono infatti forza anche e sopratutto dal numero e dalla condivisione. Flickr (www.flick.com) • sito dedicato alla pubblicazione e alla condivisione delle foto (www.flickr.com/photos/<username). Uno dei motivi non secondari del successo di Flickr è il cosiddetto "tagging". La possibilità cioè di apporre alle immagini una o più parole chiave che diventano patrimonio pubblico di tutti gli utenti: per esempio per cercare immagini su un certo argomento, oppure navigando liberamente fra i tag, scorrendo la pagina dove sono evidenziati i tag più popolari. Questa caratteristica ha trasformato quello che poteva rimanere un semplice archivio in uno strumento di social networking e sopratutto di (ri)organizzazione versatile delle informazioni e dei dati a misura d'utente. •Geotagging. Possibilità di georeferenziare una fotografia, ovvero informare su dove sia stata scattata inserendo le sue coordinate topografiche per poterlo ritrovare all’interno di una mappa (mashup con una piattaforma di cartografia terrestre, Yahoo! Maps). Social bookmarking • Possibilità di raccogliere i “preferiti” o “segnalibri” sul tramite il browser (raccolti in cartelle).Sono “in locale”. • Social bookmarks (segnalibro)per raccogliere non più in locale, ma su un sito in Internet. • Classificazione usando i tag. • Vantaggi: accesso da qualunque luogo, maggiore protezione nei confronti di virus o cancellazione accidentale,facilità di organizzazione,condivisione dei preferiti con altri utenti della rete. del.icio.us • (http://del.icio.us) Dal 2003 il sito offre la possibilità di organizzare i propri preferiti all’interno di uno spazio remoto, catalogarli, etichettarli e gestirli in modo semplice ed immediato WIDGET • Svolgono semplici operazioni fornendo servizi. Sono definiti all’interno delle pagine web, integrati in blog,wiki o portali. • Esempi: box che si sincronizza con un portale meteo, ricercare all’interno di alcune banche dati ottendo il risultato su una finestra locale senza aprire la pagina web, consultare le borse etc.. • Sono nati siti web per la raccolta dei widget. Esempio:Yahoo! Widget, Google Gadgets, Microsoft Gadgets Mashup e WebAPI • Applicazione che sfrutta informazioni o servizi offerti da più siti web. • Deriva dall’ambito musicale. Indica un genere musicale derivato dall’unione di più brani. • Si può realizzare sfruttando i feed rss. Si può creare un sito web all’interno del quale vengono raccolti i feed rss dei maggiori portali dedicati ad uno specifico argomento. • Un’ altra tecnica di aggregazione di contenuti si ottiene utilizzando le API di applicazioni rese disponibili dai gestori. • L’uso delle webAPI è caratterizzato da due aspetti: - La semplificazione delle specifiche fornite - La gratuità e la libertà del loro utilizzo • I portali che offrano web API sonmo in continuo aumento. Tra questi: Amazon,e-Bay, Google, Yahoo!,YouTube.. • Google Maps. Servizio per la consultazione della cartografia terrestre. Immagini satellitari e cartografia stradale. • www.google.com/apis/maps. E’ possibile registrarsi al servizio e consultare la documentazione che illustra come integrare le mappe all’interno di un sito web • Vantaggio: aggiornamento del servizio a carico di Google •Esempio di uso di mashup con google maps: . Deriva da due servizi: • Craiglist (http://sfbay.craigslist.org) che offre un servizio di gestione immobiliare sul territorio degli Stati Uniti • Google Maps • I due servizi sono stati fusi all’interno di HousingMaps (www.housingmaps.com) RSS (Really Simple Syndication) • E’ uno dei più popolari formati per la distribuzione di contenuti web; è basato su XML. Ciò significa che i contenuti pubblicati all’interno di un sito web possono essere formattati con un linguaggio standard come XML e messi a disposizione all’interno di un file per la ripubblicazione su altri siti web o gestione attraverso differenti media. • Parole associate comunemente a RSS:syndication, feed, channel • Oggi RSS è lo standard de facto per l'esportazione di contenuti Web. . Syndication: . • modello syndication : l'affidamento dei testi a un'agenzia che provvede a distribuirli a siti e riviste. • Il concetto centrale è quello della redistribuzione e del riuso dei contenuti • La parola è usata anche per un sistema di collaborazione e collegamento tra reti televisive o radiofoniche. Una rete produce un programma e poi lo distribuisce su un certo numero di stazioni locali Feed • Tipo di contenuto frequentemente aggiornato pubblicato da un sito web. Utilizzato per i notiziari web, blog, contenuti digitali (immagini, audio o filmati). • Un feed può presentare gli stessi contenuti di una pagina web , ma in un formato spesso diverso • Possono essere utilizzati per fornire contenuti audio, generalmente in formato MP3, da ascoltare direttamente dal computer o tramite lettore MP3 (podcasting) Channel Mezzo trasmissivo per l’informazione contenuta nel feed. Nel dicembre 2005, il dizionario americano New Oxford ha dichiarato Podcasting "parola dell'anno", definendo il termine come "registrazione digitale di una trasmissione radiofonica o simili, resa disponibile su internet con lo scopo di permettere il download su riproduttori audio personali". Podcasting è un neologismo basato sulla fusione di due parole: iPod (il popolare riproduttore di file audio MP3 di Apple), e broadcasting. Il termine nacque quando l'uso dei feed RSS divenne popolare per lo scambio di registrazioni audio su computer, palmari, lettori di musica digitale e anche telefoni cellulari. • Per accedere ai contenuti disponibili in RSS occorre installare sul proprio pc un RSS Reader (aggregatore) scaricabile direttamente dal web. Ne esistono diversi tipi, disponibili sia gratuitamente sia a pagamento. •Esempi: - Feed Reader (Microsoft) - Akregator (Linux) - Sage (Mozilla, Firefox) • Dopo aver scaricato e installato il programma sul pc basta aggiungere l'indirizzo dei feed prescelti. Per fare questo occorre cliccare col tasto destro del mouse sul pulsante RSS, scegliere "copia collegamento" e incollare il link nell’aggregatore appena installato. . • Un documento RSS è conforme alla specifica di XML 1.0 e deve essere pertanto ben formato. • Esistono diverse versioni di RSS: RSS 91, 92 93, 94 RSS 1.0, RSS 2.0. • Nonostante le differenti implementazioni delle diverse versioni, i documenti RSS condividono tutti la stessa struttura di base. <?xml version="1.0"?> <rss version="0.91"> <channel> <title>HTML.it News</title> <link>http://webnews.html.it/</link> <description>Le News di HTML.it sul mondo Hi-Tech</description> <item> <title>Italiani: senza fili e senza banda</title> <link>http://webnews.html.it/news/1066.htm</link> <description>L'Italia si conferma il paese europeo con la maggior presenza di telefonini. Tutt'altra storia, invece, per la banda larga.</description> </item> </channel> </rss> • elemento radice. È quello che deve contenere tutti gli altri elementi. • elemento <channel> con i suoi sottoelementi. Quelli richiesti sono tre e definiscono le informazioni essenziali sul canale: <title> definisce il nome, <link> il suo URL, <description> fornisce una descrizione sintetica. • All'interno di <channel>, trovano posto i vari <item> che compongono un feed: corrispondono ai post di un weblog, alle notizie di un sito di news, etc. La gestione di un singolo item (cosa pubblicare e come) è riservata all'autore. Si può decidere di fornire solo l'URL e il titolo, per esempio. O aggiungere una descrizione. Questa potrà essere una sintesi di un articolo, un estratto contenente solo la prima parte o il testo completo. Nessuno di questi elementi è obbligatorio, ma lo schema tipico è quello riportato qui sopra. • Altri metadati possono arricchire l'informazione: l'autore, la data di pubblicazione, la categoria o l'ambito semantico di appartenza, etc. Il numero di item presenti in un feed, infine, è una libera scelta dell'autore. Interpretazione di un documento RSS • Un'applicazione in grado di interpretare un documento RSS ne effettua il parsing, ovvero una scansione del documento che individua i tag e isola i diversi elementi. • Un feed reader è un programma in grado di effettuare il download di un feed RSS (è sufficiente che l'utente indichi al programma l‘URL del feed), effettuarne il parsing e visualizzarne i contenuti in base alle preferenze dell'utente (es..può estrarre i titoli di tutti gli elementi item per visualizzare la lista degli articoli di un giornale online), •Spesso i feed reader sono dotati di funzionalità avanzate; ad esempio sono in grado di rilevare automaticamente se il produttore del feed ha effettuato aggiornamenti al feed stesso, effettuandone il download a intervalli di tempo regolari • Un aggregatore Web può estrarre i contenuti del feed per convertirli in linguaggio html e incorporarli all'interno delle proprie pagine. . Ci sono molti feed reader in circolazione: alcuni sono applicazioni stand-alone, altri funzionano come plug-in all'interno di altri programmi (ad esempio plug-in per programmi di posta elettronica o browser Web). Altri sono applicazioni in grado di convertire un feed RSS in una serie di post in formato leggibile dai più popolari newsreader (come, ad esempio, Mozilla Thunderbird, Forté Agent, et cetera): un esempio di questi software è nntp//rss, oppure RSS Feed Converter uno script per il popolare mail-newsserver Hamster. Un esempio di feed reader stand alone è, invece, FeedReader, programma free (distribuito con licenza GNU GPL) per piattaforme Microsoft Windows. Nella parte sinistra dell'interfaccia è mostrato l'elenco dei feed impostati dall'utente; nella parte in alto a destra l'elenco dei singoli contenuti del feed selezionato; nella parte principale l'intero contenuto testuale di un articolo. Alcuni feed reader, come ad esempio RssFeedEater, un programma shareware per Windows, permettono anche di inviare via mail o di scrivere su un blog le informazioni ricevute dai feed. Altri esempi di feed reader stand-alone e gratuiti ma per piattaforme Linux/GNUstep sono: Ticker o Liferea (LInux FEed REAder). Ci sono poi lettori di feed con molte funzionalità aggiunte: GreatNews permette di aggregare anche i commenti all'interno del post (sui blog che rendono disponibili i commenti via RSS Scenario Web __________________________________________________________________________________________________________________________________________________________________ _ CLIENT: visualizzazione grafica dinamica e possibilità di fare semplici elaborazioni in locale SERVER: linguaggi dedicati e pagine aggiornate dinamicamente a partire da sistemi informativi Modello potente e dalle grandi potenzialità Scarsa interattività e lunghe attese per l’utente Forte sbilanciamento verso il server • Modello di funzionamento: - Richiesta di una pagina da parte di un utente attraverso un browser. - Risposta da parte del server che inoltra la pagina contenente le informazioni che possono essere statiche o dinamiche. • .Tempo di attesa. Importanza del suo valore. • Velocità di risposta dipende da: - Rete - Carico del server - Quantità di dati che devono essere trasferiti prima di poter presentare il contenuto richiesto all’interno del browser. • La maggior parte delle informazioni inoltrate dal server al client sono ridondanti rispetto a quelle già presenti a seguito della richiesta della pagina precedente:es. la struttura grafica con le immagini. • Nuovo modello: al momento del caricamento di una pagina verrà richiesto al server di inoltrare unicamente quei dati che sono necessari senza effettuare ricaricamento di contenuti già disponibili e che non devono essere modificati. • Esempio:compilazione di un modulo all’interno di una pagina. Controlli eseguiti da un programma Javascript per verificare la correttezza. In caso di compilazione errata o non completa il programma segnala errore e provvede a caricare di nuovo l’intera pagina. Con il nuovo modello viene caricato il messaggio che illustra il problema riscontrato e non tutta la pagina (immagini comprese). Web 2.0 _____________________________________________________________________________________________________________________________35 ___________________________________ _____________________________________________________________________________________________________________________________35___________________________________ ___ OBIETTIVO REALIZZARE APPLICAZIONI WEB COME APPLICAZIONI DESKTOP “Web Rich Application” Applicazioni ricche, dinamiche e veloci Necessità di forte interattività Niente più attese per l’utente Ajax & Web 2.0 __________________________________________________________________________________________________________________________________________________________________ _ Asynchronous JavaScript And XML Nuovo modo di concepire e creare le applicazioni Web Tecnica recente (Febbraio 2005) che offre qualcosa di nuovo dal punto di vista dell’utente anche se... ...in realtà è un insieme di tecnologie già note Ajax: che cos’è? __________________________________________________________________________________________________________________________________________________________________ _ Non è nè un linguaggio di programmazione, nè una nuova tecnologia È uno stile architetturale composto da diverse tecnologie già note: • HTML e CSS: presentazione e visualizzazione • DOM: aggiornamento dinamico • XML – JSON: scambio e codifica dei dati • JavaScript: interazione asincrona Quale è la NOVITÀ? Interazione asincrona con il server Natura “start/stop/start/stop” Flusso di lavoro continuo senza attese Ciclo richiesta/risposta sincrono Refresh completo della pagina: utente costretto a lunghe attese Ciclo richiesta/risposta asincrono, richieste in background Refresh parziale della pagina: nessuna attesa per l’utente Ajax: modello __________________________________________________________________________________________________________________________________________________________________ _ CLIENT piattaforma programmabile Non più solo rendering Ajax-engine: intermediario fra client e server Trasparente all’ utente Gestisce la comunicazione asincrona Gestisce l’interfaccia utente SERVER evoluzione del ruolo Aumento potenza di elaborazione Interfacciamento con altri sistemi Trasmette al client solo i dati strettamente necessari Esempi di uso di AIAX • Google suggest. Nuova funzione integrata all’interno della pagina di ricerca di Google ( e nella toolbar installabile all’interno del proprio browser)che offre un suggerimento sui termini che si stanno inserendo all’interno del motore. • Prima che venga inoltrata una richiesta al server, vengono presentate possibili chiavi di ricerca compatibili con le parti di testo fino a quel momento digitate. • Google Maps. Le immagini satellitari vengono richieste al server a seguito di una azione dell’utente (zoom, sposta a destra, sposta a sinistra..) senza effettuare il ricaricamento della pagina intera. Nuovo modello, nuovi problemi __________________________________________________________________________________________________________________________________________________________________ _ Le applicazioni Ajax sembrano risolvere tutti i nostri problemi, ma non è così! 1. Complessità: bilanciamento fra logica lato client e lato server 2. Compatibilità: gestione dei diversi browser 3. Sicurezza: facilità di scrivere codice non sicuro e facilmente accessibile 4. Sovraccarico del server: specialmente in applicazioni real-time è un rischio molto concreto Evoluzione di Ajax: Comet __________________________________________________________________________________________________________________________________________________________________ _ AJAX » polling verso il server Il client ad intervalli regolari interroga il server per sapere se ci sono aggiornamenti Approccio integrato Una connessione per ogni richiesta Bassa frequenza di aggiornamento: dati non aggiornati Sovraccarico del server Combinare le due tecniche COMETdi » entrambe push verso il server per avere i benefici Il client chiede al server di notificargli gli aggiornamenti non appena i dati vengono aggiornati Unica connessione per tutte le richieste Alta frequenza di aggiornamento: dati sempre aggiornati Considerazioni finali __________________________________________________________________________________________________________________________________________________________________ _ Tecnologia...ancora acerba, ma dalle e in futuro? grandi potenzialità per il futuro Standardizzazione Problemi di gioventù legati alla scarsa compatibilità con cross-browser le applicazioni già Compatibilità esistenti Applicazioni desktop sul Web Limiti legati al protocollo HTTP sottostante vedi “polling” verso il server SaaS( Software as a Service) • Si migrano gli applicativi software dal proprio desktop su un server remoto rendendolo accessibile tramite apposite interfacce web. • Tipologie di SaaS: - Software per gli utenti: spesso forniti in forma gratuita, sono la riproduzione on line degli strumenti maggiormente utilizzati in ambito domestico - Software per le imprese:sono soluzioni solitamente offwrte a pagamento, mirate e personalizzabili Office 2.0 • “Immaginate un computer che mai si blocca e che mai viene infettato da virus. Un computer sul quale mai dovrete installa re un solo software e che vi segue ovunque: a scuola, al lavoro,all’estero o a casa” (Office 2.0 Conference-2006). • Il browser diventa l’unico software utilizzato all’interno del PC • Attività collaborativa on line SaaS • Gestione dei Bookmarks del.icio.us,Google Bookmarks,,Yahoo! My Web, ma.gnolia,Blinklist • Calendario Google calendar(calendar.google.com), calendarHub, Jotlet, Spongecell, Vivapop • Gestione contatti Lingednl (www.linkedin.com), OpenBC,Plaxo,Plugoo • CRM SugarCRM(www.sugarcrm.com), Salesforce.com • Email Gmail(gmail.google.com), Hotmail,Yahoo!Mail • Feed reader Google reader(reader.google.com), Feeds2.0, Bloglines • Presentazioni Zoho Show (www.zohoshow.com/),Slideshare,Spresent • Spreadsheet Zoho Sheet (www.zohosheet.com/), Google spreasdsheat • Weblog WordPress, Blogger,TypePad • Wordprocessor Writely (docs.google.com/), Zoho Writer • Orangoo(orangoo.com/spell) Controllo ortografico in 27 lingue • Thinkfree (www.thinkfree.com) Integra i tre programmi di ufficio: word editor,foglio di calcolo,software per la realizzazione di presentazioni Google e i SaaS • Gmail • Notebook (www.google.com/notebook) Versione online del blocco degli appuni cartaceo. • Picasa Web Album (picasa.google.com) Archivio fotografico, presentazioni,condivisione foto in un’area condivisa. • Google Docs Word processor e foglio di calcolo • Google spreadsheets • Google Calendar Webdesktop • YouOS, EyeOS, Desktoptwo, FlexOS, PageFlakes • Software del tipo SaaS in grado di svolgere molte delle funzioni comunemente svolte da un S.O del tipo desktop (Gestione dei files, autenticazione, e-mail, Open-office etc.. •Teoricamente dovrebbero sostituire il proprio S.O desktop