Il concetto di validazione è un altro elemento chiave nella discussione dei diversi modelli possibili. Con questo termine intendiamo infatti l'operazione condotta dalla struttura che gestisce il servizio informativo (o da strutture informative delegate) che permette all'unità informativa di essere creata, modificata o cancellata in modo controllato e adatto a essere pubblicato.
In un modello articolato, le validazioni a cui si sottopone un'informazione possono essere molteplici, nel cammino che consente alla modifica dell'informazione di essere riflessa in altre informazioni a livello centrale; supponiamo, ad esempio, che il modello prescelto sia di tipo fortemente centralizzato e che le comunicazioni con la struttura che gestisce centralmente il servizio possano essere effettuate solamente tramite il responsabile di un settore.
La modifica di un'informazione di livello inferiore dovrebbe passare attraverso la seguente catena di validazione:
Naturalmente questo caso è di per sé poco complicato, ma organizzazioni più complesse possono avere catene di validazione molto più laboriose.
Definizione 10 Il ``punto di validazione'' è il passaggio di un'informazione attraverso il controllo di una particolare struttura, centrale o delegata (che chiameremo ``titolare del punto di validazione''), che la modifica e l'approva in modo che possa essere creata, pubblicata o cancellata.Chiamiamo ``punto di validazione finale'' il punto di validazione che rende disponibile l'informazione a un utente esterno.
Così come è definito, il processo di validazione non garantisce che la modifica effettuata all'informazione non generi errori (contraddittorietà, mancanza di informazioni, duplicazioni) all'interno del sistema informativo. È necessario indicare un meccanismo che garantisca la correttezza delle modifiche effettuate. Introduciamo quindi le seguenti regole.
Regola 3 [Regola di correttezza] Affinché il sistema informativo resti in uno stato corretto è necessario che al passaggio di un'informazione attraverso un punto di validazione:
- il titolare del punto di validazione controlli se la modifica proviene dal titolare dell'unità informativa proprietaria dell'informazione, e in caso contrario la rifiuti;
- se il titolare del punto di validazione coincide con il titolare dell'unità informativa a cui appartiene l'informazione, verifichi e attui la validazione delle altre informazioni nella stessa unità informativa in relazione alle modifiche apportate;
- il titolare del punto di validazione comunichi l'avvenuta modifica dell'unità informativa ai titolari delle unità informative che possono essere modificate dalla validazione effettuata sull'unità originaria, se il punto di validazione è finale.
Questa regola di correttezza è necessaria e sufficiente per mantenere la coerenza del sistema informativo. È sufficiente in quanto l'``effetto'' delle modifiche effettuate sull'informazione è riverberato sia all'interno dell'unità informativa a cui appartiene l'informazione stessa, che all'esterno, verso i titolari delle altre unità; nel primo caso è il titolare stesso che ``conosce'' la necessità di armonizzare le informazioni con la nuova modifica, nel secondo è la comunicazione del titolare del punto di validazione finale che mette in moto il processo di diffusione della modifica. Inoltre, eventuali modifiche non autorizzate (provenienti cioè da strutture non titolari dell'informazione) sono bloccate.
La regola è necessaria in quanto, a meno di porre precondizioni su una corretta divisione delle unità informative che annulli le possibilità di avere modifiche in altre unità, non è garantito che la modifica di un'informazione non debba essere riflessa in informazioni presenti in altre unità.
Vediamo alcuni dettagli della regola: la prima azione discende
naturalmente dall'idea di titolarità dei diritti e doveri di
aggiornamento, impedendo modifiche non controllate; nella seconda si
indica che il punto di validazione in cui controllare globalmente la
coerenza delle informazioni presenti in una unità informativa è il
punto di validazione più alto
del percorso di validazione dell'informazione interno all'unità: in
questo modo si assegna il controllo sulla coerenza alla struttura
titolare dell'intera unità, piuttosto che di un sottoinsieme, e si
limitano a uno i controlli.
Ugualmente, una modifica non viene propagata se non raggiunge il suo punto di validazione finale: in questo modo si evita di annunciare modifiche che potrebbero non essere accettate da un punto di validazione superiore, e si limitano a una (al più) le comunicazioni per ogni singola informazione che viene modificata.
La scelta di uno dei diversi modelli per il servizio possibili è principalmente dovuta ai meccanismi che esso mette a disposizione per rispettare facilmente questa regola di correttezza. Inoltre, lo studio di un particolare modello può ridurre sensibilmente, o azzerare, il numero di titolari di unità informative a cui far pervenire la comunicazione della modifica.
Chiameremo quindi ``validazione corretta'' la validazione di un'informazione che rispetti la regola di correttezza.
Per finire, diamo una misura della complessità del processo di validazione di un'informazione, ovvero di quante validazioni deve attraversare, mediante l'introduzione della misura del livello di validazione:
Definizione 11 Chiamiamo ``livello di validazione'' il numero di punti di validazione che un'informazione deve attraversare prima di essere resa disponibile a un utente esterno. Ovvero, il numero di punti precedenti, e compreso, il punto di validazione finale.Il livello di validazione di un'informazione deve essere sempre maggiore o uguale a uno.
Questa misura serve ad analizzare la complessità della struttura rispetto al numero di passaggi necessari affinché la modifica sia effettivamente visibile; a livelli di validazione crescenti corrisponde infatti una lentezza nell'aggiornare effettivamente le informazioni, a causa di una gerarchia complessa o di un modello estremamente centralizzato, mentre a un livello basso corrisponde sia l'immediatezza della modifica che un numero basso di controlli di correttezza. La sottoregola afferma esplicitamente che tutte le modifiche che effettuate su informazioni del sistema informativo devono attraversare una o più validazioni.
Strettamente collegata a questa definizione è la classe delle unità informative per cui è necessaria una sola validazione:
Definizione 12 Definiamo ``unità informativa autonoma'' un'unità in cui il livello di validazione è uguale a uno.
Vedremo che uno degli scopi del sistema cooperativo sarà quello di mantenere per tutte le unità informative un livello di validazione uguale a uno, ovvero di avere solamente unità informative autonome.