XML : una breve FAQ


Cosa significa XML?

   eXtensible Markup Language.

Chi ha inventato l'XML?

    L'XML e' stato inventato dal comitato W3C(World Wide Web Consortium) guidato da Tim Berners Lee l'inventore dell'HTML

Cos'e' l'XML

   Si tratta di uno standard di descrizione di documenti.

Dove posso trovare una lista di comandi XML?

   Da nessuna parte, perche' l'XML non e' come l'HTML una lista di comandi di formattazione di una pagina di testo, ma permette invece di definire dei nuovi comandi adatti al tipo di documento che vogliamo descrivere.(In effetti sarebbe piu' corretto dire che l'XML permette di definire nuovi linguaggi di marcatura come l'HTML:linguaggi specializzati nel descrivere un particolare tipo di documento).

Cosa non e' l'XML

   L'XML non e' un linguaggio di programmazione come C++ o Java.
L'XML non e' un programma come Word
L'XML non e' un insieme di tag che descrivono una pagina di testo come l'HTML
l'XML non e' un database come Access o MySql.

Che relazione c'e' tra XML e HTML?

   Con l'arrivo dell'XML, il vecchio HTML diventa solo uno dei tanti modi possibili di definire dei documenti. Per questo motivo ora sta diventando XHTML cioe' un insieme di comandi definiti da particolari specifiche XML. Se volete divertirvi a cambiare le vostre pagine HTML in XHTML allora andate a Validation Service date l'URL del vostro documento, selezionate quindi "doctype" XHTML e "Encoding" UTF8. Avrete cosi' tutta una serie di "errori" che dovrete correggere fino ad avere un XHTML valido.

D'ora in poi dovro' scrivere le mie pagine in XML?

   No,continueremo a scrivere pagine HTML.In ogni caso l'HTML costituira' sempre il collante di Internet,la sua lingua franca.Le pagine XML invece serviranno a definire quelle parti di Internet che devono essere condivise da software diversi che girano magari all'interno di organizzazioni estranee tra di loro. Inoltre tutta quella parte di Internet che attualmente e' in formato non HTML (ad es. documenti Word,Latex,etc) potrebbe passare gradualmente a un formato XML indipendente dal programma che ha creato il documento.

Perche' non si usa l'HTML per questo scopo, invece di complicarci la vita con l'XML

   Il problema di fondo e' che l'HTML e' comprensibile solo alle persone. Se voi leggete una scheda di biblioteca in HTML, non c'e' da nessuna parte qualcosa che spieghi dov'e' l'autore e dove il titolo. L'informazione non e' strutturata. Due biblioteche non possono condividere le loro schede in HTML. Ma se definiamo in XML un particolare insieme di comandi <AUTORE></AUTORE> e <TITOLO></TITOLO> allora possiamo scrivere le nostre schede con questi comandi e condividerle senza problemi tra biblioteche. Abbiamo strutturato la nostra informazione. XML serve proprio a rappresentare informazione strutturata.Ogni biblioteca potra' usare i suoi programmi per processare le schede ma il formato delle schede e' ora uguale per tutti e facilmente processabile a computer perche' esiste una descrizione del significato dei comandi AUTORE e TITOLO.
Un altro problema dell'HTML e' che non e' adatto a rappresentare alcuni tipi di informazioni:ad esempio formule matematiche, grafica vettoriale, etc che invece possiamo rappresentare senza problemi con l'XML, evitando la necessita' di dover introdurre dei formati speciali di file come il postscript o il pdf.
Un'altra ragione per passare all'XML e' ancora quella che l'informazione essendo comprensibile dai programmi puo' essere adattata con facilita' ai nuovi dispositivi (come il cellulare) che in futuro diventeranno prevalenti nell'uso di Internet.

Come si presenta un documento XML?

   Si tratta di un semplice file di testo che per lo schedario dei libri potrebbe essere cosi'.

Come fa l'XML a definire nuovi comandi?

   La descrizione dei nuovi comandi e' fatta in un apposito documento chiamato DTD o Document Type Definition.In questo documento viene usato un particolare metalinguaggio per definire i nuovi tipi di comandi. Al momento attuale i due principali metalinguaggi o linguaggi di definizione dello schema (schema languages) sono: DTD e XML-Schema.

Quale dei due linguaggi conviene usare?

    Senz'altro XML-Schema che e' stato scritto apposta per XML, e' piu semplice di DTD (si basa infatti anch'esso su XML!) ed ha piu' tool che lo implementano. DTD e' invece il linguaggio originario usato da SGML che e' l'origine di XML.

