Xml: emancipazione di un dato

L’indipendenza dai dati è il maggior vantaggio dell’Xml soprattutto in relazione alla possibilità di estendere i dati stessi preservandone la struttura

Maggio 2003,
Le motivazioni tecniche della sempre più larga diffusione di Xml sono
sia strutturali che funzionali. Dal primo punto di vista, l’Xml eredita quanto
di buono c’è nell’Html, in particolare il meccanismo dei tag, che rappresenta
anche la parte comune dei due nomi: le due lettere Ml stanno per Markup Language,
cioè linguaggio basato su "mark", un termine più o meno
traducibile con "segnalibri". Fin dall’inizio della diffusione di
massa dell’Html, i tag, gli ormai noti elementi sintattici e descrittivi racchiusi
fra i segni "<" e ">", sono piaciuti subito agli utenti
di tutti i livelli, in parte rispondendo anche a meccanismi inconsci tutto sommato
misteriosi. Appeal a parte, è comunque senz’altro parte importante del
successo dell’Html la possibilità di strutturare le parti del documento
(intestazione, titolo, paragrafi, corpo) e le formattazioni dei caratteri mediante
un metalinguaggio comprensibile anche aprendo il documento grezzo, per esempio
con un editor di testo.

Definire la tipologia dei dati
L’Xml eredita questo principio aggiungendo però un aspetto molto importante:
la possibilità di definire oggetti strutturati, e di farlo in modo rigoroso.
L’Html è pensato principalmente per gestire documenti in formato libero,
e per descrivere in modo (più o meno) univoco come si dovrebbe visualizzare
il contenuto. Consente però errori e imprecisioni, anzi è progettato
per ignorare silenziosamente la maggior parte degli sintattici: se si dimentica
un tag in un documento Html, in buona parte dei casi è possibile visualizzarlo
ugualmente con il browser. Tali caratteristiche non sono negative, hanno anzi
permesso la larga diffusione dell’Html, perché non è poi così
difficile creare una decente pagina Web utilizzando questo linguaggio. Rendono
però assai arduo, se non impossibile, utilizzare l’Html per descrivere
un oggetto e le sue proprietà, come avviene nei database: l’Xml, invece,
è esattamente pensato per questo scopo. In un documento Xml è
infatti necessario descrivere semanticamente il contenuto prima di illustrare
i dati stessi. Per chi ha un minimo di familiarità con la programmazione
o con i database, il concetto non dovrebbe essere particolarmente ostico, ma,
per semplificare tramite un esempio, l’Xml permette (anzi richiede) che vengano
definiti esattamente tutti gli scomparti di un contenitore e il tipo di oggetti
che in esso possono essere collocati prima di riempirlo con gli oggetti stessi.
Esattamente come avviene nei database, insomma: prima di inserire dati è
necessario definire la struttura di una tabella, cioè i nomi delle colonne
di ogni riga e il tipo di dati che possono contenere.
L’Xml è pensato, così, per gestire i dati strutturati e
non il loro aspetto (tanto è vero che la rappresentazione grafica dei
dati è demandata ai cosiddetti stylesheet, che sono elementi opzionali),
e risponde quindi al meglio a un’esigenza fondamentale per le aziende.
Anche e soprattutto perché il formato permette e facilita l’interscambio
di informazioni fra programmi diversi, e, per estensione, anche fra aziende
diverse: un documento Xml contiene infatti sia i dati che la loro descrizione.
Un cliente può quindi trasmettere un ordine a un fornitore in Xml, e
quest’ultimo potrà leggerlo senza grossi problemi, perché il documento
contiene sia i dati che le istruzioni per interpretarli.

L’indipendenza dei dati è un vantaggio
Fin qui si è parlato dei vantaggi strutturali: passando invece alle motivazioni
funzionali del successo dell’Xml, sono senz’altro da ascrivere fra
i suoi meriti l’estensibilità e l’indipendenza. Tramite l’Xml
è possibile aggiungere proprietà a un oggetto descritto in un
documento "estendendolo" (è la X dell’acronimo, che
sta per eXtensible), sempre mediante il meccanismo della autodescrizione degli
elementi trattato in precedenza, permettendo che anche i dati originali rimangano
comunque utilizzabili. Proseguendo con l’esempio cliente-fornitore, l’applicazione
del fornitore può utilizzare i dati sull’ordine provenienti in
Xml dal cliente e aggiungere a essi i riferimenti necessari per il processo
interni dell’ordine stesso, semplicemente estendendo la descrizione del
documento originale. Naturale conseguenza di tutto ciò è l’indipendenza
da un’applicazione specifica, anche perché l’Xml un formato
open, definito e mantenuto da un consorzio a sua volta indipendente, il W3C,
lo stesso che gestisce l’Html.
Oltre a permettere un interscambio "trasparente" di dati fra programmi
differenti, l’Xml dovrebbe inoltre rendere i dati più indipendenti
delle applicazioni stesse. Un aspetto molto importante in ambito aziendale,
dove la produzione di nuovi software, o di nuove release di software esistenti,
in grado di supportare le accresciute o mutate esigenze è (o forse era)
spesso frenato proprio dalla necessità di dover trasformare i dati preesistenti
in un nuovo formato, un processo tutt’altro che banale.
I due aspetti tecnologici e funzionali appena illustrati hanno quindi portato
a una rapida diffusione dell’Xml come standard di fatto per l’interscambio
di dati, e stanno spingendo l’Xml verso una sempre più larga accettazione
come formato dati nativo per le applicazioni aziendali, tanto è vero
che i database delle ultime generazioni, come le più recenti versioni
di Oracle e Microsoft Sql Server, oltre
a esportare e importare Xml, possono memorizzare direttamente i dati in formato
Xml. Ma la diffusione sta assumendo una forma sempre più capillare: è
arrivata anche a livello end-user, diversi software fra i più diffusi,
per esempio Microsoft Excel, possono salvare documenti in Xml. Intorno all’Xml,
infine, si sono sviluppati una serie di standard, sempre open, che sfruttano
i principi di estensibilità e universalità proprio di questo metalinguaggio
per definire e supportare servizi, come gli ormai noti Web Services.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome