A livello di Package è possibile scegliere quali componenti di un processo sensibile sottoporre ad audit. In particolare l'audit è impostabile su:
✓ tutte le tabelle del Model di un Book,
✓ tutti gli oggetti di un Package da esse referenziati (staticamente o via Dynamic Properties).
Inoltre, è possibile tracciare dati e produrre la documentazione associata anche in modo differenziato per uno stesso processo.
Ogni Book, in modalità Edit, dispone del tab One Click AuditTM. Esso consente di specificare:
✓ una AuditShelf Reference per individuare l'AuditShelf su cui tracciare le esecuzioni del Book corrente;
✓ la tipologia di esecuzione da tracciare (Intteractive o Batch).
L'esecuzione di tipo Interactive è lanciata da Client. L'esecuzione di tipo Batch è, invece, richiamata da Workflow. |
La procedura di audit può essere personalizzata mediante opzioni avanzate, accessibili attivando il flag Show Advanced Configuration. Esso mette a disposizione le opzioni seguenti:
✓ Force Cache Reload consente di invalidare eventuali cache impostate, forzando il reload degli oggetti associati durante l’esecuzione;
✓ Archive Package and Libraries aggiunge al profilo di audit la corrente versione del Package e di eventuali Library in esso incapsulate;
✓ Audit All Book Chapters permette di indicare quali Chapter sottoporre ad audit;
✓ Same configuration for Data and Documentation replica la configurazione impostata per la tracciatura dei dati sulla documentazione automatica dei processi;
✓ Auditied entities consente di impostare filtri e ambiti di esecuzione con cui selezionare gli oggetti da sottoporre ad audit.
Il riquadro Auditied entities si compone di due panel:
✓ Data consente di selezionare gli oggetti da sottoporre ad audit sotto forma di dati ed esiti di esecuzioni;
✓ Documentation consente di selezionare gli oggetti da sottoporre ad audit sotto forma di documentazione automatica delle logiche sottostanti.
Se il flag Same configuration for Data and Documentation è attivo, ogni impostazione del panel Documentation è inefficace. |
In entrambi i panel del riquadro Auditied entities, il profilo di audit può essere dettagliato grazie a:
✓ Entity Filters, tipo di filtro da applicare sugli oggetti del Package sottoposto ad audit;
✓ Audit Scope, ambito di applicazione del filtro specificato;
I filtri disponibile per l'opzione Entity Filters sono:
✓ All registra tutti gli oggetti coinvolti nell’esecuzione del Book corrente;
✓ Object Type consente di scegliere quali categorie di oggetti sottoporre ad audit;
✓ Object List permette di selezionare i singoli oggetti da sottoporre ad audit, spuntando le voci nel corrispondente albero delle dipendenze;
✓ Pattern Matching traccia gli oggetti il cui nome rispetta specifici criteri di ricerca testuale;
✓ Query On Data Model seleziona gli oggetti da sottoporre ad audit con una query T-SQL;
✓ None esclude tutti gli oggetti dal profilo di Audit.
Il filtro Object Type dispone di un riquadro dedicato nel quale selezionare categorie di oggetti da sottoporre ad audit. Inoltre, mediqante opportuni flag, è possibile includere (All Available types) o escludere (None) tutte le categorie disponibili.
Il filtro Object List possiede l'ulteriore flag Include all Package objects. Esso permette di selezionare anche eventuali oggetti del Package non compresi tra le dipendenze del Book da eseguire.
Il filtro Pattern Matching accetta criteri di ricerca testuali contenenti wildcard, quali:
✓ asterisco * che identifica una qualsiasi sequenza di caratteri;
✓ punto di domanda che rappresenta un singolo.
Il nome degli oggetti da selezionare via Pattern Matching è rappresentato dal corrispondente Full Path. |
Gli Audit Scope disponibili sono:
✓ Package and Libraries, gli Entity Filters riguardano tutti gli oggetti del Package corrente e delle Library visibili;
✓ Package Only gli Entity Filters riguardano solo gli oggetti del Package corrente;
✓ Book Model Only gli Entity Filters riguardano solo gli oggetti inclusi nel Model del Book in esecuzione.
Selezionare un oggetto nel riquadro Audited entities comporta sia l'archiviazione degli elementi definitori, quali i metadati, sia la registrazione dei dati da esso generati durante l'esecuzione. Inoltre, eventuali oggetti non selezionati, ma coinvolti nell'esecuzione sottoposta ad audit, vengono visualizzati nell'Audit Profile corrispondente come disabilitati. |
Infine, il tab One Click AuditTM dispone anche dell'editor di testo Audit Description, in cui scrivere una descrizione del processo di audit impostato. Tale descrizione è utilizzata dal sistema per integrare la documentazione a corredo della AuditBox, creata a seguito di una esecuzione del Book corrente.
Affinchè le impostazioni del tab One-Click Audit™ siano efficaci, è necessario abilitare, a livello di Package, la tracciabilità degli oggetti coinvolti mediante le proprietà:
✓ DataAuditability abilita la tracciabilità di dati ed esiti;
✓ DocumentationAuditability abilità la relativa documentazione automatica.
Esse possono assumere i valori:
✓ Local abilita l’audit solo se il Package contiene il Book da eseguire;
✓ Public abilita l’audit anche se il Package è utilizzato come Library dal Book;
✓ Never disabilita l’audit per tutti gli oggetti.
Analoghe proprietà permettono di specializzare la tracciabilità a livello dei singoli oggetti componenti il Package. Inoltre, i singoli oggetti possono ereditare le impostazioni dell’oggetto in cui sono contenuti (i.e. Package o Folder), mediante il valore Inherit.
La procedura di audit definita tramite il tab One-Click Audit™ registra dati sull'AuditShelf, modificando solo le colonne predefinite dal sistema nella AuditBox List. Per modificare i valori delle colonne personalizzate aggiuntive, occorre impostare una particolare istruzione SQL, da eseguirsi subito dopo la registrazione dei dati sensibili. Essa deve essere specificata nel Query Editor della Property del Book FinalizeSqlStatement, nella classe AuditConfiguration.
La sintassi da utilizzare è del tipo:
UPDATE DataBoxList SET [CustomColumn] = Value
Il Value specificato nella query può essere:
✓un valore scalare;
✓l’output di una subquery.
In caso si utilizzi una subquery, sarà considerato solo il valore relativo all’ultimo record da essa restituito.