Puoi dare un esempio di DTD?

    Ecco un'esempio di DTD che descrive come i dati sono esportati in XML da un database relazionale(Oracle).

Puoi dare un esempio di file XML-Schema?

    Ecco un'esempio di XML-Schema.

   

Che relazione c'e' tra XML e SGML?

    Servono allo stesso scopo (SGML e' un vecchio standard) ma XML ha la maggior parte della funzionalita' di SGML con una complessita' ridotta al minimo.

Il DTD e' l'unico modo per definire nuovi comandi?

    No,in effetti il DTD piu' che definire i comandi permette di controllarne la correttezza (controllarne la sintassi). Ma i comandi stessi potrebbero essere definiti in maniera implicita da un documento XML come questo che definisce i nuovi comandi AUTORE,TITOLO,etc ma dal documento non possiamo sapere se e' possibile dare il comando AUTORE piu' volte per lo stesso LIBRO. Sono cose come queste che spiega il DTD.

Se guardiamo la nostra scheda di biblioteca con un browser che capisce XML e' sufficiente il DTD perche' il browser possa mostrarci la scheda?

   No,perche' il browser anche se ora puo' controllare la sintassi dei comandi AUTORE e TITOLO (usando il DTD) ancora non sa come rappresentare l'informazione contenuta tra il comando di apertura e chiusura. Per questo esistono i fogli di stile(stylesheets :documenti separati che descrivono la formattazione): un documento XML puo' essere pubblicato con i normali CSS dell'HTML oppure con XSLT (eXtensible Stylesheet Language Transformations).

Se abbiamo le nostre schede descritte coi comandi inventati da noi in un documento libri.xml e' possibile rappresentare il documento con un browser?

   Si. I.E. permette di rappresentare l'informazione di un tale documento utilizzando il CSS. In pratica delle apposite estensioni del normale HTML piu' istruzioni Javascript.Ad esempio per rappresentare l'autore potremmo scrivere:

<span DATASRC="#schede" DATAFLD="AUTORE"></span>
Ecco un documento che permette di vedere le schede una a una.(Funziona solo con IE).
Sempre Javascript permette di importare un documento XML in un HTML se usate IE oppure un browser basato su Mozilla:potete trovare degli esempi con questa ricerca.
La maniera piu' immediata per trasformare XML in HTML e' pero' quella di usare XSLT cioe' definendo le trasformazioni da fare del cosiddetto eXtensible Stylesheet Language.Ecco il risultato con questo programma XSLT.La transformazione e' fatta a volo dal browser che deve capire XSLT (I.E. e Mozilla sono ambedue in grado di farlo anche se il programma XSLT di uno potrebbe essere leggermente diverso da quello dell'altro).

I browser sono gli unici programmi che capiscono l'XML?

   No,il browser e' solo uno dei tanti programmi che capiscono l'XML. In effetti, dato che l'XML si configura come una rappresentazione standard di qualsiasi tipo di informazione, fra poco tutti i programmi capiranno l'XML. Questo gia' succede con le nuove versioni dei programmi Microsoft. La Microsoft sta usando l'XML come una maniera standard di rappresentare informazione che deve essere condivisa tra programmi diversi come un database, Word, un foglio elettronico e il browser.

