• Non ci sono risultati.

Di seguito verranno descritti i software utilizzati per la realizzazione del processo di ETL e della fonte dei dati. Si descriverà il software Data Services di SAP per il processo di ETL e del software MS SQL Server di Microsoft come fonte di dati.

3.1.1

MS SQL Server

SQL Server è il DBMS relazionale prodotto da Microsoft e utilizzato per la realiz- zazione del processo di data warehousing e della piattaforma di business intelligence. SQL Server Management Studio (SSMS) è un’applicazione software lanciata da Microsoft per l’accesso, la configurazione, la gestione, l’amministrazione e lo sviluppo di tutti i componenti di SQL Server, database SQL di Azure e Azure SQL Data Warehouse.

Questo tool abbina un gruppo esteso di strumenti grafici con numerosi editor di script per consentire a sviluppatori e amministratori di accedere a SQL Server.

CAPITOLO 3. CASO DI STUDIO - ETL

SSMS è suddiviso in quattro aree principali:

1. Esplora oggetti, che consente all’utente di navigare, selezionare e agire su qualsiasi oggetto all’interno del server. All’interno di questa finestra ci sono diversi nodi tra cui i database del sistema a cui si è connessi, management che gestisce i piani di manutenzione , security contenente la lista dei login degli utenti che possono connettersi a SQL Server;

2. Work area, è l’area in cui è possibile immettere query o testo. Negli editor di query sono incluse le caratteristiche di compilazione delle istruzioni disponibili per il linguaggio di programmazione in uso;

3. Risultato e Messaggi, permettono di visualizzare il risultato di una query o eventuali messaggi di errore nell’esecuzione;

4. Proprietà, dove è possibile visualizzare e modificare le proprietà dell’oggetto selezionato al momento.

CAPITOLO 3. CASO DI STUDIO - ETL

3.1.2

SAP Data Services

SAP (Systeme, Anwendungen, Produkte in der Datenverarbeitung) è una software house multinazionale tedesca per la produzione di software gestionale. E’ una delle principali aziende al mondo nel settore ERP 16 (Enterprise Resource Planning) e in generale nelle soluzioni informatiche per le imprese. Il linguaggio nativo, su cui si basano tutti i suoi prodotti, è ABAP. Innumerevoli sono i moduli SAP, ciascuno dei quali gestisce una differente area aziendale (es. Controllo di gestione, Logistica, Gestione risorse umane) e ad essi sono dedicati i software specifichi per l’area di utilizzo.

Il Sap Data Services (SDS) è un software volto all’integrazione e trasformazione dei dati, permette agli utenti di creare flussi di lavoro che prelevano dati da diverse fonti (DBMS, file di testo, CSV) per combinarli, trasformarli e perfezionarli ed infine inviarli al sistema di destinazione o data warehouse.

SDS offre le funzionalità avanzate di data quality, di integrazione di dati e supporta sia l’elaborazione batch17 sia i servizi in tempo reale. Ogni processo è creato tramite

un tool grafico che consente di creare workflow che regolano il flusso dati, le regolo di controllo e le logiche di mappatura e trasformazione di dati [9].

La finestra principale del SDS è diviso in quattro aree principali: l’area del progetto che riassume in sottocartelle il workflow del progetto, l’area di lavoro in cui si svolge la progettazione del job, la libreria degli oggetti contenente gli oggetti della repository locale e la barra degli strumenti, contenente le scorciatoie degli oggetti comunemente usati (Vedi Figura 3.2).

L’ambiente di sviluppo è organizzato il workflow che regolano il flusso di lavoro e le logiche da adottare per le operazioni di trasformazione [9].

16L’ERP è un sistema informativo aziendale per la gestione di tutti i proces-

si dell’azienda: (vendite, acquisti, gestione magazzino, contabilità etc.). Fon- te: https : //innovaf ormazioneblog.altervista.org/cose − sap/?doing_wp_cron = 1523450359.3052380084991455078125

17In informatica, batch processing, è l’elaborazione sequenziale di uno o più programmi considerati

come un insieme unico (batch). Elaborazioni batch vengono eseguite nei grandi e moderni sistemi in tempo reale e time sharing nei momenti di disponibilità e permettono di conseguire l’impiego ottimale delle risorse operative del sistema. Fonte: http : //www.sapere.it/enciclopedia/batch.html

CAPITOLO 3. CASO DI STUDIO - ETL

Figura 3.2: Esempio Designer del tool SDS

Gli elementi grafici principali del SDS sono:

• Workflow, permette di creare una nuova area di lavoro, in esso vengono aggiunte tutte le operazioni da fare. I workflow possono essere collegati tra di loro o eseguiti singolarmente. Sono oggetti riusabili cioè possono essere richiamati e utilizzati più volte e per più job ma se si effettuano delle modifiche sull’oggetto, questa si riflettono in tutte le sue chiamate;

• Data Flow, crea e gestisce un nuovo flusso di dati. Permette il trasferimento di dati da una sorgente verso una destinazione; così come il workflow anche questo nodo è riutilizzabile e richiamabile in altri job;

• Query, richiede un input e un output. Crea un template per una query: è possibile visualizzare lo schema delle tabelle a cui è collegato, scegliere le opzioni di trasformazione di una normale query (Select, From, Where, Group By ecc.) e mappare le colonne dalla tabella origine a quella destinazione;

CAPITOLO 3. CASO DI STUDIO - ETL

• Tabella, crea un template di una tabella che può essere in input o in output;

• Script, è un oggetto non riusabile definito in un workflow in cui è possibile inserire del codice in linguaggio ABAP estendendo le funzionalità non coperte dai componenti esistenti;

• Condizionale, è un nodo che permette di inserire dei filtri condizionali del tipo IF-ELSE sui dati indirizzando il flusso dati verso output diversi a seconda del valore di un record;

• Try, nodo che inizia un blocco try-catch di un flusso che potrebbe generare un errore;

• Catch, nodo che conclude un blocco try-catch catturando l’errore generato dal flusso;

• Data Transfer, permette di creare una staging area in fase di esecuzione per trasferire i dati dalla fonte al datastore di destinazione. E’ consigliato per il trasferimento di un gran volume di dati in quanto migliora le prestazioni abilitando le operazioni di push-down sul server.

• Merge, permette di combinare più set di dati in entrata, con lo stesso schema, per produrre un unico set in uscita con la stessa struttura del set in input. E’ l’equivalente dell’operazione di SQL "UNION ALL".

Documenti correlati