Il Package rappresenta l'unità minima di sviluppo di una soluzione in IrionEDM e si compone di specifici oggetti che consentono di acquisire, analizzare, elaborare ed esporre dati, provenienti da diverse fonti. Esso si basa su una logica di programmazione dichiarativa, che garantisce esecuzioni ottimizzate e l'elaborazione di grandi quantità di dati in parallelo.
La creazione di un nuovo Package avviene all'interno del Catalog Workspace, mediante il pulsante New , esposto nella rispettiva toolbar. È possibile attribuire ad ogni nuovo Package un nome personalizzato, mediante una delle seguenti operazioni:
✓ selezionare il Package e premere il tasto F2 da tastiera;
✓ selezionare il Package con il tasto destro del mouse e scegliere l'opzione Rename dal menù a tendina contestuale.
Per aprire un Package ed esporlo nel corrispondente Workspace è possibile:
✓ selezionarlo con il tasto destro del mouse e scegliere l'opzione Open dal menù a tendina contestuale;
✓ selezionarlo con doppio click del tasto sinistro del mouse.
Dal Package Workspace è possibile accedere, mediante il pulsante Edit del ribbon, attivo selezionando l'icona del Package nel Navigator, alla maschera Detail
, contenente i principali elementi definitori.
In alternativa, è possibile cliccare sopra l'icona del Package nel Navigator con il pulsante destro e scegliere Edit.
La maschera Detail contiene i seguenti tab:
✓ General
✓ Security
✓ Version history
✓ Extended Metadata
Nel tab General possono essere impostate le seguenti proprietà:
✓ Short Description, consente di associare al Package una specifica descrizione breve, con cui creare la documentazione a corredo della soluzione corrente;
✓ Description, consente di associare al Package una specifica descrizione, con cui creare la documentazione a corredo della soluzione corrente;
Nel tab Security è possibile impostare le password relative a:
✓ Encryption, password di protezione crittografica del contenuto del Package;
✓ LibraryExecution, token di esecuzione per il Package, qualora esso sia richiamato come Library da un altro Package.
Nel tab Version history sono elencate tutte le versioni del Package salvate prima della versione attualmente in modifica.
Nel tab Extended Metadata è possibile definire metadati estesi per il Package. Essi corredano la soluzione di informazioni aggiuntive e possono essere richiamati, in particolare, da oggetti di tipo Package Examiner.
I metadati sono definiti esplicitando il contenuto delle seguenti colonne:
✓ Category, categoria del metadato (i.e. Entity, Column, Rule);
✓ EntityType, tipo di entity (e.g. Book, DatabaseDatalink, Library);
✓ Name, nome del metadato;
✓ DataType, tipo dati del metadato;
✓ DataSize, dimensione del metadato (in funzione del DataType);
✓ Scope, scope del metadato (Private di default e modificabile in Public qualora la EntityType sia il Package stesso);
✓ Description, descrizione estesa del metadato;
✓ Layout, definizione delle proprietà grafiche del metadato effettuata mediante apposito ExtendedMetadata Layout Editor.
Ulteriori proprietà del Package sono configurabili mediante il visualizzatore della Property Grid (tasto F4).
In particolare, è possibile impostare le proprietà:
✓ ExternalVisibility, permette di definire il comportamento degli oggetti componenti il Package corrente, in caso vengano richiamati in altri Package;
✓ Settings, consente di impostare specifiche configurazioni di esecuzione del Package;
✓ DataAuditability, permette di impostare automaticamente la tracciabilità degli oggetti componenti il Package, in caso vengano richiamati in altri Package;
✓ DocumentationAuditability, consente di abilitare la documentazione automatica degli oggetti componenti il Package, in caso vengano richiamati in altri Package.
Le proprietà DataAuditability e Documentation Auditability saranno trattate nel dettaglio nel capitolo Archiviazione di esecuzioni: l'AuditShelf. |
La property ExternalVisibility può assumere i seguenti valori:
✓ Hidden, gli oggetti del Package corrente non sono visibili ad altri Package;
✓ Visible, gli oggetti del Package corrente sono visibili ad altri Package;
✓ CanOverride, gli oggetti del Package corrente sono visibili e possono essere sovrascritti da oggetti del Package che li richiama;
✓ MustOverride, gli oggetti del Package corrente sono visibili, ma devono essere sovrascritti da oggetti del Package che li richiama;
✓ Inherit, valore di default che coincide con Hidden.
La property ExternalVisibility definisce un comportamento, a livello globale, per tutti gli oggetti del Package. Tuttavia, è possibile specializzare questo tipo di impostazioni su singoli oggetti, come vedremo in seguito. |
La property Settings consente di impostare alcune proprietà per la gestione e l'esecuzione di un Package, quali:
✓ ConnectionTimeOut, consente di specificare la durata massima (in secondi) di connessioni a DB esterni;
✓ ExecutionTimeOut, consente di specificare la durata massima (in secondi) dell'esecuzione di singoli oggetti del Package;
✓ QueryTimeOut, consente di specificare la durata massima (in secondi) dell'esecuzione di una query che interroga fonti dati esterne;
✓ MaxThread, numero massimo di oggetti che possono essere eseguiti in parallelo.
Ogni proprietà di tipo TimeOut può assumere i valori: ✓ 0 che elimina ogni limitazione di tempo; ✓ un qualsiasi valore positivo. |
Ogni Package si compone di specifici oggetti che consentono di acquisire, analizzare, elaborare ed esporre dati, quali:
✓ Connections per la connessione a svariate fonti dati;
✓ Data Link per la lettura e l'acquisizione dei dati;
✓ Data Engine per l'elaborazione dei dati;
✓ Book per l'analisi e l'esposizione dei dati.
Tutti gli oggetti del Package dispongono di uno specifico tab, denominato General. Esso consente di specificare nome e descrizione dell'oggetto, con cui integrare la documentazione a corredo del Package. Il campo Description dispone di uno specifico editor di testo accessibile con il pulsante .
Gli oggetti del Package condividono anche alcune particolari proprietà, disponibili nel visualizzatore della Property Grid (tasto F4), quali:
✓ ExternalVisibility, permette di definire il comportamento del singolo oggetto, in caso venga richiamato da Package esterni;
✓ Hidden, consente di nascondere/mostrare all'utente finale il singolo oggetto del Package;
✓ DataAuditability, permette di impostare automaticamente la tracciabilità dell'oggetto, in caso venga richiamato in altri Package;
✓ DocumentationAuditability, consente di abilitare la documentazione automatica dell'oggetto, in caso venga richiamato in altri Package.
Le proprietà DataAuditability e Documentation Auditability saranno trattate nel dettaglio nel capitolo Archiviazione di esecuzioni: l'AuditShelf. |
La property ExternalVisibility si comporta in modo analogo all'omonima property del Package, ma ha effetto solo su singoli oggetti. Essa può assumere i seguenti valori:
✓ Hidden, l'oggetto corrente non è visibile ad altri Package;
✓ Visible, l'oggetto corrente è visibile ad altri Package;
✓ CanOverride, l'oggetto corrente è visibile e può essere sovrascritto da oggetti del Package da cui è richiamato;
✓ MustOverride, l'oggetto corrente è visibile e deve essere sovrascritto da oggetti del Package da cui è richiamato;
✓ Inherit, l'oggetto eredita il valore impostato a livello di Package.
Il valore di default della proprietà ExternalVisibility è Inherit. |
La property Hidden, se impostata a True, può nascondere l'oggetto corrente all'utente finale. Tuttavia tale oggetto resta visibile all'utente che lo ha creato e ad utenti con adeguati permessi. Il tasto Show hidden node , nella toolbar del riquadro Navigator, consente di esporre contemporaneamente oggetti visibili e non visibili all'utente finale.
Nei prossimi capitoli analizzeremo oggetti e fasi per la progettazione e realizzazione di un Package. In particolare affronteremo come acquisire, elaborare, analizzare e presentare i dati.
APPROFONDIMENTI E ARGOMENTI CORRELATI
& Elaborazione dei dati: i Data Engine
& Analisi e organizzazione dei dati: il Book