A proposito di Microsoft, non c'e' il pericolo che l'XML produca una balcanizzazione della rete?

   Si il pericolo esiste, nel senso che il proliferare di nuovi linguaggi XML rende sempre piu' difficile il compito di tenere i browser aggiornati per riuscire a vedere la maggioranza dei formati. Cosi' le zone del Web irraggiungibili a causa del formato usato invece di diminuire aumentano. Per questo motivo dobbiamo, ancora per un po, usare il vecchio HTML come un formato di riserva visibile a tutti. Un esempio recente (2004) di balcanizzazione e' l'introduzione di XAML da parte di Microsoft (in pratica una reinvenzione di SVG) che rendera' piu' difficile la convergenza verso linguaggi XML standard. Mentre prima dell'introduzione XAML si poteva pensare che in poco tempo tutti i browser avrebbero letto pagine contenenti XHTML+SVG+MATHML mescolati, ora quest'illusione e' sfumata .

Dato che l'XML e' una rappresentazione standard dell'informazione che tra poco sara' capita da qualsiasi programma, possiamo usarlo per rappresentare database?

   Si e no. L'XML va bene per rappresentare il contenuto di un database al di fuori dello stesso(ad es. per esportare il database) ma dato che il database ha sempre bisogno di un motore (un programma specializzato) questo programma dovra' sempre usare una sua rappresentazione proprietaria. La rappresentazione XML,almeno per ora, non si presta per rappresentare l'informazione all'interno del database. Magari in futuro diverranno prevalenti dei database XML, ma non sembra che la cosa sia imminente (almeno per le applicazioni "serie" di database). Tra l'altro l'XML non ha ancora un modo standard di rappresentare campi differenti da stringhe, come numeri e date!
Ovviamente,se proprio volete complicarvi la vita (ricordate che non stiamo parlando di applicazioni a livello di grandi organizzazioni) , allora potete definire una rappresentazione XML del contenuto del database (con una serie di comandi) e poi scrivere tutto il vostro software di interfaccia al database in modo da fare uso di questa rappresentazione ogni volta che avete bisogno di importare o esportare dati. Potete cosi' costruire un'interfaccia indipendente dal programma di database particolare usato. Molto generale ma perfettamente inutile, in quanto alla fine siete costretto sempre ad imparare a usare un particolare programma di database. Per una grande organizzazione le cose sono differenti...

Dato che XML e' una maniera standard di descrivere informazione strutturata, perche' non si e' usata la descrizione a tabelle e campi ormai collaudata dai database relazionali?

I database relazionali erano una tecnologia matura e la descrizione relazionale dell'informazione era uno standard quando Tim Berners Lee e i suoi colleghi del W3C nel 1998 si riunirono per decidere come procedere per estendere il Web. Perche' decisero di imboccare la strada nuova dell'XML invece di poggiarsi sulla solida reputazione dei data base relazionali? Per capire il perche' di questa decisione "azzardata" dobbiamo rifarci ai tempi. Nel 1998 il Web ha gia' dimostrato come usando tre "stupide" tecnologie come http+html+url sia stato possibile creare e condividere un'enorme database online costituito dal Web. Il Web era riuscito a fare qualcosa che la "matura" tecnologia RDBMS non era riuscita a fare a parte qualche lodevole tentativo di database online a pagamento. E' arrivato il momento , per Tim , del grande balzo. Estendere il successo nel condividere l'informazione del Web, a tutto lo scibile umano. Tutto cio' che puo' essere digitalizzato deve finire sul Web ed essere facilmente accessibile e classificabile come lo sono adesso le pagine HTML. Temo che fosse inevitabile usare XML in quanto e' una "naturale" estensione dell'HTML.

