Il web 2.0

I parte: principi e tecnologie, una visione introduttivadi e

Da quando è stato introdotto nel 2004, il termine Web 2.0 è stato al centro di molteplici dibattiti e fonte di confusioni e fraintendimenti.

Prescindendo dagli abusi che si possono fare del termine, il tema è di straordinario interesse, ha impatti sociali e tecnologici ed ha evidenti punti di sovrapposizione e sinergia con tematiche in qualche misura più ?seriose? come SOA ed il Semantic Web.

Nella serie di articoli che seguiranno, analizzeremo il tema cercando di scindere gli aspetti tecnologici e sociali da quelli meramente di marketing.

Cosâ??è il Web 2.0 ?

Il Web 2.0 non è un software specifico, una tecnologia o un marchio registrato da qualche vendor, bensଠuna sigla che identifica un insieme complesso di concetti ed approcci innovativi allâ??utilizzo di Internet.
Il termine è stato coniato da O‘Reilly Media nel 2004 (vedere [ORWIW2.0]) per definire un nuovo insieme di tecniche e filosofie di fruizione del Web. Da allora il termine è diventato un neologismo di gran moda, sebbene molti illustri commentatori (es. Tim Berners-Lee) ancora oggi lo ritengano sostanzialmente privo di concreto significato.
Con la numerazione 2.0, Oâ??Reilly intendeva chiaramente rimarcare la presenza di una â??nuova piattaformaâ? Web, fatta di maggiore interattività  e con meccanismi di fruizione più avanzati di quelli offerti dai tradizionali siti Web, dallâ??e-mail e dai motori di ricerca (retroattivamente indicati come Web 1.0).
Nello scenario Web 2.0 si arriva alla rottura della navigazione lineare e l‘informazione può di fatto essere modificata o â??re-mixataâ? da chiunque: in sostanza, i dati diventano â??indipendentiâ? dalla persona che li produce o dal sito in cui vengono creati e l‘informazione può essere fruita liberamente, anche in modalità  non previste allâ??origine.
Questa evoluzione non si basa in realtà  su di un aggiornamento tecnologico del Web, ma si sviluppa soprattutto dal grande successo in Rete di nuovi modelli di proposizione di contenuti, essenzialmente basati sulla partecipazione democratica degli utenti, stimolati a collaborare e ad aggiungere contenuti e valore collettivo (per alcuni il Web 2.0 è il â??participatory Webâ?).
Si è quindi in presenza di una trasformazione dei siti Web da silos di informazioni più o meno isolati (e presidiati da personale tecnico) a sorgenti di contenuti e funzionalità  base per applicazioni Web e nuovi aggregati di informazione (alimentati da utenti non necessariamente di estrazione tecnica): in sintesi, la Rete come piattaforma.
Potremmo citare moltissimi esempi di applicazione di questi principi, ma rifacendosi alla catalogazione di Tim Oâ??Reilly, le applicazioni che maggiormente incarnano lo spirito Web 2.0 sono quelle che effettivamente possono esistere â??soloâ? grazie a Internet in quanto devono gran parte delle loro potenzialità  alla collaborazione organizzata di un grandissimo numero di utenti (social networking). In tal senso, sono ottimi esempi eBay, MySpace, del.icio.us e Wikipedia.
MySpace è un chiaro esempio di â??comunità  virtualeâ? Web 2.0, in quanto offre ai suoi utenti blog, profili personali, gruppi, foto, musica e video. Ciascuno può creare una propria pagina inserendo informazioni sui propri interessi e le proprie attività , linkandola alle pagine di amici o persone con cui ha interessi in comune.
Oltre alla componente ludica, grazie a comunità  come MySpace si ha la straordinaria possibilità  di comunicare con importanti quote di â??mercatoâ?, in modo diretto, democratico ed eliminando scomodi intermediari: storico è il successo ottenuto dal gruppo musicale Arctic Monkeys prima ancora di stampare un CD grazie alla comunità  di MySpace.


Figura 1: Esempio di MySpace

