Strumenti Utente

Strumenti Sito


documentazione_3di:extraway:db_create

Questa è una vecchia versione del documento!


Creazione di un Archivio

La creazione di un nuovo archivio eXtraWay può avvenire contestualmente alla realizzazione del suo modello dati tramite la configurazione di una DTD ovvero in forma libera. Per quanto il primo sistema è quello che risulta più corretto dal punto di vista formale, la pratica ci dice che gli archivi vengono normalmente creati in forma libera, specialmente quando il progetto che li riguarda è in divenire. La presente documentazione si sofferma quindi sulla forma libera della creazione degli archivi.

Cos'è un Archivio eXtraWay

Prima di procedere con la spiegazione di come si costituisca un archivio, soffermiamoci ad identificare cosa si intenda per Archivio eXtraWay. Anche al lettore meno attento sarà evidente che i dati in un archivio eXtraWay, sono rappresentati da files XML1) che contengono in forma ordinata una o più Unità Informative.
Essi, in quanto tali, non possono rappresentare da soli un archivio. Perché ciò possa avvenire essi devono essere Mappati ovvero interpretati nel loro contenuto e rappresentati appunto attraverso una mappa in grado di identificare entro ciascun file XML ciascuna Unità Informativa. In seguito, in corrispondenza ad inserimenti, modifiche e cancellazioni, le Unità Informative verranno identificate nella mappa che subirà a sua volta inserimenti, modifiche e cancellazioni. Una volta costituito il Data Base con i dati identificati per mezzo della mappa, sui contenuti delle Unità Informative verranno valutati gli indici e costruiti i files a ciò preposti.
Scopo di quest'architettura è quello di concentrare sugli XML il ruolo di vera importanza: la mappa e gli indici possono essere generati/rigenerati in qualsiasi momento.
Per avere una rapida visione d'insieme diremo che:

Tipo di file Ruolo
.stat.xml
.stat2)
File di Status che coordina i contenuti ed il legame tra tutti gli altri files che compongo un archivio
.udp
.udd
File di mappa. Contengono le informazioni che consentono di identificare e quindi reperire tutte le Unità Informative.
.idx3)
.vcb
.ref
File degli indici
.ths
.thv4)
Files di Thesaurus, dove utilizzato
.tip
.tit
Files contenenti la cache dei documenti utilizzata a fini applicativi

La Creazione dell'Archivio

Creare un archivio può significare cose piuttosto diverse.

Condizione Descrizione
Archivio inesistente La creazione produce un archivio5) completo di mappa ed indici ma del tutto vuoto e privo di ogni file XML che rappresenti dei dati. Essi possono essere aggiungi in seguito con singoli inserimenti o in modo massivo.
Archivio preesistente Creazione per Ricostruzione
Archivio preesistente Creazione per Ripristino La creazione in questo caso, consiste nell'azzeramento della mappa, degli indici e dei valori seriali precedentemente calcolati. I dati XML rimangono invariati ma la rimozione dei seriali comporta che una successiva ricostruzione dell'archivio non sarà del tutto equivalente all'originale e nuove operazioni sull'archivio stesso potranno generare, ad esempio, il “riempimento” dei buchi di numerazione lasciati sui campi seriali.
Archivio preesistente Creazione per Rinnovo La creazione per rinnovo comporta l'azzeramento di mappa, indici e seriali così come dei dati XML associati all'archivio. In questo modo l'archivio torna esattamente nella sua condizione originaria.

La creazione di un archivio deve combinare due componenti: un nome logico ed un percorso fisico in cui l'archivio viene creato. Operando tramite Console6) si può agire in diversi modi:

Azione Risultato
Impostazione del nome logico dell'archivio nonché del suo nome reale Si assume che il nome reale indicato sia quello che assumeranno tutti i files dell'archivio e che ad esso verrà aggiunta, file per file, l'estensione più appropriata. In sostanza quindi il nome espresso è un nome di file7).
Qualora per quel nome logico sia già esistente un archivio si verificherà la piena congruenza tra il percorso dell'archivio esistente e quello indicato provocando errore se i due non combaciano perfettamente. Se, al contrario, non esiste alcun accoppiamento tra il nome logico ed un qualsiasi percorso, l'archivio verrà generato.
In ambo i casi, in presenza di un file nomearchivio.conf.xml esso verrà comunque considerato valido e non verrà toccato in alcun modo mente in sua assenza esso verrà creato con contenuti d'esempio ed impostazioni di default.
Impostazione del nome logico dell'archivio e di un etichetta8) come nome reale Comportamento in tutto e per tutto analogo al precedente ma in tal caso il server calcolerà il nome fisico derivandolo da quello impostato.

Ad esempio, se viene indicato il nome logico 'myarc' ed il percorso 'thearc' ed i programmi sono installati in 'c:\3di.it\extraway\xw\bin' il server creerà nella directory di default degli archivi9) una directory col nome fisico indicato ad al suo interno gli archivi con lo stesso nome.
Ciò sarebbe equivalente, in pratica, ad indicare come nome fisico 'c:\3di.it\extraway\xw\db\thearc\thearc'