Se entriamo poi nelle possibilita' offerte da XML, esso permette di descrivere strutture di dati piu' complesse di quelle descrivibili con le tabelle e i campi dei database relazionali. Ma il maggior vantaggio e' che "la descrizione relazionale a tabelle" della realta' e' un po' troppo tecnica e legata all'implementazione. mentre l'XML si presenta innanzitutto come una tecnica che permette a un gruppo di persone di creare una descrizione condivisa di oggetti di loro interesse. Il risultato sono documenti facilmente leggibili sia dall'operatore umano che dal computer. Il "salto nel vuoto" dell'XML era relativo, perche' esso era basato su uno standard preesistente come l'SGML e perche' esso, come si e' visto in seguito, ha potuto beneficiare di tutte le tecnologie di HTML dinamico, all'epoca gia' esistenti come il Dom, Javascript,etc

Perche' nessuna grande organizzazione puo' ormai ignorare l'XML?

Perche' l'XML permette la memorizzazione,la pubblicazione e lo scambio di documenti elettronici.E questa e' la base di ogni tipo di commercio elettronico.

I documenti XML possono essere collegati tra di loro?

Si e la maniera con la quale possono essere collegati e' molto piu' sofisticata dei normali link HTML. La maniera come collegarli e' descritta dalla specifica W3C XLink.In generale i documenti XML di un sito (come quelli della nostra biblioteca) sono disposti a formare una complessa struttura gerarchica che non si presta molto bene a essere rappresentata ne da un database relazionale ne da uno ad oggetti. Per questo cominciano a sorgere dei sistemi specializzati che sostengono questi siti XML come prima succedeva con i sistemi tipo SQLSERVER basati solo su database relazionali. Un sistema del genere che potremmo anche chiamare impropriamente "database XML" puo' servire in grandi organizzazioni a gestire in maniera integrata la loro informazione. Esso potrebbe usare in alcune aree i database tradizionali come sostegno.

Quando si usano piu' linguaggi di marcatura nello stesso documento come si evitano i conflitti?

    XML Namespaces e' un meccanismo che evita i conflitti (ad es. comandi con lo stesso nome). Esso consiste nel dare un nome a un insieme di comandi collegati. A questo punto possiamo riferirci a quei comandi facendoli precedere col loro nome. Cosi' potrei avere un <mio:h1> che potrei usare assieme all' <h1> del normale html.

Perche' quando si usano programmi che capiscono XML si parla sempre di Parser, DOM e SAX?

    Ogni programma capace di processare l'XML deve avere un parser che riconosce i comandi presenti e ne ricostruisce la struttura.DOM e SAX sono due standard per questa operazione di parsing. DOM (Document Object Model) e' la modalita' piu' sofisticata ma anche piu' dispendiosa in termini di risorse di computer, in quanto prevede la ricostruzione del modello gerarchico completo del documento in memoria con chiamate (API) che permettono di percorrere questo albero producendo arbitrarie trasformazioni. SAX (Simple Api for XML) prevede invece solo una serie di eventi che vengono generati ogni qualvolta un particolare comando viene trovato in un documento.
Un Parser Sax disponibile gratis in C++ e Java e' Xerces di Apache. Questo software puo' essere usato come base per lo sviluppo di applicazioni XML.

Che relazione c'e' tra XML e Java. Perche' esistono tanti libri su XML e Java?

Java e', al momento attuale uno dei linguaggi piu' usati per trattare XML.
Qui maggiori dettagli

Esistono estensioni XML dell'HTML di uso generale e per i quali ci sono gia' dei programmi pronti per il controllo e la visione dei documenti?

Si,molti. Due dei piu' interessanti,almeno per quanto riguarda la documentazione scientifica, sono DocBook e MathML.Queste estensioni dell'HTML dovrebbero permettere di scrivere in XML un documento LATEX (che e' il sistema piu' usato al momento per la documentazione scientifica). Per validare e vedere il documento cosi' scritto esistono vari tool.Per comprendere l'uso di questi tool e' meglio riferirsi a questo schema.Le due rappresentazioni LaTex e XML sono collegate tra di loro attraverso una rappresentazione intermedia detta degli FO (Formatting objects) che si ottengono dal documento XML usando le specifiche XSLT con programmi X2F (XML to LaTex). Dal file contenente gli FO e' possibile passare al documento LaTex con tutte le sue possibilita' di visualizzazione(questo si ottiene con Passivetex). Ma e' possibile anche passare direttamente a una rappresentazione PDF con il programma FOP.
Il problema della documentazione scientifica che consiste essenzialmente nel far diventare la visualizzazione sullo schermo il piu' possibile simile a quello su carta viene descritto in dettaglio in questo articolo.

Cos'e' SVG(Scalable Vector Graphics)?

   Si tratta di un linguaggio XML standard inventato per definire la grafica vettoriale. Adobe fornisce un plugin per file XML contenenti descrizioni di grafica vettoriale in SVG. Usando questo visualizzatore e' possibile fare,con un semplice file Ascii, quello che finora si poteva fare solo con programmi in Java o materiali Flash.
Ecco un esempio basato sul seguente file xml. Mozilla sta procedendo ad includere SVG in modo da non aver bisogno di plugin.Inoltre il progetto opensource Batik fornisce software per sviluppare e vedere materiali SVG. Se SVG riesce ad imporsi, potremmo avere in futuro interi siti scritti in SVG con pagine in cui la qualita' del testo e della grafica e' simile a quella delle migliori pagine stampate.

E' vero che l'XML dovrebbe rendere obsoleti in poco tempo i servizi Web ora forniti tramite script CGI?

   L'idea di base e' la seguente:se voi fornite un servizio via Web ,potete definire lo scambio di informazioni con l'utente in termini di scambio ed elaborazione di documenti XML. Potete addirittura generalizzare la cosa definendo un formato XML che permetta lo scambio di oggetti e l'attivazione di procedure remote. E' quello che fa la tecnologia SOAP(Simple Object Access Protocol) e XML-RPC che e' di fatto in grado di rimpiazzare CORBA e DCOM ma a differenza di questi non dipende dal linguaggio e dalla piattaforma. Insomma con SOAP o XML-RPC si passa da un server di documenti a un server di oggetti . Questo server ,potendo eseguire metodi collegati a quegli oggetti, fornisce di fatto "servizi".

Cosa sono i Servizi Web secondo il Consorzio W3C?

   I servizi Web vengono interrogati mandando un file XML e la risposta e' sempre un documento XML. Un servizio Web dovrebbe inoltre avere un'interfaccia pubblica che lo descrive via un altro linguaggio XML standard:WSDLWeb Service Description Language. E per finire sarebbe desiderabile avere una maniera semplice per localizzarlo:questo si ottiene attraverso l'UDDI Universal Description, Discovery, and Integration. Da notare che queste due ultime caratteristiche almeno per adesso non sono essenziali.

Esiste una lista di servizi disponibili?

    Si su XMethods vero e proprio catalogo di servizi Web.

Potresti dare un esempio concreto di servizio Web?

   Google Api permette a un programma di collegarsi a http://api.google.com/search/beta2 mandando (col metodo POST) di http un file xml. Questo puo' essere fatto con questo programma Java.Il risultato e' in questo altro file XML. Da notare che la query "xml faq" e' codificata nell'XML. Qui c'e' anche da dare una chiave che viene fornita da Google quando si scarica l'API(nell'esempio e' stata azzerata). Il protocollo di comunicazione usato e' il SOAP. Il programma Java e' il piu' semplice cliente SOAP che possiate scrivere. Ma Google vi fornisce il codice di altri clienti piu' sofisticati in Java, Perl e C# (quest'ultimo per la piattaforma .NET). Inoltre siccome l'interfaccia e' descritta in WSDL all'indirizzo http://api.google.com/GoogleSearch.wsdl, esistono strumenti automatici che permettono di generare un'API direttamente da questo documento, in quanto questo non e' altro che la descrizione degli oggetti e dei metodi disponibili. Usando questi tool (ad esempio Apache Axis) un programma puo' accedere direttamente ai risultati della ricerca su Google.