Altri ottimi esempi delle potenzialità  associate alla modalità  partecipativa Web 2.0, sono le applicazioni di Social Bookmarking (es. del.icio.us, Technorati e Digg). Lâ??idea alla base di queste applicazioni è semplice quanto efficace: gli utenti catalogano le risorse Internet che ritengono utili ed interessanti sulla base di categorie informali arbitrarie (dette tag), il tutto viene messo a disposizione della rete.


Figura 2: Esempio di del.icio.us

Di fatto quindi gli utenti contribuiscono a creare un repository complesso di bookmark condivisi, catalogati mediante categorie arbitrarie, ma tendenzialmente comprensibili dagli altri utenti. Tali categorie non sono formalmente definite da un ente terzo (con tutti i limiti di tale approccio, es. malicious tagging, mistagging indotti da sinonimi o errori o plurale/singolare, â?¦), ma nascono dagli utenti e tipicamente derivano direttamente dal linguaggio della Rete, perennemente in divenire (per questo vengono definite folksonomies, cioè folk + taxonomy).
Tutte le applicazioni di Social Bookmarking consentono in varia forma di sfruttare la classificazione per identificare i tag più diffusi, la quantità  di bookmark associata ad una risorsa (e quindi il suo livello di interesse) oppure di navigare i link di utenti che hanno interessi analoghi. In sintesi, le applicazioni di Social Bookmarking diventano un punto di partenza per lâ??esplorazione della Rete del tutto alternativo ai tradizionali motori di ricerca. Da questo punto di vista il tagging ha avuto un enorme successo consentendo agli utenti della Rete di muoversi allâ??interno di risorse organizzate in modo intuitivo e non più in uno sconfinato mare di anonimi link (vedere anche [MOKAW2.0]).
Per rappresentare in modo efficace i tag utilizzati in un certo ambito e trasmettere al contempo la loro diffusione, viene utilizzata la rappresentazione a tag clouds: sostanzialmente una lista ordinata di tag pesati in funzione della loro frequenza dâ??uso. Tale rappresentazione è talmente in voga da essere spesso utilizzata in Rete per rappresentare i risultati di una generica analisi testuale.


Figura 3: Esempio di Text Clouds

Uno degli ambiti in cui la modalità  partecipativa sembra fornire potenzialità  maggiori è il cosiddetto Mashup (o Web Mashup). Sostanzialmente con questo termine si indica una Web Application che fornisce un â??nuovoâ? servizio attraverso la combinazione/integrazione di più sorgenti dati esistenti. Non stupisce che il termine derivi dalla cultura musicale, ambito in cui la generazione di nuovi contenuti a partire dal â??remixâ? di elementi già  esistenti, è forma dâ??arte consolidata da tempo (es. nella musica popolare giamaicana, ska e reggae e nellâ??hip hop a tutte le latitudini).
Il Mashup è lâ??evidente sintesi di alcuni dei principi cardine del Web2.0 citati in precedenza: il Web è una piattaforma, il fondamento del Web sono i dati, la partecipazione degli utenti alla creazione dei contenuti crea ricchezza e rende possibili nuovi modelli di business.
I principi citati si scontrano ad oggi con un dato di fatto: il Web è composto da oggetti (le pagine HTML) pensati per gli esseri umani, non per le macchine. Come posso quindi aggregare questi elementi per fornire nuovi servizi?
Ad oggi esistono più possibili risposte: attraverso API appositamente fornite (un approccio â??programmaticoâ?), attraverso specifici Software che effettuano Screen Scraping delle pagine originarie (es. estraendo dati) o combinando Web Feeds (es. RSS, Atom).
Lâ??interesse per il Mashup è tale che molti grandi nomi forniscono già  oggi API manipolabili da Javascript, tra questi possiamo citare Amazon, eBay, GoogleMaps, Flickr, Yahoo e del.icio.us (per un elenco delle API più usate si veda lâ??immagine seguente tratta da [API_DASHBOARD]).


Figura 4: Top API for Mashups

Uno degli esempi più citati di Mashup è ChicagoCrime.org, che fornisce unâ??applicazione che aggrega il sito del Chicago Police Department con GoogleMap, fornendo una mappa navigabile dei vari crimini commessi nelle differenti zone della città .


Figura 5: www.chicagocrime.org