Per ragioni pressoché storiche, la creazione/rigenerazione di un archivio effettuata tramite Console comporta la generazione di un archivio inesistente ovvero una 'Creazione per Ricostruzione' essendo essa la più frequente delle modalità di ricostruzione.
Ciò nonostante, dalla versione 23 del server, è consentito aggiungere al nome fisico dell'archivio dei modificatori che il server interpreterà come segue10):

Modificatore Significato
<noxml> Indica che i dati dell'archivio non troveranno posto in files XML bensì in un sistema di files binario (proprietario) della piattaforma eXtraWay. Particolarmente utile per la creazione, ad esempio, di archivi per CD rom quanlora non si intenda mantenere su di essi i dati in chiaro.
<reset> Indica che si vuole ricostruire/rigenerare un archivio esistente. Se l'archivio non esiste la procedura da errore. Analogamente per creare un archivio inesistente tale parametro dev'essere assente.
<serials> Indica, unitamente a '<reset>', che si vogliono salvaguardare i seriali già assegnati. E' la tipica configurazione da 'Creazione per Ricostruzione'.
<blind> Modalità introdotta con il server di classe '23'. Consente di non dover specificare la natura della Unità Informative e quindi di stabilire una serie di comportamenti di default per inserire, modificare e ricercare. I documenti vengono quindi riconosciuti e salvati indipendentemente dalla presenza di configurazioni speciali nel file nomearchivio.conf.xml e con essi anche i search_alias che vengono a loro volta calcolati per default.
In questo caso il file nomearchivio.conf.xml creato di default in caso di archivio inesistente ha un contenuto differente da quello di base e già adeguato allo scopo.
<drop> Rappresenta la modalità necesaria per la 'Creazione per Rinnovo' in cui tutti i dati esistenti vanno persi assieme all'azzeramento di tutti i files che compongono l'archivio.

La Ricostruzione della Mappa

A meno che la Creazione effettuata non sia motivata da un'esigenza di Rinnovo, in tutti gli altri casi di intervento su un archivio esistente11) la finalità della Creazione che azzera l'archivio è quella di proseguire con la ricostruzione dello stesso. Quello che può cambiare è il desiderio o meno di ricostruire integralmente l'archivio e salvaguardare o meno i seriali assegnati, ma questi sono aspetti già descritti in precedenza.
Assumendo quindi che, una volta azzerati mappa ed indici, si voglia procedere con la ricostruzione dell'archivio, esso passa da 3 fasi fondamentali12):

  1. Rigenerazione della Mappa sulla base degli XML disponibili nell'archivio.
  2. Rigenerazione degli indici delle Unità Informative presenti nella mappa ricostruita.
  3. Rigenerazione della cache delle Unità Informative definita se pure non del tutto propriamente Titoli.

Queste operazioni possono essere compiute tramite Console in un solo step13). Vale comunque la pena di ricordare quanto segue:

  • La ricostruzione della mappa, propedeutica alla altre fasi, si ottiene indicando il nome logico dell'archivio sul quale si intende operare ed il percorso nel quale si trovano i dati XML.
1)
Fanno eccezione gli archivi nei quali si dichiari un repository di altro tipo, che sia un repository binario in forma proprietaria eXtraWay o un altro repository come ad esempio un data base Oracle.
2)
Solo per le versioni 23 e successive del server eXtraWay
3)
Dalla versione 23 del server questo file si sdoppia in .idx.bpt e .idx.edt
4)
Quanto detto in precedenza per il file .idx che cambia dalla versione 23 del server vale anche per questi due files
5)
Crea una directory con tutti i files necessari
6)
Consultare la documentazione ad essa relativa
7)
E non semplicemente un nome di directory
8)
Sovente lo stesso nome logico
9)
directory 'db' parallela a quella dei programmi
10)
L'aggiunta di questi modificatori anziché l'implementazione, ad esempio in Console, di chiamate differenti, affonda le radici nelle stesse ragioni storiche definite prima.
Di fatto è più pratico aggiungere modificatori “indolori” ad un comando che doverlo cambiare così da non incappare in incompatibilità col passato di componenti della piattaforma come il Broker
11)
Ma anche nel caso si disponga di un archivio nuovo al quale si vogliono imporre dato XML provenienti da altre fonti
12)
L'ordine di esecuzione delle stesse è palese: La prima fase è propedeutica alla realizzazione delle successive che, per contro, possono essere svolte in qualsiasi ordine in quanto indipendenti l'una dall'altra
13)
Si consulti la documentazione relativa per maggiori chiarimenti.
/data/attic/documentazione_3di/extraway/db_create.1259344536.txt.gz · Ultima modifica: 2017/09/08 10:58 (modifica esterna)