Gli amministratori e gli utilizzatori dei sistemi
UNIX-like conoscono bene l'importanza degli archivi
tar, ma da almeno un anno questi sono stati affiancati dagli archivi
XAR (Extensible Archive Format).
Questa tecnologia sfrutta la leggerezza di XML; è un
nuovo strumento per archiviare dati, innovativo e potente e la sua forza sta nella flessibilità della struttura interna (che deriva dall'uso di XML) e dalla facilità con cui tale formato può essere manipolato da strumenti software qualsiasi. Tali caratteristiche rendono
XAR molto versatile e appetibile per tutti gli utenti.
Il primo sistema operativo, che ha dato ampio consenso al formato
XAR, è stato
Leopard. Il team di sviluppo di
Apple infatti decise qualche anno fa di utilizzare
XAR come formato standard per i propri
installer package. Chi ha esperienza in tale campo potrà confermare assolutamente le buone caratteristiche di questa tecnologia.
Un oggetto
XAR è dunque un archivio,
all'interno del quale
ogni file è singolarmente compresso. I vantaggi di una simile scelta sono essenzialmente due:
è semplice estrarre, da una archivio
XAR,
i singoli file che ci interessano con il vantaggio di risparmiare spazio su disco (in quanto non è necessario estrarre l'intero archivio) e conseguente tempo di elaborazione. In secondo luogo, l'utente può scegliere
differenti algoritmi di compressione per ognuno dei file.
A titolo di esempio, muovendoci nell'ipotesi di usare un sistema
UNIX-like, potremmo considerare di comprimere i file più piccoli attraverso lo strumento gzip e i file più grossi attraverso il più efficiente algoritmo bzip2. Altri file potrebbero anche non essere compressi.
Particolarmente interessante è dare un'occhiata alla
struttura interna di un archivio
XAR, che consta di tre componenti:
un header iniziale che contiene le informazioni basilari sull'archivio; l'intestazione è seguita da quello che chiameremmo TOC, ossia una sorta di
lista di elementi XML, che forniscono tutte le indicazioni sui file contenuti all'interno dell'archivio. Tale struttura è facilmente manipolabile attraverso i più comuni programmi applicativi, i quali possono aggiungere quindi funzionalità così da potenziare un archivio
XAR o semplicemente produrre una lista dei file contenuti. Utilizzando il gergo di
XAR, tali funzionalità aggiuntive si dicono
informazioni esterne.
Il TOC è seguito infine dall'
heap, il vero magazzino per i file contenuti nell'archivio; lunghezza e tipo di compressione di ogni file sono informazioni contenute nel TOC. Questa semplicissima e ingegnosa struttura interna permette a
XAR di operare con efficienza e velocità; inoltre risulta più semplice l'espansione di un simile archivio rispetto ad un classico tarball.