WWW9: un treno da non perdere. (Internet News)
Gli incontri e i convegni internazionali che hanno per argomento Internet e il World Wide Web non si contano più: la World Wide Web Conference, però, rimane un’occasione unica per un contatto diretto con i lavori dei comitati tematici del W3C.
l fatto che, dopo una lunga assenza, la nona World Wide Web Conference, in breve WWW9
(http://www.www9.org)  momento di confronto con i comitati tematici del W3C
(http://www.w3.org) sia tornata nel maggio scorso in Europa, ad Amsterdam, ha fatto rinascere in molti addetti ai lavori le speranze di un ruolo più attivo del Vecchio Continente nello sviluppo del Web e, di conseguenza, nelle decisioni sul futuro di Internet. Anche la numerosa e qualificata presenza italiana ha costituito, almeno per noi, un motivo di conforto.
Per chi ad Amsterdam non c’era, è necessario spiegare i motivi concreti alla base di queste speranze. Partiamo da un fatto apparentemente scontato: la presenza delle tecnologie del Web nella nostra vita quotidiana è solo agli inizi, e la loro importanza è destinata a crescere rapidamente.
Non c’è dubbio che negli ultimi anni la Rete abbia subito un eccezionale sviluppo grazie alla tecnologia americana, che l’ha portata a diventare il motore e il luogo dell’economia globale – quella new economy di cui tanto si parla. Per questo motivo, molti osservatori hanno espresso il timore che l’economia globalizzata possa essere il veicolo di una sola cultura, quella appunto del mercato statunitense. Il messaggio del WWW9 è che queste preoccupazioni, anche se giustificate, potrebbero essere clamorosamente smentite in un prossimo futuro.
Prima di passare ai dettagli tecnici, è il caso di fare una riflessione generale. I nostri lettori sanno benissimo che l’accesso al WWW non è più limitato ai computer, e il Web sta già facendo la sua comparsa sui nostri telefonini e sulle agende elettroniche. Certo, la tecnologia di trasporto che sta alla base di queste applicazioni è, e resterà, di produzione statunitense: ma le tecniche per la presentazione e la messa a punto del contenuto, cioè la personalizzazione dei servizi da offrire attraverso questi nuovi canali, costituiscono per gli operatori europei un’occasione irripetibile di far sentire la propria voce. Al WWW9 abbiamo visto numerosi prototipi europei di servizi Web legati allo stile di vita dei singoli e destinati alle automobili, alla domotica e persino agli accessori di abbigliamento e alla nautica da diporto. Se queste applicazioni vi sembrano troppo frivole, basterà ricordare i nuovi sistemi per la diffusione dell’informazione culturale discussi nella Culture Track, ben organizzata e condotta dall’italiano Alfredo Ronchi.
Il Web intelligente
Per tradurre le riflessioni che abbiamo appena fatto nel linguaggio tecnico preferito da progettisti e Webmaster, diremo che al WWW9 si sono visti i primi risultati degli sforzi compiuti dalla ricerca per creare un Web intelligente, cioè un sistema in grado di raggiungere milioni di persone adattando automaticamente i propri contenuti e le modalità di presentazione delle pagine alle esigenze dei singoli utenti. In pratica, si tratta della promessa originale – e mai mantenuta – del WWW: quella della «comunicazione di massa rivolta all’individuo». La scelta della tecnologia di base per la rappresentazione dei dati che sarà usata sul nuovo WWW è già stata fatta 2 anni fa, con l’introduzione dell’eXtensible Markup Language (Xml); ma la definizione dello standard Xml ha rappresentato solo il primo passo in questa direzione. Grazie al fatto che permette di definire linguaggi di marcatura orientati alle applicazioni (i cosiddetti DTD o Document Type Definition), che usano tag provvisti di significato (per esempio <prezzo> o <descrizione>) Xml permette ai siti intelligenti di conoscere la natura delle informazioni che contengono, e di operare delle scelte personalizzate in fase di presentazione all’utente.
Da solo, però, Xml non basta: occorrono, infatti, tecniche semplici e veloci per stabilire quale informazione trasmettere e come presentarla, sulla base degli interessi dell’utente e del canale di accesso al servizio che utilizza. Il WWW9 ha documentato la raggiunta maturità delle tecnologie ausiliarie di trasformazione che permetteranno a Xml di mantenere le sue promesse. 
Il futuro di Xsl e CSS-2
Quando accede a un servizio Web, l’utente vuole trovarsi in un ambiente familiare ma nello stesso tempo perfettamente adattato alle caratteristiche dello strumento d’accesso (computer, televisione, telefonino o Pda) che sta usando. La soluzione banale di creare una copia del sito per ciascun metodo di accesso si scontra con insormontabili difficoltà di aggiornamento e gestione, soprattutto quando si tratta di pagine dinamiche. Gli addetti ai lavori stanno realizzando server Web multiprotocollo, che adattano il loro contenuto memorizzato in forma «astratta» alle caratteristiche del trasporto e del terminale usato per l’accesso. Tecnicamente, la precondizione per questa versatilità dei server è la netta separazione del contenuto dalle modalità di presentazione, che devono essere inserite in un linguaggio ad hoc e memorizzate separatamente. Chi realizza siti Web sa bene che il primo passo in questa direzione è già stato fatto per Html, con l’adozione dello standard Cascading Style Sheet (CSS), arrivato alla versione 2. CSS-2 non è indissolubilmente legato a Html, e può essere usato anche con Xml; quest’ultimo formato è stato però dotato di un suo linguaggio di presentazione assai più completo e potente, Xsl, in grado di definire il layout delle pagine Xml con il livello di controllo desiderato da grafici e designer. Molti operatori ci hanno chiesto in questi mesi se la strada di CSS non sia quindi destinata a terminare troppo presto, a pochi anni dalla sua nascita.
Ad Amsterdam, il comitato del W3C ha invece chiarito una volta per tutte che i 2 standard di presentazione non sono alternativi ma complementari: CSS-2 (che continuerà a evolversi) è stato definito per incoraggiare un primo livello di personalizzazione – quello relativo a font, sfondi e colori – da realizzare soprattutto dopo che i dati sono stati trasmessi sul browser dell’utente che accede al Web in modo tradizionale. D’altro canto, Xsl è la tecnologia d’elezione per i server multiprotocollo, poiché si presta anche a essere eseguito sul server, prima che i dati vengano trasmessi.
Xsl trasforma l’informazione testuale delle pagine in un formato a oggetti, i cosiddetti flow object, mirato al browser installato sul dispositivo di accesso di cui l’utente dispone. In un sito multiprotocollo, Xsl permette di definire in modo dichiarativo i flow object orientati alle varie tecnologie d’accesso (chi trova Xsl difficile, pensi al problema di scrivere una servlet Java a partire da zero per risolvere lo stesso tipo di problema…). Ovviamente, l’esecuzione intensiva di personalizzazioni Xsl su siti che contano migliaia di accessi al minuto comporta grossi problemi di prestazioni, che dovranno essere risolti dalle implementazioni industriali (notevoli, per esempio, le soluzioni proposte da Oracle – che ha acquisito il know-how di una piccola azienda americana – e da Telcordia).
Trasformazioni generalizzate
La presentazione multiprotocollo dei dati Xml costituisce, però, solo il primo passo verso il Web intelligente. Al WWW9 si è discusso a lungo anche della personalizzazione dei contenuti delle pagine per adattarle a una specifica comunità di utenti o addirittura al singolo visitatore, in modo da migliorare la sua esperienza di navigazione o realizzare una politica di controllo degli accessi. Prima di entrare nel merito della tecnologia da usare per queste trasformazioni, occorre però decidere di quali informazioni bisogna disporre per poterle eseguire. Basta il DTD Xml dei documenti presenti sul sito oppure servono informazioni aggiuntive? Un primo comitato del W3C, quello sui linguaggi d’interrogazione per Xml, sembra ritenere che il DTD sia sufficiente e ha appena reso pubblici i requisiti che saranno alla base del linguaggio d’interrogazione che permetterà di estrarre i contenuti dalle pagine Xml, statiche o dinamiche che siano. Grazie a questo linguaggio, sarà possibile specificare gli elementi Xml che costituiscono il documento personalizzato da mandare a un certo utente scrivendo un’interrogazione basata sul DTD dei documenti generici disponibili sul sito.
Si tratta di un’operazione analoga a quella che oggi si può faticosamente compiere scrivendo una servlet in grado di personalizzare, in base all’utente, la query Sql che crea una pagina Html dinamica, con la differenza che l’interrogazione Xml sarà riferita ai DTD delle pagine Xml e non allo schema relazionale del database sottostante. Questa impostazione permette di usare più facilmente il Web come strumento di integrazione tra sorgenti di dati eterogenee.
Lo standard W3C per il linguaggio di interrogazione è atteso entro i prossimi 3 mesi. Chi fosse interessato, può vedere l’ottima implementazione del linguaggio Xql realizzato dalla tedesca GMD http://www.gmd.de.
Il DTD Xml, però, costituisce solo una piccola parte dei metadati, ovvero delle descrizioni che qualificano il contenuto delle pagine senza necessariamente farne parte (pensate per esempio alle informazioni sull’autore di una pagina o sul periodo di validità delle informazioni contenute, che non fanno parte né della pagina né del DTD). È facile capire che queste descrizioni – soprattutto la parte temporale – possono essere importanti quanto e più del DTD per decidere quali informazioni mandare all’utente al momento della sua connessione. 
Il W3C ha proposto da tempo uno standard (il Resource Description Format o RDF) per questi metadati, ma il successo di RDF è stato molto inferiore alle previsioni. Al WWW9 Eric Miller, che co-presiede il comitato W3C su RDF, ha sostenuto che lo standard trarrà nuova linfa dalle tecnologie per il Web intelligente, per esempio per specificare le politiche di distribuzione dell’informazione dei siti. Staremo a vedere.
Una volta individuate le informazioni necessarie per operare le trasformazioni, occorre scegliere il linguaggio da usare per definirle. Come abbiamo già detto, il W3C sta lavorando a uno standard per l’interrogazione di dati Xml, ma nel contempo il comitato che si occupa di Xsl ha definito Xsl-LT, il sottoinsieme di Xsl che permette di trasformare i documenti Xml prima di trasmetterli. Al WWW9, molti operatori cercavano di chiarirsi le idee su questa sovrapposizione di ruoli, che ricorda da vicino quella tra lo stesso Xsl e CSS-2 di cui abbiamo già parlato. Le principali differenze tra Xsl-LT e il futuro linguaggio d’interrogazione per Xml stanno nel potere espressivo – ovvero nei tipi di trasformazioni che è possibile scrivere – e nella rappresentazione a basso livello dei dati.
Dal punto di vista del potere espressivo, Xsl-LT è rivolto prevalentemente (anche se non in modo esclusivo) alle trasformazioni monodocumento, che usano un documento Xml generico presente sul sito per sintetizzare quello Xml personalizzato da mandare all’utente. 
Si tratta, dunque, di un sottoinsieme del più generale linguaggio di presentazione. Il futuro linguaggio d’interrogazione per Xml, invece, sarà rivolto in particolare alle interrogazioni complesse di stile database, per esempio quelle che richiedono join tra più documenti generici.
Quanto queste interrogazioni complesse saranno frequenti sui futuri siti intelligenti è difficile da dire. Un progettista ex-Microsoft, sotto il velo dell’anonimato, azzardava una stima del 3%.
Per quanto riguarda il formato di basso livello, Xsl-LT è parte integrante di Xsl e quindi utilizza i flow-object orientati alla presentazione, mentre i prototipi disponibili dei linguaggi di interrogazione si basano sul formato standard DOM (Document Object Model) oggi arrivato al livello 2. Come si sa, DOM Level-2 memorizza gli elementi Xml (sia quelli dei documenti, sia quelli dei DTD) come oggetti dotati di un’interfaccia standard, il che rende facile scrivere codice Java o Javascript per eseguire le trasformazioni. Inoltre, gli oggetti DOM possono essere facilmente resi persistenti, il che permetterà ai futuri server intelligenti di definire memorie cache con la granularità degli elementi Xml, un fatto essenziale per ottenere buone prestazioni. Tuttavia, l’utilizzo efficiente di DOM su server Web ad alte prestazioni è tuttora oggetto di ricerca.

La sfida è aperta
Il WWW9 ha mostrato che la famiglia di tecnologie proposte per il Web intelligente è praticamente pronta, e navigare sul Web tra 3 o 5 anni sarà un’esperienza molto diversa da quella di oggi. Non si tratta però di tecnologie «hard» che richiedono alti investimenti, come quelle trasmissive, su cui il primato tecnologico degli Stati Uniti resterà indiscutibile. Dopo anni di pagine-vetrine tutte uguali, il Web intelligente sarà progettato per farsi carico della diversità tra gli interessi delle comunità degli utenti. Per la vecchia Europa, questo nuovo Web è un treno da non perdere. 
Saremo capaci di fare la nostra parte?