Ecco l'esempio in Java fornito da Google, che permette di accedere ai risultati della stessa ricerca scrivendo:

java -cp googleapi.jar com.google.soap.search.GoogleAPIDemo 0000000000000000000000000 search "xml faq"

Cos'e' l'approccio REST per la realizzazione di servizi Web

   E' un'alternativa a SOAP e XML-RPC per fornire servizi Web con XML. L'idea e' di usare il "vecchio protocollo" HTTP che ha il pregio di scalare senza problemi usando il seguente approccio:a ogni risorsa Web viene assegnato un URL univoco.Ad esempio,per tornare al nostro catalogo di libri: avremo un URL che indica l'intero catalogo e tanti URL quante sono le schede. Quando richiediamo l'intero catalogo ci viene inviata la lista degli indirizzi di ogni singola scheda. Questo e' importante perche' permette di implementare le schede anche su computer diversi e utilizzando tecnologie diverse come database o semplici file Ascii. Per manipolare le singole schede useremo l'indirizzo della scheda e uno dei possibili comandi HTTP: GET,PUT,DELETE e POST. Con GET otteniamo come risultato un file XML con le informazioni della scheda. Il metodo PUT ci permette di aggiornare la scheda. DELETE di cancellarla.Infine un particolare indirizzo invocato con POST ci permette di inviare al server una nuova scheda in formato XML che viene aggiunta al catalogo.

In definitiva mentre i servizi Web realizzati con SOAP sono basati sulla definizione di un API (lista di oggetti e metodi) richiamabile da computer remoti collegati a Internet, i servizi Web di tipo REST si basano sugli oggetti risorse di rete identificati da indirizzi univoci(URI) ai quali possiamo applicare i soli quattro metodi GET, PUT(create), DELETE, POST(insert) che possiamo invocare usando http.

Puoi fare un esempio di servizio Web realizzato con l'approccio REST?

   Si. Amazon ha definito un API che a differenza di quello di Google, e' realizzato sia con SOAP che con REST.Ecco un esempio di pagina PHP che interroga Amazon ottenendo un documento XML con i risultati della ricerca. Seguendo l'approccio REST la "risorsa" ha un proprio indirizzo(URI) che e' il seguente e se noi clicchiamo sopra (usando la direttiva GET) otteniamo direttamente il documento XML. E' interessante notare come Amazon permetta di ottenere il documento di ritorno in HTML se noi forniamo nell'URI l'indirizzo Web di un file XSL da usare per formattare il testo.

Cosa significa REST e chi l'ha inventato?

   REST sta per REpresentational State Transfer ed e' stato "inventato" da Roy Fielding nella sua tesi nella quale cerca di estrarre i principi architetturali che hanno portato il Web al successo.

Per maggiori informazioni cercate REST.

Quali applicazioni potrebbe avere l'XML nella ricerca di informazione su Internet?

   Potrebbe avere moltissime applicazioni:per esempio se tutte le organizzazioni che fanno commercio online descrivessero caratteristiche e prezzi dei loro prodotti in un formato XML standard, si potrebbero creare dei programmi che ricercano quali sono i negozi che vendono un certo articolo piu' a buon mercato. Ovviamente tutto si basa sul fatto di definire uno standard che venga usato da tutti. Un esempio di queste applicazioni lo si puo' vedere nell'Open Archives Protocol che ,una volta venga adottato da tutti, dovrebbe permettere la ricerca negli archivi elettronici di articoli scientifici(eprint).