Il sito nasce da unâ??iniziativa no-profit, ha vinto molteplici premi ed ha raggiunto picchi di traffico superiori al milione di hit per mese. ChicagoCrime è solo un esempio, in rete si possono trovare elenchi infiniti (in perenne aggiornamento) di applicazioni Mashup (es. [WEB_MASHUP] e [PROGRAMMABLE_WEB]).
Ovviamente, in parallelo, fioriscono nuove generazioni di strumenti destinati allo sviluppo di Mashup da parte di utenti non tecnici; esempi in qualche misura riconducibili al tema mostrano approcci assai differenti, in alcuni casi Server-Side (es. Dapper, JackBe, DataMashups.com), in altri Client-Side (es. Greasemonkey e Platypus).
Ovviamente il Mashup apre anche notevoli problemi e solleva ancora dubbi sullâ??applicabilità  in ambito Enterprise, in particolare sono facilmente ipotizzabili problematiche legali e di Sicurezza per chi fornisce un servizio senza avere un reale controllo sullâ??uso che ne verrà  fatto (per questa ragione, Yahoo inizialmente bloccò alcune iniziative di Mashup). Nonostante questi limiti e nonostante le applicazioni attuali siano essenzialmente di marketing e ricerca, in molti cominciano a credere che nel Mashup ci siano notevoli possibilità  di Business.
Da questa breve panoramica, è evidente come allâ??interno dellâ??espressione Web 2.0 confluisca un po‘ di tutto: community, social networking, prodotti e tecnologie, open source, nuovi modi di utilizzare la rete, pagine Web come applicazioni. Per avere unâ??idea della complessità  di temi associabili al termine Web 2.0 si faccia riferimento alla figura sottostante tratta da Wikipedia.


Figura 6: Il Web 2.0

Dalla figura precedente è semplice desumere come il termine Web 2.0 sia concettualmente in bilico tra la â??buzzwordâ? e lâ??inizio di una numerazione utilizzabile nel futuro (auspicando una razionalizzazione della stessa).


Figura 7: Evoluzioni del Web [WP_WEB2.0]

Principi, strumenti e tecnologie Web 2.0

Per evitare il rischio di fraintendimenti è bene cercare di fornire una definizione più rigorosa del termine e quindi non si può non fare riferimento al colloquio di apertura della prima Web 2.0 Conference.

In quella sede, Tim O‘Reilly e John Battelle hanno riassunto i principi chiave del Web 2.0: (vedere [ORWIW2.0])

  • Il Web inteso come piattaforma;
  • I dati sono la forza trainante (i dati sono il prossimo â??Intel Insideâ?);
  • Servizi, non pacchetti Software;
  • Effetti â??a reteâ? generati dalla partecipazione e grazie alla collaborazione degli utilizzatori (architetture partecipative);
  • Diritto di creare nuove funzionalità  attraverso il â??remixâ? di fonti dati distribuite e indipendenti (adozione collettiva e non restrizione privata, â??Some rights reservedâ?);
  • La fine del ciclo di approvazione del software (â??la beta perpetuaâ?);
  • Software sopra il livello del singolo dispositivo (il PC non è più lâ??unico device di accesso alle applicazioni Web);
  • Sfruttamento dellâ??intelligenza collettiva;
  • â??The long tailâ? (i piccoli siti rappresentano il grosso del contenuto Internet, puntare sul customer self-service e sui dati per raggiungere â??la lunga codaâ? e non solo â??la grande testaâ?).

