Sommario:
La piattaforma eXtraWay è uno strumento XML Nativo. Quest'affermazione in se dice molto ma può apparire che dica in realtà molto poco. Vediamo quindi quale significato principe si intende dare a questo concetto.
eXtraWay si definisce una piattaforma documentale XML Nativa in quanto ha eletto l'XML ad un ruolo centrale, come forma di rappresentazione e soprattutto di conservazione delle unità elementari di informazione o unità informative.
Anche in questa frase può sfuggire il punto cardine che è presto detto: la scelta dell'XML non si limita alla forma che il documento ha quando viene scambiato tra i moduli che compongono la piattaforma o quando esso viene proposto al modulo Client e da esso all'utente finale, bensì è il metodo per mezzo del quale il documento viene fisicamente conservato. In questo caso il termine fisicamente è quanto mai calzante in quanto le unità informative sono direttamente disponibili su file system sotto forma di files XML. In essi le unità informative vengono raggruppate, agglomerate per soddisfare criteri dlogici che, assieme alla suddivisione in cartelle e sotto cartelle ed una specifica denominazione di tali files rendono leggibile, comprensibile e quindi destinato naturalmente ad una conservazione nel tempo qualsiasi dato in esso conservati. Essendo tali dati in forma XML, leggibile per definizione e facilmente comprensibile, eXtraWay persegue nativamente l'obiettivo della conservazione delle unità informative dando loro un orizzonte temporale bel oltre la vita utile del software stesso.
Fatta questa premessa necessaria non si può ignorare che esistano anche esigenze di altra natura, esigenze di conservazione di questi dati in contenitori più adatti ad altre finalità ovvero già appartenenti all'infrastruttura aziendale ovvero ancora maggiormente adatti alla ridistribuzione ad esempio su supporti ottici, o in forma cifrata o compressa.
Per soddisfare tutto questo ampio panorama di possibilità, la piattaforma documentale eXtraWay è stata arricchita da uno strumento definito eXtraWay Repository Driver, ovvero un driver in grado di far dialogare il motore documentale eXtraWay con altri repository, esistenti sul mercato o realizzati appositamente per soddisfare una particolare esigenza, senza con questo inficiare in alcun modo le funzionalità e capacità tipiche di eXtraWay.
Per fare in modo che l'uso di un diverso Repository risultasse indolore sono stati identifcati i punti chiave ove agganciare delle chiamate predefinite così che possano essere chiamate delle funzionalità specifiche in quei frangenti e demandare ad uno strumento appositamente costruito il compito di effettuare l'I/O dei documenti.
Questo strumento è stato incapsulato in una libreria dinamica (dll/so) la cui interfaccia verso il server eXtraWay è nota mentre il dialogo con il repository richiesto sarà completamente libero.
Veniamo quindi al driver vero e proprio ed al suo utilizzo.
Perché eXtraWay server sappia di doversi avvalere di un particolare repository per un dato archivio è necessario che esso sia configurato nel file nomearchivio.conf.xml tramite una specie di URN.
In essa devono trovare posto le principali informazioni quali:
Possiamo quindi dire che la URN avrà all'incirca questo aspetto (tra parentesi quadre le componenti facoltative).
protocollo://[utente[:password]@]host[:porta]/DataBase/[?tabName=tabella]
Chiaramente i valori omessi saranno sostituiti con un default:
I protocolli attualmente concepiti sono i seguenti:
stato:
Implementato driver:
libxw2occistato:
In fase di studiostato:
In fase di studiostato:
In fase di studiostato:
In fase di studio<profile type="arc.repository" value="oracle://administrator:admin@localhost/Sample?tabName=prova"/>
<profile type="arc.repository" value="oracle://administrator:admin@localhost/XE?tabName=prova"/>
I Driver posono comportarsi in modi lievemente differenti ma si rifanno solitamente ad uno schema comportamentale comune.
Il driver scambia con eXtraWay Server un frammento XML che altro non è se non l'unità informativa più volte indicata in precedenza.
Una volta ottenuto questo frammento ha facoltà di farne ciò che meglio crede. Potrebbe, per ipotesi, smembrarlo in singole parti e salvare ciascuna di esse in un articolato sistema di tabelle oppure limitarsi a salvarlo integralmente in un unico contenitore generico nell'ambito del repository che si sta utilizzando.
Il comportamento di base è il seguente:
varchar
che contiene il nome dell'unità informativa nota ad eXtraWay e la colonna XML è un clob
che contiene il dato XML vero e proprio.Il Driver è stato concepito, come detto, per svincolare eXtraWay dall'onere di conoscere cosa viene fatto al suo interno, come il dato viene conservato e così via. La scelta di isolare alcune colonne, indicata nel precedente paragrafo, è da considerarsi minimale e necessaria al corretto funzionamento del server eXtraWay.
Nulla toglie però che per scopi legati ad altre finalità che possono essere conseguite interfacciandosi direttamente con il repository indicato il Driver possa essere personalizzato per estrarre dati specifici dall'XML ed alimentare con essi altre colonne realizzate ad-hoc ovvero che distribuisca in diverse tabelle le diverse unità informative.