Se guardiamo alla situazione del Web attuale, vediamo che solo una piccola percentuale della documentazione online (forse 1/500) e' classificata e quindi direttamente accessibile attraverso un motore di ricerca.Tutto il resto e' accessibile solo attraverso link presenti nei documenti HTML classificati. E' possibile riuscire a trasformare il resto dei documenti (in una pletora di formati diversi :pdf,postscript,realaudio,etc) in modo che sia classificato come i documenti HTML? E' quello che cerca di fare l'XML. Probabilmente nei prossimi anni assisteremo a una graduale conversione degli archivi finche' tutti passeranno al formato XML e il Web diventera' effettivamente tutto classificabile e accessibile via i motori di ricerca.Anche documenti (come le immagini o spezzoni audio o video) che non sono convertibili in XML avranno un file XML collegato che li descrive.Insomma con l'XML, Tim Berners Lee vuole realizzare il suo sogno di rendere tutta l'informazione online e a portata di mano con una semplice ricerca.

Cos'e' questo RSS e perche' sta generando tanto interesse?

    Non c'e' dubbio che ormai col Web , ogni sito e addirittura ogni singolo individuo e' diventato una vera e propria agenzia di stampa con aggiornamenti continui dei propri materiali. Ma come possiamo fare per avvisare chi e' interessato sulle ultime novita'? Prima c'era il famoso "What's new". Ma adesso c'e' una soluzione ancora piu' razionale: un file XML che descrive ,usando il formato RSS, tutte le ultime novita' sul vostro sito. Con questo file diventate una vera e propria agenzia di stampa. Chi e' interessato puo', attraverso un apposito programma, leggere il vostro file e presentare su un altro sito una lista di link alle ultime notizie. O ancora, sempre attraverso programmi appositi, aggregare le vostre novita' con quelle di altri siti simili, presentando una lista selezionata con i soli argomenti interessanti. Oppure potete creare motori di ricerca solo sulle ultime notizie di tutti i siti interessanti.
Il formato RSS( inizialmente chiamato Rich Site Summary e inventato da Netscape come base dei suoi canali:e' sua la versione 0.9) ha ormai piu' versioni e dalla versione 1.0 esso e' basato sullo standard RDF di descrizione di documenti. Per cui ora RSS sta per RDF Site Summary.
Se siete curiosi di vedere questi What's new distribuibili e soprattutto processabili da parte di un programma, cercate rss+feed su Google. O meglio potete scaricare un programma detto aggregatore di notizie che vi permette di iscrivervi in maniera automatica ai feed disponibili online su alcune pagine Web ( di solito indicato da un piccolo pulsante con RSS scritto sopra). O ,ancora piu' semplice, potete registrarvi gratis su un sito come bloglines e usare il loro sito per abbonarvi ai feed che vi interessano e consultarli giornalmente. Questo puo' rendere molto piu' semplice l'operazione di consultare ogni giorno alcune decine di siti in cerca di novita'. (Tra l'altro ,se un sito che vi interessa non ha il feed RSS, invece di guardarlo ogni giorno in cerca di novita', e' piu' facile creare voi stessi un RSS feed del sito scrivendo un programma ad esempio in Perl, e farvi avvisare dal vostro aggregatore quando il sito cambia).
Un RSS feed puo' essere scritto anche a mano come un HTML: potete usare poi un sito di validazione per controllare che non abbia errori. Negli ultimi tempi c'e' la moda di collegare un RSS feed a tutto inclusi per esempio liste di appuntamenti, modifiche al codice di un programma tramite CVS da parte dei partecipanti di un progetto software , etc... Il motivo di questo uso e' quello di potersi creare una pagina che si aggiorna in continuazione avvisandovi non appena c'e' qualche evento interessante per voi.

Cos'e' questo AJAX e perche' sta generando tanto interesse?

    AJAX sta per "Asynchronous JavaScript language and XML" ed e' una tecnica per sviluppare applicazioni web interattive usando le "vecchie techniche" dell'html dinamico (essenzialmente programmi Javascript inclusi nell'html per manipolare l'albero del documento descritto dal DOM) accoppiate alla nuova tecnica di richiedere dati dal server usando l'oggetto XMLHttpRequest che ritorna le informazioni dal server sotto forma di documenti XML. Questi dati sono estratti dal documento XML e usati per modificare la pagina HTML originale. La maggiore novita' dal punto di vista tecnico e' che l'utente resta sempre sulla stessa pagina vedendola cambiare man mano che arrivano i dati. Ecco un esempio banale di applicazione AJAX :un orologio aggiornato dal server ogni 10 secondi. Guardando il sorgente della pagina Web vedrete che esso richiama il seguente servizio che ritorna l'ora in formato XML. Invece un esempio molto sofisticato di AJAX e' Google Maps. Google Maps e' stata l'applicazione che ha fatto capire agli sviluppatori Web le possibilita' offerte da AJAX. Da allora le applicazioni AJAX si moltiplicano tanto che si parla della nascita di un Web 2 o di seconda generazione.

Il motivo principale dell'interesse per AJAX e' che la nuova tecnica sembra realizzare senza l'uso di complesse tecnologie come i servizi Web, la potenzialita' di portare le applicazioni desktop (Office per intenderci) sul Web. Cioe' ,usando AJAX, l'interfaccia Web potrebbe fornire un'esperienza altrettanto soddisfacente per l'utente di quella offerta da un programma standalone come Office. Per questo si moltiplicano le voci di imminenti offerte da parte di Google o altri giganti del Web di servizi gratuiti che forniscono le stesse possibilita' offerte da Office ma richiedono solo un browser per essere usati.

Ormai tutti i linguaggi di programmazione usati sul Web si stanno attrezzando per supportare lo sviluppo di pagine con la filosofia AJAX : non piu' un modulo che carica un'altra pagina, ma un modulo che provoca l'aggiornamento della pagina in cui si trova. Tra questi uno dei piu' attrezzati sembra essere Ruby con la sua estensione Rails (il cosiddetto Ruby on Rails, Ruby sui binari:un gioco di parole). In apparenza Ruby on Rails permette di facilitare enormemente la creazione di siti Web AJAX. Questo viene ottenuto in parte con un'interfaccia estremamente semplificata con i database di supporto. Non e' necessario preparare complicati file XML per la pubblicazione di un'applicazione (come ad esempio in Java) , Ruby provvede a fare tutto da se usando delle regole predefinite.
Per saperne di piu' : AJAX su Wikipedia

Ok,io non sono in una grande organizzazione ne' in una ditta che fa software, tutto quello che faccio e' occuparmi del sito di una piccola organizzazione;XML ha qualche rilevanza per me?

   XML come abbiamo visto, non e' un programma, non e' un linguaggio ma uno standard che dovrebbe rendere l'uso di Internet universale. Ad esempio una fabbrica automatizzata potrebbe essere basata su un flusso di dati XML. Due ospedali possono scambiarsi dati sui pazienti in XML...etc. Quello che voglio dire e' che dovete ripensare tutto quello che fate in XML. Anche se il vostro sito e' in HTML, dovreste cominciare a pensarlo come una serie di documenti XHTML cominciando col controllare i documenti a questo indirizzo.
Avete un elenco telefonico o qualche altra applicazione Web su un data base: perche' non cominciate a pensare (e a salvare) i vostri dati in formato XML? Cosi' tutte le volte che avete bisogno di memorizzare o trattare informazione (anche al difuori del Web) cominciate a rappresentare i dati in formato XML. Con l'apparizione di nuovi programmi che trattano XML sara' sempre piu' facile trattare dati di questo tipo. Potete poi collegare tra di loro questi documenti XML ed ottenere la rete XML di sostegno del vostro lavoro. Qualcosa finora irrealizzabile con l'HTML.

Dove posso trovare altra informazione su XML?

   


INDIETRO a Materiali dei corsi HTML e Java
Maintained by Giuseppe Zito:info@zitogiuseppe.com.Last revised