Oltre ai principi sopra elencati, il Web 2.0 sfrutta un insieme di concetti/tecnologie ben precise (es. AJAX e RSS) e si basa su di una nuova generazione di strumenti per il Web (Wiki). Andremo ad esaminare nel dettaglio questi elementi nei prossimi articoli, ma è bene precisare fin da ora, che tutti questi elementi concorrono per una quota parte al raggiungimento dei livelli di ricchezza e flessibilità  richiesti dalla â??nuovaâ? piattaforma Web.
Il Wiki è sicuramente il motore che ha dato il contributo principale al â??fenomeno Web 2.0â?.
Banalizzando la questione, il Wiki è uno strumento con il quale è possibile inserire facilmente e senza bisogno di assistenza esterna, informazioni sul proprio sito Web potendo interagire in modo semplice e potente con clienti, partner, colleghi, collaboratori e amici.
La parola Wiki è una forma contratta di wiki wiki (weekie, weekie) derivante dal gergo Hawaiano e sinonimo di veloce/rapido (a volte il termine viene interpretato come acronimo di â??What I Know Isâ?).
Un Wiki è sia un sistema di Content Management (CMS) sia un repository collaborativo di documenti ipertestuali che consente ad ogni utilizzatore (previa autorizzazione) di aggiungere contenuti (analogamente ad un forum), ma anche di modificare i contenuti esistenti.
In sintesi, un Wiki permette di scrivere collettivamente documenti in un semplice linguaggio di markup utilizzando unicamente un browser Web tradizionale.
Tipicamente un Wiki è basato su tradizionali tecnologie Web (es. Java, Php, MySql e Apache), ma consente un interazione completamente differente rispetto ai tradizionali siti (e questa è la vera innovazione).
Con un Wiki è possibile editare la pagina, aggiungere file in attachment (come immagini, documenti, risorse) e aggiungere commenti alla pagina. Bello, facile e interattivo.
Lâ??esempio piuâ?? significativo di utilizzo di un Wiki è Wikipedia.


Figura 8: Wikipedia

Wikipedia è stata fondata nel 2001 ed è unâ??enciclopedia collaborativa su Web aggiornata su base volontaria (cinque milioni di voci in ducento lingue e può contare su oltre cento mila utenti-redattori).
Wikipedia è diventata un contenitore universale per la conoscenza grazie al contributo volontario di milioni di utenti che nel tempo hanno inserito le informazioni, strutturato le categorie, modificato i template e ragionato sulle forme del sapere da inserire (perfetto esempio di sfruttamento dellâ??intelligenza collettiva). In un certo senso, il Wiki è la colla della conoscenza, perchà© la tiene legata insieme e ne fornisce un senso di contesto più ampio.
Il Wiki ha ormai pervaso Internet ed esistono molteplici tools basati sulle più disparate tecnologie; molti di questi sono open source (vedere WIP-WK]).
Nel prossimo articolo vedremo alcuni esempi di utilizzo di Wiki open-source Java.

SOA e Web 2.0

I termini SOA e Web 2.0 possono essere trattati a livelli assai differenti ed in qualche misura, non identificando tecnologie/modelli precisi, possono essere fonte di molti fraintendimenti. Non stupisce quindi che in Rete siano presenti molteplici dibattiti che tentano di porre in relazione le due definizioni, in alcuni casi trattandoli come temi contrapposti, in altri casi esaltandone le similitudini.

I due temi hanno evidenti aree di sovrapposizione ed obiettivi in comune, fermandosi agli aspetti più eclatanti potremmo dire che entrambi:

  • hanno tra gli obiettivi uno scenario di servizi distribuiti, autonomi e componibili, sostanzialmente privi delle tradizionali suddivisioni in silos informativi;
  • ritengono i dati la forza trainante, allargando il concetto oltre i confini dei tradizionali Database;
  • sono orientati alla qualificazione ed alla valorizzazione dellâ??esistente;
  • puntano a fornire gli elementi base per la costituzione di processi â??people-centricâ?.

A partire da queste considerazioni molti osservatori si spingono addirittura a ritenere Web 2.0 come unâ??istanza di SOA, semplicemente applicata al massimo scenario possibile (il Web), arrivando a formulare la semplice equazione: Web 2.0 = Global SOA. In altre parole, SOA si applica concettualmente alle organizzazioni (nei confini sanciti da Firewall e VPN), mentre Web 2.0 pervade lâ??intero Web (Global SOA quindi).
Non si può però negare che tra i due â??modelliâ? siano ravvisabili significative differenze, citando solo le principali:

  • Web 2.0 enfatizza aspetti sociali del tutto estranei a SOA;
  • SOA enfatizza gli aspetti di governance, management e presuppone un controllo centralizzato, laddove Web 2.0 suggerisce un approccio liberamente decentralizzato;
  • Web 2.0 si concentra molto sugli aspetti di Presentation e punta ad un approccio decisamente informale.

Da questo riepilogo risulta abbastanza evidente come i due temi nascano allâ??interno di comunità  differenti e per certi versi complementari: la Rete in un caso, la più â??seriosaâ? comunità  Enterprise nellâ??altro. Al di là  delle similitudini e delle differenze riscontrabili, gli aspetti che più ci paiono interessanti sono le sinergie che si svilupperanno in questi ambiti. In particolare paiono ricchi di opportunità  gli aspetti del Web 2.0 che possono in qualche misura arricchire e completare il modello SOA (es. client RIA per architetture SOA, Mashup adeguati al mondo Enterprise con supporto alla Governance, â??loose-couplingâ? a livello utente, â?¦). Analoghe sinergie si possono immaginare con lo scenario Semantic Web.
Prendendo per buone le previsioni fatte da illustri osservatori come Gartner e Forrester, entro i prossimi due anni la maggior parte degli sviluppi Software (SOA e non) sarà  basato su tecnologie Web, allâ??interno ed allâ??esterno dei tradizionali confini delle organizzazioni. Questo ridurrà  decisamente i confini tra ciò che è Web e ciò che è Enterprise e quindi anche tra gli ambiti Web 2.0 e SOA, ma soprattutto renderà  inevitabile per ogni organizzazione IT il confronto con questi temi.

Conclusione

In questo articolo abbiamo provato ad introdurre i principi base e le tecnologie riconducibili allâ??immenso calderone etichettato con Web 2.0.


Figura 9: Web 2.0 [http://web2.wsj2.com]

Andando oltre le semplici definizioni e prescindendo dalle inevitabili confusioni che scaturiscono in questo ambito, abbiamo provato a posizionare il tema in relazione al modello SOA. Le evidenti similitudini riscontrabili, ma ancor più le possibili sinergie, portano a concludere che il Web 2.0 pervaderà  il â??seriosoâ? mondo Enterprise arricchendo e complementando il modello SOA; in sintesi: nessuna organizzazione IT potrà  evitare il confronto con questi modelli, con queste tecnologie e con queste tendenze di mercato.


Figura 10: SOA and Web2.0 [http://web2.wsj2.com]

Nei prossimi articoli andremo ad esaminare in maggiore dettaglio e con taglio pratico i tasselli principali del complesso mosaico Web 2.0.

Bibliografia

[MOKA_SOA] M. Piraccini & S. Rossini: Corso SOA: MokaByte N.100, 101, 102, 103, 104, 105, 106, 107, 108, 109

[MOKAW2.0] A. Brandolini - Il punto sul Web 2.0 - Mokabyte N.116-Marzo 2007

[ORWIW2.0] T. O‘Reilly: "What Is Web 2.0: Design Patterns and Business Models for the Next Generation of Software"

[WIKIPEDIA] http://www.wikipedia.org/

[API_DASHBOARD] http://www.programmableweb.com/apis

[WEB_MASHUP] http://www.webmashup.com

[PROGRAMMABLE_WEB] http://www.programmableweb.com

[WP_WEB2.0] http://it.wikipedia.org/wiki/Web_2.0

[WP_WK] http://it.wikipedia.org/wiki/Wiki

[WPMS] http://it.wikipedia.org/wiki/Myspace

[WP-EB] http://it.wikipedia.org/wiki/Ebay

[WPDG] http://it.wikipedia.org/wiki/Digg

[WK_BL] http://it.wikipedia.org/wiki/Blog

[XWIKI] http://www.xwiki.org/xwiki/bin/view/Main/Download

Condividi

Pubblicato nel numero
117 aprile 2007
Stefano Rossini è nato a Giussano (MI) il 29/10/1970 e ha conseguito il diploma universitario in Ingegneria Informatica presso il Politecnico di Torino. Ha maturato più di venti anni di esperienza in diversi progetti Enterprise mission-critical ricoprendo i ruoli di IT Program Manager, Project Manager & Software Architect presso importanti…
Articoli nella stessa serie
Ti potrebbe interessare anche