• Non ci sono risultati.

2. BUSINESS INTELLIGENCE

N/A
N/A
Protected

Academic year: 2022

Condividi "2. BUSINESS INTELLIGENCE"

Copied!
20
0
0

Testo completo

(1)

2. BUSINESS INTELLIGENCE

I primi strumenti di business intelligence erano i report, costituiti dai fogli di lavoro (excel), risultavano però limitativi per il trasporto e la trascrizione dei dati di lavoro nei fogli di lavoro.

Data Warehouse

E’ una base dati che raccoglie dati sintetici, integrati e strutturati di interesse per un’organizzazione.

E’ un sistema di tipo OLAP (OnLine Analytical Processing) e deve quindi godere delle proprietà FASMI (Fast, Analytical, Shared; Multidimensional, Information) deve fornire:

 Visione multidimensionale

 Dati devono contenere tutte le info

 Permettere analisi complesse

 Condivise a più utenti

 Rispondere velocemente alle richieste Sono inoltre caratterizzati dai seguenti aspetti:

 Orientato alle entità

 Integrato: i dati provengono sia dall’interno sia dall’esterno dell’azienda

 Variabile nel tempo: memorizza dati storici

 Persistente: i dati sono archiviati in modalità di sola lettura

Architettura Data Warehouse

Alla base dell’architettura ci sono le sorgenti, le fonti da cui i dati che popoleranno

il data warehouse devono essere estratti. Comprendono i database operazionali dell’organizzazione, ma anche altre basi di dati e/o sorgenti interne o esterne all’organizzazione stessa che possono essere strutturate secondo varie forme. La fase di popolamento può far uso di un database intermedio tra le sorgenti e il data

(2)

warehouse vero e proprio chiamato staging area. A valle del data warehouse ci può essere un altro tipo di base di dati chiamata data mart. I data mart sono dei piccoli data warehouse tematici contenenti un estratto dell’informazione contenuta nel data warehouse completo. Utilizzando i data mart è possibile definire viste del data warehouse che contengono un sotto-insieme delle informazioni.

Un’architettura con solo il DW si dice centralizzata, quindi i dati saranno tutti nel data warehouse centrale.

Il Processo ETL

Il processo ETL si compone di 3 macro-fasi il cui obbiettivo è quello di estrarre, trasformare e caricare i dati nel data warehouse.

 Estrazione

Definisce quali dati devono essere estratti, l’estrazione può essere:

- Statica: se vengono considerati tutti i dati presenti nelle sorgenti

- Incrementale: se vengono presi in considerazione solo i dati prodotti o modificati dalle sorgenti nell’intervallo di tempo intercorso dall’ultimo aggiornamento del data warehouse

 Trasformazione

Le principali operazioni di trasformazione che vengono eseguite sono:

- Pulizia dei dati: i dati delle sorgenti potrebbero contenere errori, per cui vanno corretti - Riconciliazione: raggruppa i dati diversi per “oggetto”

- Standardizzazione dei formati: i dati devono essere resi omogenei con delle operazioni di standardizzazione

- Ricerca e eliminazione dei duplicati

 Caricamento

Si occupa di trasferire i dati nel data warehouse

Le funzionalità svolte dagli strumenti ETL sono supportate e documentate da metadati, che di solito sono raccolto in un repository che include:

 Struttura del DW

 Metadati operazionali

 Metadati per mappare i dati operazionali ai dati caricati

 Statistiche d’uso

Approccio multidimensionale dei dati IPERCUBO

Il classico modello relazionale non è soddisfacente per realizzare una base di dati analitica; per questo motivo si ricorre ad altri tipi di modelli, come il modello multidimensionale.

In tale modello l’informazione è rappresentata tramite il concetto di ipercubo, formato da un numero variabile di dimensioni N in cui ogni dimensione è una dimensione di analisi per la base di dati. Gli elementi costitutivi di una base dati multidimensionale sono:

 Fatto: è l’elemento dell’ipercubo ottenuto specificando un valore per ogni dimensione

 Dimensione: coordinate di ciascun elemento che corrispondono a dimensioni di analisi

 Misura: valore quantitativo del fatto elementare

(3)

MODELLO CONCETTUALE DEL DATA WAREHOUSE

La progettazione di un data warehouse come insieme di dati multidimensionali passa attraverso una progettazione di tipo concettuale, logica e fisica.

Il più utilizzato è il Dimensional Fact Model (DFM). Nel DFM, il fatto è rappresentato come un rettangolo contenente le misure corrispondenti. Le dimensioni sono invece rappresentate come cerchi etichettati collegati al fatto stesso. Le dimensioni possono essere semplici attributi del fatto oppure delle gerarchie, rappresentate come alberi che hanno come radici le dimensioni di base. Alcuni attributi delle gerarchie possono essere opzionali e questo viene indicato nel DFM tramite una barra sulla linea corrispondente all’attributo.

Modelli logici del data warehouse MOLAP (Multidimensional OLAP) Traduce il modello concettuale in un database multidimensionale che può essere interrogata utilizzando motori multidimensionali progettati

appositamente per trattare questa tipologia di dati

ROLAP (Relational OLAP) Traduce il modello concettuale multidimensionale in un modello relazionale che rappresenta quindi i dati mediante l’uso di tabelle e permette di svolgere le interrogazioni utilizzando i linguaggi di interrogazione noti bassati su SQL ed effettuando operazioni di JOIN sulle tabelle descriventi il fatto e le sue dimensioni

HOLAP (Hybrid OLAP) Traduce il modello

multidimensionale in modo ibrido, solitamente utilizzando un

database relazionale per il data warehouse, limitando

l’occupazione di spazio

permettendo l’interazione con strumenti conosciuti

Operazioni sul Data Warehouse

Il DW comprende anche un insieme di tecniche che possono essere utilizzate per analizzare i dati.

 DRILL DOWN: operazione che permette di ottenere dati più dettagliati scendendo lungo una gerarchia di una dimensione e quindi passando da un livello di aggregazione più alto ad uno più basso

 ROLL UP: operazione dove il livello di dettaglio si riduce passando ad un livello di granularità minore lungo una dimensione di analisi

 SLICE: permette di focalizzare l’analisi su una porzione dei dati fissando il valore per una delle dimensioni di analisi

 DICE: focalizzare l’analisi su un insieme di coordinate a qualsiasi livello gerarchico per qualsiasi dimensione desiderata

Data Mining

(4)

Il data mining è l’attività volta a riconoscere ed estrarre in modo automatico informazioni nascoste da basi di dati di grandi dimensioni, come ad esempio il data warehouse (pattern)

Il processo di data mining è composto dai seguenti passaggi:

1. Selezione dei dati ritenuti di interesse ai fini dell’analisi 2. Pulizia dei dati al fine di eliminare inconsistenze o errori

3. Integrazione dei dati provenienti da fonti diverse al fine di renderli consistenti 4. Trasformazione e strutturazione dei dati risultati dalle fasi precedenti

5. Analisi di data mining volta alla ricerca di condizioni notevoli all’interno dei dati analizzati 6. Valutazione dei risultati e loro riduzione ai soli ritenuti rilevanti

7. Presentazione dei risultati finali all’utente Si possono usare tecniche diverse:

 Regole associative

Questa prima tecnica parte dall’osservazione di un insieme di elementi (come, ad esempio, delle transazioni commerciali), tra i quali viene ricercata la ricorrenza di coppie o gruppi maggiori di elementi che compaiono più volte insieme. Questa ricerca permette di definire delle regole di ricorrenza, del tipo “se c’è x allora c’è y”.

Queste regole sono supportate da degli indicatori statistici di riferimento:

-il supporto: definito come rapporto tra il numero di transazioni in cui compare la regola “x allora y” e il numero di transazioni totale. Questo indicatore misura quante volte si verifica il pattern individuato.

-la confidenza: definito invece come rapporto tra il numero di transazioni in cui compare la regola

“x allora y” e il numero di transazioni in cui compare x. Questo indicatore, molto più importante, misura la forza della regola che si sta analizzando (in genere, si ricerca una confidenza maggiore di 0,8).

La particolarità di questa tecnica è che le transazioni vengono considerate “isolate”, come fossero realtà separate e distinte tra di loro. Si considerano degli ipotetici “carrelli del supermercato” senza prendere in considerazione la dimensione temporale dell’acquisto o il particolare cliente cui è collegata la transazione

 Tecnica delle sequenze

Anche questa seconda tecnica parte dall’osservazione di grandi moli di elementi (come ad esempio delle transazioni) alla ricerca di una regola del tipo “x allora y”. Rispetto al caso precedente, tuttavia, cambia la natura dell’input: gli elementi che vengono analizzati, infatti, sono un insieme di transazioni tutte riconducibili allo stesso consumatore e che seguono una sequenza temporale. In poche parole, in questo caso si analizzano le operazioni eseguite dalla stessa persona nel corso del tempo, con l’obiettivo di identificare dei comportamenti ripetitivi tra transazioni successive. Regole di questo genere acquistano un significato particolarmente importante per esempio nel mercato finanziario (si pensi, ad esempio, agli andamenti dei titoli) oppure al settore della sanità (si considerino i decorsi delle malattie).

 Classificazione

La classificazione è una tecnica molto utilizzata all’interno delle aziende. In questo caso, in input al tool di classificazione vengono forniti degli elementi (contraddistinti dalla classe di appartenenza, detta training set, definita dall’user) e delle classi. Il tool, quindi, fornisce in output il metodo di classificazione, ossia risale al criterio che è stato utilizzato per dividere gli elementi.

 Clustering

Infine, il clustering è senza ombra di dubbio lo strumento di data mining più utilizzato per la ricerca (al contrario delle aziende, che per ora non lo sfruttano a sufficienza). Questa tecnica, abbastanza simile alla classificazione, consente di analizzare delle informazioni alla ricerca di criteri di classificazione (come ad esempio particolari modelli di comportamento o proprietà). In particolare, si parla di hardware clustering se un elemento può appartenere ad una classe e di fuzzy clustering se invece si consente la sovrapposizione.

(5)

3. RETI DI CALCOLATORI

Principi di trasmissione dei dati

Si può ricondurre tutto ad un modello molto semplice che comprende:

 Un trasmittente che vuole inviare un messaggio

 Un ricevente, che è il destinatario del messaggio

 Un canale di trasmissione su cui il messaggio viene inviato da un trasmittente a un ricevente sotto forma di segnale

Classificazione delle reti

Le reti infatti si possono classificare considerando diversi aspetti: la loro estensione geografica, la topologia con cui sono collocati i nodi nello spazio e la tecnica di instradamento utilizzata

 Per Estensione

- PAN (Personal Area Network): la sua estensione è tra qualche centimetro a pochi metri, e, solitamente, indica reti che collegano dispositivi personali

- LAN (Local Area Network): indica una rete che collega nodi abbastanza vicini, tipicamente all’interno dello stesso edificio o, al più, in edifici adiacenti. In questo caso è presente una figura, il gestore della rete, che si occupa di garantire e controllare le connettività.

- MAN (Metropolitan Area Network): in questo caso la rete copre alcuni chilometri e di solito è limitata a specifiche città urbane. La connettività è garantita da un operatore pubblico o privato che offre la connettività attraverso connessioni tipicamente tipo wired

- WAN (Wide Area Network): indica una rete la cui estensione è di diverse decine o centinaia, di chilometri. Anche in questo caso, vi è un gestore di rete

 Per Topologia

- Bus: esso si caratterizza dalla presenza di un unico canale trasmissivo condiviso tra tutti i nodi. Inizialmente questo tipo di topologia era quello adottato per la comunicazione wired, ora è in disuso

- Anello: è una soluzione particolare che vede la comunicazione diretta solo tra coppie di nodi e assicurandosi che ogni nodo sia collegato a soli altri due nodi. Il protocollo solitamente utilizzato per garantire la comunicazione su questo tipo di struttura è il token ring, che prevede la definizione di un verso di percorrenza dei messaggi e il principio secondo il quale un nodo può inviare un messaggio solo se è in possesso del token

- Stella: ad oggi quella più utilizzata, in questo caso oltre ai nodi di elaborazione, vi è presente anche un nodo aggiuntivo detto hub. In questo caso i nodi non sono collegati direttamente tra di loro, ma attraverso una connessione all’hub

- Magliate (o mesh): possono essere complete o parziali. Nel primo caso si ha una soluzione che prevede la presenza di un mezzo trasmissivo per ogni coppia di nodi, questa viene detta maglia completa. Il secondo caso non prevede più la presenza di una connessione diretta tra tutti i nodi, dov’è sufficiente che nessuno dei nodi risulti isolato.

 Per tecnica di Instradamento

- Dedicato: il collegamento tra i nodi è da considerarsi esclusivo per i due nodi collegati - Commutato: il collegamento tra i due nodi viene creato solo quando serve utilizzando i

collegamenti esistenti che sono condivisi

Stack protocollare ISO/OSI

Fornisce un modello di riferimento per i protocolli che regolano la comunicazione tra due o più nodi di elaborazione.

Lo stack identifica i principi architetturali che detti protocolli devono soddisfare e i servizi che devono fornire.

(6)

La pila ISO/OSI è composta da 7 livelli, ogni livello si occupa di fornire un insieme di strumenti per fornire servizi al livello successivo della pila. Supponendo che tutti i nodi coinvolti nella comunicazione supportino questo insieme di servizio, livelli pari sui nodi diversi comunicheranno attraverso un determinato protocollo.

- Fisico: si occupa della trasmissione vera e propria del pacchetto, ricevuto dal livello dati, secondo un particolare mezzo trasmissivo

- Dati: a questo livello, ad ogni interfaccia di rete viene assegnato un indirizzo univoco a livello

globale che lo caratterizza indipendentemente dalla rete in cui il nodo è inserito. Indirizzo fisico detto MAC address. Oltre all’indirizzamento, a questo livello si regolamento l’accesso al mezzo trasmissivo, soprattutto se esso è in condivisione.

- Rete: quando la comunicazione non interessa due nodi direttamente collegati, a questo livello si forniscono gli strumenti per garantire comunque la possibilità di scambiarsi pacchetti. Ciò richiede l’identificazione dei percorsi più adatti per far giungere a destinazione finale i pacchetti

- Trasporto: in questo livello sono supportati tutti i meccanismi, governati da opportuni protocolli, in grado di far comunicare le diverse applicazioni in esecuzione sul nodo

- Sessione: siccome le diverse applicazioni presenti sul nodo possono richiedere l’accesso alla rete contemporaneamente, a questo livello deve essere garantito l’isolamento tra i flussi di messaggi generati dalle diverse applicazioni

- Presentazione: questo livello considera le modalità più adeguate a rappresentare l’informazione contenuta nei messaggi sulla base delle caratteristiche del nodo

- Applicazione: questo livello può essere identificato dall’applicazione che genera e riceve messaggi SUITE PROTOCOLLI TCP/IP

Rappresenta un insieme di protocolli i cui rappresentanti principali sono il TCP (Transmission Control Protocol), per il livello di trasporto, e l’IP (internet Protocol), per il livello di rete. Questi costituiscono l’asse portante di Internet su poi poggiano protocolli applicativi quali, ad esempio, http per fornire il servizio Web IP

Il protocollo IP è parte fondamentale dell’ossatura della rete Intrnet. L’IP fornisce un insieme di servizi atti a garantire la trasmissione di messaggi tra nodi non direttamente collegati tra loro. A tal fine, il protocollo prevede che ogni host, che esso sia un router o un nodo finale, sia univocamente identificato. Aver un indirizzo unico all’interno della stessa rete permette al nodo mittente di indicare sull’envelop del messaggio il destinatario in modo univoco, e quindi di evitare errori nella trasmissione. Gli indirizzi IP sono costruiti non solo garantendo la loro unicità ma anche in modo da contenere informazioni riguardo la struttura della rete e, quindi alla posizione del nodo all’interno della rete e, quindi alla posizione del nodo all’interno della rete.

Oltre alla classificazione per classi è possibile distinguere gli indirizzi IP in pubblici e privati:

 Pubblico: indirizzo che è univoco su tutta la rete e permette di far comunicare un host con qualunque dispositivo su internet. Tali indirizzi sono assegnati dall’ICANN (Internet Corporation for Assigned Names and Numbers), un ente internazionale che ha il compito di assegnare, previa richiesta, blocchi di indirizzi di una certa classe.

 Privati: ve ne sono degli insiemi predefiniti per ognuna delle classi. Permette agli hot di comunicare con l’esterno, cioè con la rete pubblica. Questo poiché l’uso di indirizzi privati non è regolamentato e potrebbe accadere che diversi host li utilizzino contemporaneamente e , quindi, non sia garantita a livello di rete globale, l’unicità tra indirizzi IP

Un qualunque dispositivo collegato ad internet, come detto in precedenza, deve avere per definizione un indirizzo IP. Tale indirizzo viene assegnato dal gestore della rete che, avendo ottenuto un blocco di indirizzi di una certa classe, decide tale assegnamento. Una volta ottenuto l’indirizzo, il dispositivo sarà sempre identificato da esso. Tale indirizzo IP è anche detto statico e non potrà essere usato da nessun altro

(7)

dispositivo, anche se il dispositivo proprietario dell’indirizzo in questione è spento o non fisicamente collegato alla rete.

Siccome gli indirizzi IP a disposizione non sono sufficienti per coprire il numero di host si adottano due tecniche:

 Dinamica: utilizzando un particolare protocollo, detto DHCP, i dispositivi della rete richiedono ad un server DHCP un indirizzo tra il set di indirizzi disponibili, il quale ne assegna uno per tempo stabilito.

Scaduto il tempo, se il dispositivo è ancora attivo, allora ne richiederà il rinnovo, altrimenti l’indirizzo sarà considerato di nuovo libero.

 Mix tra pubblici e privati: il router assegna degli indirizzi privati ai suoi host sottostanti e se l’host deve comunicare pubblicamente il router gli presterà momentaneamente il suo IP pubblico, questa tecnica è detta NAT (Network Adress Translation)

TCP

A livello di trasporto, lo stack protocollare Internet fornisce la possibilità di comunicazione sia di tipo connectionless, sia di tipo connection-oriented. Per la comunicazione di tipo connection-oriented si utilizza il protocollo TCP. Lo scopo del protocollo TCP è creare e gestire una connessione durevole tra i livelli di trasporto dei due nodi in comunicazione. A tal proposito, il protocollo TCP si occupa anche della segmentazione del messaggio, del suo riassemblaggio, del mantenimento della sessione e della gestione del traffico.

 Segmentazione: è richiesta in quanto il messaggio proveniente dal livello applicativo, potrebbe essere di lunghezza troppo elevata per essere trasmesso con unico invio sia per questioni di capacità di canale che di traffico. Il livello di trasporto nel nodo destinazione riceverà in modo disordinato i vari segmenti ma, sfruttando il numero d’ordine, saprà riordinarli e una volta ricostruito il messaggio invierà un messaggio di acknowledgement (ACK), per ogni singolo pacchetto in più quello finale di chiusura

 Controllo di flusso: che impone una velocità massima di reazione dei pacchetti sulla base dell’occupazione del nodo ricevente

 Controllo di gestione: che lato mittente regola la velocità di invio dei pacchetti sulla base dello stato della rete

All’inizio della comunicazione, i due nodi si accordano su quella che deve essere la lunghezza della cosiddetta slinding window che indica il numero di segmenti che contemporaneamente il livello di trasporto può inviare a livello di rete senza congestionare né la rete, né il nodo ricevente.

Il time out è il tempo limite di riferimento. Se il nodo destinazione, o il router ad esso collegato non sono disponibili, il messaggio potrebbe non arrivare mai a destinazione e, in tal caso, il nodo mittente deve esserne consapevole. Deve arrivare prima del time out.

Protocolli Applicativi

Il paradigma di comunicazione è spesso quello clientserver dove, appunto, vi è un processo server che offre la possibilità di accedere a risorse quali file HTML.

Ogni risorsa presente sulla rete è identificata da un nome univoco nel formato URL (Uniform Resource Locator) che si presenta nella forma: protocol://host:porta/path dove:

 Protocol: protocollo da utilizzarsi per accedere a tale risorsa

 Host: può essere l’indirizzo IP del nodo su cui è attivo il servizio che supporta il protocollo specificato, o un nome di facile memorizzazione associato ad esso. Nel secondo caso il nome dell’host è nella forma nomehost.dominiosecondolivello.dominioprimolivello. Il nome dell’host è il nome assegnato all’elaboratore da parte del gestore dei S.I.

 Porta: indica la porta applicativa a cui risponde il servizio applicativo. Alcuni servizi, quali HTTP, FTP, SMTP, hanno una porta predefinita, altri servizi non comuni, invece, possono liberamente usare una porta non già attualmente utilizzata sul nodo.

 Path: indica il percorso, all’interno del file system, di competenza del servizio applicativo, in cui si trova la risorsa

(8)

Tra i protocolli applicativi disponibili sulla infrastruttura Internet, un ruolo fondamentale è ricoperto da http.

Questo protocollo regola la comunicazione tra un nodo di elaborazione su cui è attivo un processo detto http server, in grado di fornire documenti, e un nodo che richiede tali informazioni attraverso un processo detto http client o web browser.

Il protocollo http prevede il supporto per diverse operazioni, detti metodi, i cui principali sono GET, POST, PUT, DELETE. Questi metodi indicano l’operazione da effettuarsi sulla risorsa identificata da un URL secondo quanto indicato in tabella:

Metodo Descrizione

GET Richiede la risorsa al server

POST Invia una richiesta al server

PUT Invia una risorsa al server

DELETE Chiede al server la rimozione di una risorsa

Le pagine http possono essere:

 Statica: la pagina visualizzata dal web browser non cambia fino a che la versione sul web server non viene modificata, e, indipendentemente dall’utente che la richiede, la pagina è sempre identica

 Dinamica: la pagina deve essere generata nel momento in cui viene richiesta

Il protocollo http ha la particolarità di essere STATELESS,cioè di non mantenere la sessione tra chiamate successive dello stesso http client. Ogni richiesta ricevuta da un client non è considerata all’interno di una serie di richieste ma isolata l’una dalle altre.

4. Architetture

Un’architettura è definita come l’insieme dei concetti e delle proprietà fondamentali di un sistema che trova la sua caratterizzazione nelle componenti dell’architettura, le relazioni tra di essi, e i principi seguiti nella sua progettazione ed evoluzione. Al fine di rappresentare una architettura è quindi necessario considerare il sistema secondo tre viste:

 Vista statica: l’insieme di elementi che contribuiscono al sistema di cui si sta definendo l’architettura.

In questa vista è utile anche individuare le dipendenze funzionali tra tali elementi.

 Vista dinamica: come gli elementi si relazionano tra di loro e dialogano durante il funzionamento del sistema

 Vista temporale: come il sistema evolve nel tempo, dalla sua nascita alla sua dismissione

Nell’ambito dei SI, le architetture che si prendono in considerazione riguardano principalmente l’hardware, il software e la rete. In prima battuta è utile considerare due macrocategorie di architetture:

 Centralizzati: si basano su una architettura centralizzata, prevedendo la presenza di un solo nodo di elaborazione su cui è installato tutto il software necessario all’elaborazione dell’informazione.

Questa architettura rappresenta la tipica soluzione dei primi SI, dove le reti avevano diffusione limitata, e dove il costo dell’acquisto e la manutenzione di un singolo nodo era piuttosto elevato

 Distribuito: è costituito da:

- Uno o più nodi di elaborazione che possono eseguire anche applicazioni in locale

- Una o più di applicazioni logicamente indipendenti che collaborano per il proseguimento di obbiettivi comuni attraverso un’infrastruttura di comunicazione

Layer applicativi

L’architettura di un’applicazione può essere molto complessa. E’ possibile però, strutturare le applicazione secondo tre livelli logici, indicati come layer, che trovano corrispondenza in altrettanti strati software nei quali vengono partizionate le applicazioni:

 Presentazione: gestire la logica di presentazione, quindi la modalità di interazione con l’utente:

contiene le modalità di interfacciamento e di rendering delle informazioni. Questo livello è anche accessibile dall’utente tramite una GUI (Graphica User Interface) o un’interfaccia grafica.

(9)

 Applicativa: si occupa delle funzioni da mettere a disposizione dell’utente

 Accesso ai Dati: gestione dell’informazione, eventualmente con accesso ai database, o ai sistemi legacy, o anche a risorse informative disponibili in rete.

I livelli di logica applicativa e di accesso ai dati costituiscono il back-end dell’applicazione e, sono accessibili attraverso delle API (Application Program Interface). A differenza delle GUI, che sono pensate per un utente umano, le API sono rivolte ad altri software. Sono messe a disposizione le informazioni legate all’input della funzione che il programma chiamante dovrà essere in grado di interpretare.

Applicazioni distribuite

Nei sistemi distribuiti, i livelli logici software vengono installati su livelli hardware detti tier, dove un livello rappresenta una macchina, ognuna con la propria capacità elaborativa.

La prima architettura prevede un singolo livello di distribuzione ed è detta SINGLE TIRED. In questo caso, tutti i tre livelli software sono assegnati a una singola macchina. E’ la configurazione classica terminale-host che caratterizzava i sistemi basati su mainframe. TWO TIRED. Qui i livelli applicativi sono divisi tra due nodi di elaborazione. Questa configurazione è stata implementata nella prima generazione dei sistemi client/server.

THREE TIRED: i tre livelli applicativi sono suddivisi, in linea di principio, fra altrettante macchine dedicate, ovvero: una stazione di lavoro utente, un server intermedio e un server di gestione dei dati. Un sistema a tre livelli (tier) conferisce alle infrastrutture ICT maggiori caratteristiche di scalabilità e flessibilità.

Negli ultimi anni, questo tipo di tendenza si è sviluppata ulteriormente proponendo architetture in cui i layer applicativi possono essere distribuiti su un numero n di tier (N-TIRED ARCHITETTURE) generico, dove per diverse funzionalità sono previste diverse macchine dedicate.

Scalabilità

Con scalabilità di un’architettura IT si intende la capacità dell’infrastruttura di soddisfare richieste crescenti da parte degli utenti con aggiornamenti adeguati. In linea generale possiamo identificare due tipi di scalabilità:

 Verticale: l’aumento di prestazioni si ottiene mantenendo inalterato il numero di nodi di elaborazione, ma aumentandone la loro capacità elaborativa

 Orizzontale: l’aumento di capacità avviene attraverso una replicazione dei nodi che costituiscono l’eventuale collo di bottiglia. I processi, che inizialmente il singolo nodo non era in grado di gestire, sono distribuiti tra i nodi replica

Indipendentemente dall’approccio seguito per rendere il proprio sistema scalabile, è sempre abbastanza difficile da dimensionare correttamente il sistema. Nel caso della scalabilità verticale, dimensionare significa capire quanta memoria aggiuntiva installare, mentre, nel caso della scalabilità orizzontale, capire quanti nodi replica introdurre.

In ambito web, non si parla di scalabilità ma di elasticità del sistema: le proprietà di un sistema di non solo aumentare le proprie risorse a fronte di picchi di richieste, ma anche di diminuirle quando le richieste vengono meno.

Server Farm

Seguendo l’approccio orizzontale, i tier fisici possono essere realizzati anche come server farm, ovvero come un insieme di elaboratori che condividono il carico elaborativo, le applicazioni e, a seconda delle configurazioni, i dati.

I sistemi basati su server farm risultano molto scalabili poiché è possibile far fronte ad un incremento dei requisiti introducendo ulteriori macchine senza essere soggetti ai vincoli di upgrade di una singola macchina.

Le server farm possono essere realizzate secondo due principi progettuali:

- Cloning (clonazione): quando sui server vengono installate stesse applicazioni software ed i medesimi dati

- Partitioning (partizione): prevede la duplicazione dell’hardware e del software ma non dei dati, che invece vengono ripartiti tra i nodi. Ogni nodo svolge quindi una funzione specializzata.

(10)

Service Oriented Architecture

La service oriented architecture, definita dal consorzio OASIS “un paradigma per l’organizzazione e l’utilizzo delle funzionalità distribuite che possono essere sotto il controllo di diversi proprietari”. Le parole chiave da cui iniziare ad installare la SOA sono:

 Paradigma: insieme dei modelli e non una tecnologia specifica

 Distributed: architettura distribuita in cui almeno due livelli sono in connessione

 Different Ownership: il proprietario decide cosa esporre e a chi mettere a disposizione

Gli attori principali del SOA che sono, come per ogni ambito dominato dai servizi, il provider e il consumer. Il provider ha il compito di fornire delle funzionalità attraverso dei componenti software accessibili utilizzando protocolli standard.

Virtualizzazione

Permette di astrarre le componenti fisiche di un elaboratore al fine di renderle disponibili in modalità software.

Un CPU virtuale è quindi un componente software che, agli occhi dell’utilizzatore, fornisce capacità di elaborazione come una CPU normale. La differenza sta nel fatto che chiedere l’esecuzione di un calcolo ad una CPU virtuale significa fare una chiamata ad una applicazione (CPU virtuale), la quale trasformerà la chiamata alla CPU fisica ad essa associata. La virtualizzazione ha diversi vantaggi:

 Disaccoppiare le risorse fisiche dalla applicazione che la usa

 Frazionare una risorsa fisica in diverse risorse virtuali

 Condividere la stessa risorsa fisica tra diverse risorse virtuali pur dando l’impressione all’applicazione all’impressione all’applicazione di avere l’uso esclusivo di una parte delle risorse fisiche

L’insieme delle risorse virtuali necessarie al funzionamento di un’applicazione è detta macchina virtuale che, per essere eseguita necessita di una macchina fisica in grado di fornire le risorse reali. La corrispondenza tra risorse reali e virtuali è gestita da uno strato software detto hypervisor o virtual machine monitor il quale si può installare direttamente sulla macchina fisica (bare metal) oppure sopra il sistema operativo della macchina fisica. L’obiettivo dell’hypervisor, indipendentemente dalla sua configurazione, è quello di rendere possibile l’esecuzione di una o più macchine virtuali offrendo alle applicazioni installate sopra di esse, le risorse virtuali a loro assegnate.

Cloud Computing

Il cambio di paradigma nell’apertura dei sistemi attraverso le SOA, unitamente alla flessibilità offerta dalla virtualizzazione, ha generato terreno fertile per il cloud computing.

Questi viene definito dal NIST un paradigma per la realizzazione di architetture applicative che, poggiando su sistemi virtualizzati, possono accedere a tali risorse da qualunque dispositivo connesso alla rete da qualsiasi località. Le particolarità di tali risorse è la possibilità di richiedere on demand, quindi solo quando servono.

Sarà la piattaforma cloud ad offrire i servizi per metterle a disposizione quando necessario e a rilasciarle quando non più utili.

(11)

Le cinque caratteristiche principali affinché un sistema possa essere definito aderente al paradigma cloud sono:

o On-demand self-service: gli utenti possono ottenere risorse in modo autonomo e rapido

o Accesso alla rete onnipresente: gli utenti possono usare reti e protocolli standard e dispositivi adatti per accedere alle risorse coud

o Accesso alle risorse indipendentemente dalla loro localizzazione

o Elasticity: le risorse possono essere rapidamente assegnate, aumentate o ridotte o Monitoraggio sull’utilizzo

I tre modelli base di fornitura (di erogazione) di un sistema basato sul cloud computing sono:

- Infrastructure as a service (IAAS)

Gli elementi infrastrutturali fisici vengono visti nel sistema come elementi virtuali. Si definiscono come virtual machine, macchine virtuali con caratteristiche tipiche di un server fisico (Amazon AWS) - Platform as a service (PAAS)

Si considera una piattaforma in grado di supportare di supportare programmatori nello sviluppo e nel rilascio di applicazioni Cloud-ready (Google App Engine)

- Software as a service (SAAS)

Il modello SAAS prevede la fornitura di un’applicazione via web senza richiedere all’utente nessun sforzo per l’installazione (Gmail)

Vengono definiti quattro tipi di deployment

a) Private cloud: è fornita ad uso esclusivo di una singola organizzazione

b) Community cloud: è fornita ad uso di una comunità di organizzazioni che condividono un obbiettivo o un’esigenza comune

c) Public cloud: l’infrastruttura è fornita ad uso pubblico

d) Hybrid cloud: questo caso corrisponde ad una combinazione delle precedenti

5. Sicurezza dei Sistemi Informativi

La sicurezza nei sistemi informativi è l’insieme delle misure organizzative e tecnologiche tese ad assicurare ad un utente autorizzato l’accesso a tutti e soli i servizi e le risorse previste per quello specifico utente, nei tempi e secondo le modalità predeterminate.

Proprietà di sicurezza

Insieme delle misure atte a proteggere i requisiti che si desidera il sistema soddisfi. Tali requisiti sono definiti secondo le proprietà di sicurezza descritte di seguito:

 Integrità: impedire l’alterazione diretta o indiretta delle informazioni

 Autenticità: poter verificare l’identità del mittente e le informazioni devono essere integre

 Riservatezza: nessun utente deve poter ottenere o dedurre dal sistema informazioni che non è autorizzato a conoscere

 Disponibilità: rendere disponibili a ciascun utente abilitato le informazioni e le disponibilità cui ha diritto accedere

(12)

Minacce, violazioni, vulnerabilità, attacchi

Le minacce a un sistema informativo si distinguono in:

 Fisiche: che danneggiano gli impianti e le infrastrutture

 Logiche: che sottraggono o alterano informazioni o risorse

 Accidentali: ci si riferisce ad errori di configurazione del software e della rete, a malfunzionamenti di programmi, errori di data entry e così via

Le violazioni, ovvero le conseguenze delle minacce, commesse ai danni dei sistemi informativi vengono perpetrate sfruttandone le vulnerabilità e possono comportare svariate situazioni non desiderate o illegittime, tra le quali, oltre all’accesso non autorizzato a risorse del sistema, anche la mancata possibilità di utilizzare le risorse cui si ha accesso.

gli attacchi di sicurezza sono una qualunque azione, messa in atto da individui o organizzazioni, che colpisce Le basi di dati, le infrastrutture, le reti di comunicazioni e/o dispositivi elettronici personali tramite atti malevoli finalizzati al furto, all’alterazione o alla distruzione di elementi specifici (definiti target dell’attacco), violando le regole di accesso ai sistemi. Tra gli attacchi più frequenti a livello di rete menzioniamo:

 Sniffing: intercettazione di messaggi scambiati tra due agenti e quindi accesso non autorizzato di informazioni

 Spoofing: invio di pacchetti con indirizzo di sorgente diverso dal proprio scopo di non farsi identificare o di impersonare un altro agente rubandone l’identità.

 Hijacking: anche detto Man-in-the-middle, combina tecniche di sniffing con tecniche di spoofing al fine di deviare le comunicazioni verso un agente malevolo che è così in grado di intercettare e modificare il traffico in modo invisibile ai sistemi compromessi

 Flooding: intasamento della rete con quantità di traffico non desiderato che porta al blocco o all’irraggiungibilità di un servizio

A livello applicativo invece troviamo attacchi quali:

 Malware: software creato con lo scopo intenzionale di causare danni più o meno gravi

 Backdoor: il progettista può lasciare in un programma una “porta” segreta per superare in parte le procedure di sicurezza attivate, attraverso queste un utente esterno può prendere il controllo remoto della macchina senza alcuna autorizzazione

 Spyware: software usati per raccogliere informazioni dal sistema su cui sono installati e per trasmetterle a un destinatario interessato

Crittografia per la protezione dati

Crittografare significa codificare l’informazione, trasformando il messaggio9 originale in un messaggio cifrato.

I meccanismi di crittografia sono composti da un algoritmo e da una (o più) chiavi. Solo la segretezza della chiave può garantire la riservatezza e l’autenticità dei messaggi. Esistono due classi di algoritmi:

o Algoritmi a chiave simmetrica (o a chiave segreta): esiste una sola chiave, detta segreta o simmetrica, che deve essere condivisa in modo sicuro tra chi invia e chi riceve. K indica la chiave simmetrica

(chiave segreta) condivisa fra mittente e destinatario. In caso di attacchi sul canale insicuro, non si riuscirebbe a captare il testo in chiaro M, potrebbero solo raccogliere un gran numero di messaggi su cui fare crittoanalisi con l’intento di ricavare la chiave K. Per renderli inutili le crittoanalisi e garantire la sicurezza della comunicazione la chiave K deve cambiare spesso. Il problema è che A e B devono trovare un canale sicuro alternativo a quello usato per la trasmissione per scambiarsi di frequente la chiave K segreta.

(13)

o Algoritmi a chiave asimmetrica (chiave pura): si basano su problemi matematicamente complessi e sul fatto che ogni soggetto possieda una coppia di chiavi. Una chiave pubblica KP e una chiave corrispondente chiave privata KPR. La correlazione tra le due chiavi riguarda il principio di un algoritmo di crittografia asimmetrica: tutto ciò che è cifrato con una della due chiavi può essere decifrato con l’altra chiave della coppia. In questo caso il mittente A cifra il messaggio con la chiave

pubblica di B e, pertanto, il messaggio può essere decifrato solo con la chiave privata di B. questo garantisce la proprietà di riservatezza in quanto B sarà l’unico in grado di decifrare il messaggio e di conseguenza il mittente ha la garanzia che il messaggio non venga letto da agenti non autorizzati. Il punto debole di questo meccanismo è che tutti si possono fingere A all’interno della comunicazione, con problemi di attacchi di tipo Man-in-the-middle.

Integrità e Funzione di Hash

Gli algoritmi di crittografia simmetrica e asimmetrica garantiscono le proprietà di riservatezza e autenticità.

Per riuscire a fornire anche una garanzia in termini di integrità di cui si deve avvalere delle funzioni di hash.

E’ una funzione che trasforma un messaggio M di lunghezza arbitraria in un output di lunghezza fissa chiamato impronta digitale o digest del messaggio originale. La funzione di hash viene utilizzata in quest’ambito in quanto caratterizzata dalle seguenti proprietà:

 Coerenza: messaggi uguali deve essere associato lo stesso digest

 Univocità: probabilità che due messaggi diversi siano associati allo stesso digest deve essere quasi nulla

 Non invertibilità: la funzione non deve essere invertibile

Generalmente un mittente che vuole spedire un messaggio concatenato all’impronta. Una volta ricevuto il messaggio il destinatario deve disaccoppiare il messaggio dall’impronta e ricalcolare l’impronta del messaggio ricevuto, generando il digest “fresco”. Se l’impronta ricevuta e quella calcolata a partire dal messaggio ricevuto sono uguali allora si può dire che il messaggio è integro altrimenti è stato manipolato da agenti non autorizzati.

Firma digitale

Obbiettivo della creazione e apposizione a un dato/informazione di una firma digitale è garantire l’autenticità dei dati e identificare con certezza il loro creatore, è definito come il digest crittografico di un documento, ottenuto utilizzando la chiave privata del mittente del documento.

(14)

La firma digitale richiede un tempo di elaborazione lungo e in genere non viene usata in processi di rete che richiedono alte prestazioni, ma solo in soluzioni applicative in cui direttamente coinvolgono un agente umano.

Inoltre, la firma digitale, poiché dipende non solo dalla chiave privata del firmatario, ma anche tramite il digest, è diversa per ogni diverso insieme di dati che viene firmato. La firma apposta su un documento elettronico quindi non può essere semplicemente copiata ed apposta su un documento diverso. Infine, essa non solo identifica chi ha generato i dati, ma dimostra anche i dati non sono stati modificati dopo essere stati firmati ed è quindi più forte della autografa.

Per poter applicare gli algoritmi di crittografia, e talvolta anche quelli di digest, occorre che le parti interessate posseggano e condividano le chiavi. Questo aspetto è detto gestione delle chiavi (key management) e richiede la soluzione di vari sotto problemi, quali la generazione e la conservazione delle chiavi e lo scambio delle chiavi (key exchange o key distribution).

La generazione delle chiavi deve essere fatta direttamente da chi effettuerà le operazioni crittografiche, le chiavi crittografiche dovrebbero essere stringhe casuali di bit e quindi per la loro generazione si può utilizzare un Random Number Generetor (RNG). La qualità del RNG determina la qualità del sistema di sicurezza.

Le chiavi pubbliche vengono diffuse tramite una struttura dati denominata Certificato a Chiave pubblica o PKC (Public Key Certificate) di cui esistono vari formati. I sistemi che supportano la generazione e gestione delle chiavi sono dette PKI (Public Key Infrastructure). Si tratta di infrastrutture che forniscono metodi e strumenti per realizzare le funzioni crittografiche di base per una certa comunità di utenti, quali:

- Emissione di certificati a chiave pubblica, dopo aver svolto i dovuti controlli tecnici e procedurali - Revoca dei certificati a chiave pubblica

- distribuzione dei certificati a chiave pubblica e delle informazioni circa i certificati revocati

L’utente richiede un certificato personale all’entità certificatrice (CA) la quale svolge il ruolo di notaio, garantendo l’identità delle parti e svolgendo anche il ruolo di notaio, garantendo l’identità delle parti e svolgendo anche il ruolo di Autorità di Registrazione (RA). In alternativa, la CA può ricorrere a una terza parte fidata per il ruolo di RA, in carico di identificare l’utente, tramite una apposita fase di acquisizione delle credenziali di fiducia. I certificati sono memorizzati in un Repository opportunamente condiviso nell’ambiente di cooperazione, cui si cede per verificare l’identità di una parte. Tale Repository deve rilasciare anche

(15)

informazioni sullo stato dei certificati, i quali hanno una scadenza o possono essere revocati su di revocare i certificati scaduti.

Autenticazione e Autorizzazione

Preliminarmente ad ogni controllo di sicurezza, è necessario autenticare gli agenti prima di permettere loro di aprire un canale di comunicazione o di accedere a informazioni situate in Intranet o in zone protette. I meccanismi di autenticazione permettono al sistema di riconoscere in modo certo un agente, richiedendogli credenziali che lo portano a un passo più avanzato nell’accesso al sistema.

Un agente può essere identificato sfruttando una o più delle seguenti caratteristiche:

SOMETHING YOU KNOW-SYK: un’informazione conosciuta

SOMETHING YOU HAVE-SYH: un oggetto posseduto

SOMETHING YOU ARE-SYA: una caratteristica fisica, nel caso di persone

Mentre l’autenticazione permette di verificare la licenza di un identificativo (credenziali), associando un agente a una identità precisa, l’autorizzazione è la fase in cui si verifica se l’agente è autorizzato a svolgere la funzione richiesta, quali, per esempio funzioni del sistema operativo (per esempio, accesso ai file), funzioni applicative (business process, task) e programmi.

Sistemi di controllo di accesso ai dati

Quando si parla di DBMS sicuri ci si riferisce alle politiche e ai meccanismi del DBMS per proteggere i dati da accessi illegittimi. Rispetto ai controlli di accesso messi in atto da un sistema operativo, per il DBMS gli aspetti importanti sono la granularità degli oggetti protetti, le correlazioni sistematiche dei dati, l’esistenza dei metadati, che vanno anch’essi protetti, la molteplicità dei tipi. I controlli di accesso nei DBMS si basano su regole di accesso composte da:

 Autorizzatori: si permette al possessore di una risorsa di gestire gli accessi in modo selettivo

 Soggetti: sono utenti (definiti dai loro user profile), amministratori e programmatori applicativi, gruppi o classi, transazioni o applicazioni

 Oggetti: la scelta di granularità degli oggetti protetti è cruciale per l’efficacia/efficienza dei controlli

 Diritti: indica i modi di accesso

La definizione delle regole è dettata dalle politiche di sicurezza. In linea generale è possibile distinguere tra due approcci: a sistema chiuso e a sistema aperto. Le politiche di accesso in un sistema chiuso prevedono che gli accessi permessi sono tutti e soli quelli specificati dalle regole. Quindi tutto ciò che non è esplicitamente permesso è da considerarsi vietato. Al contrario, in un sistema aperto, gli accessi permessi sono tutti, tranne quelli che vengono espressamente vietati tramite regole. Pertanto, tutto ciò che non è esplicitamente vietato è da considerarsi permesso.

Meccanismi di Sicurezza Infrastrutturali: Firewall e IDS

Gli strumenti in grado di fornire contromisure rispetto agli attacchi a un sistema informativo a livello di architettura fisica consistono principalmente nel realizzare una configurazione sicura del sistema operativo, dei client e dei server e nell’attuare, tramite adeguati componenti architetturali politiche di autenticazione degli utenti, di controllo degli accessi, e di log delle attività.

Un Firewall è un insieme di componenti hardware e/o software che collegano una rete fidata a una rete insicura. Esso controlla, implementando opportune policy di sicurezza, il traffico in entrata e in uscita della rete sicura con lo scopo di prevenire, rilevare e annullare eventuali attacchi e richieste non autorizzate.

Costituiscono una barriera tra le reti interne (Intranet e/o Extranet) sicure e le reti esterne che possono essere anche non affidabili, come Internet. Installare un firewall non significa essere sicuri: un firewall installato e non configurato è inutile. L’aumento del grado di sicurezza portato da un firewall dipende dalla correttezza delle regole specificate. Inoltre, l’adozione di un firewall deve seguire tre leggi principali:

o Deve essere l’unico punto di contatto tra la rete interna e l’esterno o Tutti pacchetti devono essere bloccati, tranne quelli “autorizzati”

o Deve essere un sistema sicuro a sua volta

(16)

Anche i firewall sono soggetti ad attacchi che mirano a riconfigurare le regole di filtraggio dei pacchetti. Per la protezione dei firewall occorre che eventuali funzioni di configurazione remota siano disabilitate. Altri attacchi ai firewall sono tesi a modificare le tabelle interne di routing ed aggirare in tal modo eventuali altri firewall posti a difesa della rete interna.

Un Intrusion Detection System (IDS) è un componente hardware e/o software che attua il processo di monitoraggio degli eventi di un sistema, o di una rete di calcolo con obbiettivo l’individuazione delle intrusioni, definite con tentativi di compromettere la confidenzialità, l’integrità o la disponibilità del sistema.

Si definisce Intrusion Detection (ID) il processo di monitoraggio degli eventi di un sistema, o di una rete, cercando tracce evidente di intrusioni. Intrusion prevention è l’estensione del concetto di ID con aspetti di controllo dell’accesso volti a proteggere i sistemi da tentatviv di sfruttamento malevolo di risorse. IDS, infine sono i sistemi che atomizzano il processo di Intrusion Detection, identificando intrusioni di utenti non autorizzati e di utenti autorizzati. Talvolta gli IDS interagiscono con i firewall. Le principali assunzioni su cui si basano gli IDS sono:

 Le attività di sistema sono osservabili

 Le attività normali e quelle intrusive hanno evidenze diverse

 Da una prospettiva algoritmica, si usano Features e modelli

 Da una prospettiva architetturale, sono necessari vari componenti

6. Enterprise Information System

All’interno di un’organizzazione un sistema informativo è un sistema, spesso complesso in relazione alla complessità dell’organizzazione, formato da diverse applicazioni chiamate Enterprise Information System che sono nella maggior parte dei casi modulari.

La modularità è una caratteristica fondamentale in quanto migliora la manutenibilità dell’architettura. La modularità consente di cambiare moduli lasciandone inalterati altri e quindi consente di fare cambiare senza impattare sull’intera architettura, ma solo sul/sui modulo/i interessati.

ERP

L’ERP (Enterprise Resource Planning) è una suite software che offre moduli a supporto del sistema operazionale e quindi delle transazioni interne all’organizzazione finalizzate alla gestione dell’impresa. Un sistema ERP nasce per offrire le funzionalità della catena del valore di Porter.

Il bisogno di integrare o semplicemente far comunicare le applicazioni mette infatti, in luce i punti dell’approccio, quali:

1. Il bisogno di un notevole sforzo informatico per gestire i flussi di informazione tra applicazione 2. La ridondanza dei dati che provoca disallineamento tra gli stessi favorendo errori e incongruenze 3. La difficoltà nell’avere una visione di insieme dei dati presente nei diversi sottoinsiemi

(17)

Questi problemi finiscono con il favorire la diffusione degli ERP, che si contraddistinguono per tre proprietà fondamentali:

a) Unicità dell’informazione: si riferisce alla presenza di una unica rappresentazione logica dei dati validi per ogni modulo all’interno dell’ERP

b) Modularità: la suite è composta da moduli autosufficienti che possono essere acquisiti e integrati in modo incrementale

c) Prescritta: è legata al fatto che questi prodotti incorporano la logica di “funzionamento” dell’impresa Rappresentazione schematica dell’organizzazione di un sistema ERP. I moduli rappresentati sono alcune tra le funzionalità principali implementate dalle best practice. I moduli

si possono classificare in tre categorie: sistemi istituzionali, moduli settoriali (attività primarie) e moduli direzionali. Moduli istituzionali e moduli direzionali sono moduli orizzontali, ovvero intersettoriali.

I moduli settoriali sono verticali, ovvero specifici di un determinato contesto aziendale. I moduli direzionali forniscono elaborazioni dei dati volte a dare una visione d’insieme delle attività svolte a livello operativo, quindi con elementi quali i cruscotti, la reportistica e analisi economiche o di business inteligence avanzate.

Dal punto di vista architetturale, si possono individuare tre approcci

principali dettati dall’evoluzione delle tecnologie nel tempo. Negli anni ’90 l’ERP era installato nelle organizzazioni utilizzando principalmente il paradigma client-server. Con la diffusione del Web, i vendor ERP hanno iniziato ad offrire Web-based ERP: ERP sviluppati come applicazioni web e quindi fruibili attraverso l’utilizzo di un browser.

CRM

Il CRM (Customer Relationship Management) è una suite software che supporta le organizzazioni nella loro interazione con i clienti. Il CRM pone al centro della strategia aziendale il cliente. Il CRM viene di solito utilizzato per capire meglio i bisogni e i comportamenti dei clienti e per migliorare l’utilizzo dei canali di interazione con gli stessi. Il CRM viene spesso inquadrato come estensione dell’ERP in quanto fornisce funzionalità aggiuntive per la gestione del cliente a partire dal contatto con lo stesso fino ad arrivare ai servizi post-vendita. L’opportunità create del CRM sono maggiori in settori in cui si ha un maggiore intensità della relazione con la clientela. I sistemi CRM forniscono maggiori funzioni rispetto ai sistemi di logistica commerciale delle suite ERP. I punti chiave del CRM sono il supporto alla relazione con il cliente attraverso molteplici canali finalizzato al contatto in entrata e in uscita, il supporto post-vendita e gestione della lealtà e l’analisi del comportamento del cliente.

I due componenti principali del CRM sono il CRM operativo e il CRM analitico. Il CRM operativo è il modulo di front-end e supporta le interazioni giornaliere con i clienti; è costituito da diversi componenti per supportare le attività di vendita, di marketing e di supporto al cliente.

 Marketing

La strategia delle aziende non si focalizza più sull’estendere la clientela e vendere i propri prodotti a più clienti possibili, ma sul fidelizzare il più possibile i clienti esistenti e quindi vendere più prodotti a clienti già acquisiti. Questo è realizzabile solo tramite una buona progettazione di campagne di marketing orientate al

(18)

singolo cliente o a piccoli gruppi di clienti.

 Automazione Vendite

Il reparto vendite è stato il primo ad utilizzare il CRM con uno dei primi componenti ad essere sviluppati: il Sales Force Automation (SFA). SFA è un modulo che viene utilizzato dagli agenti di vendita e li supporta lungo tutto il processo di vendita: identificazione del cliente, gestione

del contatto, definizione dell’offerta al cliente e registrazione dell’acquisto.

 Servizi ai Clienti

Curare le relazioni nella parte post-vendita risulta spesso anche più importante per consolidare i rapporti con i clienti e fidelizzarli.

Il CRM analitico è inquadrato come modulo di back-end e si occupa principalmente dell’analisi dei dati dei clienti. Queste analisi sono rese possibili dall’utilizzo di data warehouse e sistemi di data mining. Questi sistemi velocemente aggregano, analizzano e diffondono informazioni all’interno dell’organizzazione per supportare al meglio il processo decisionale. Il CRM analitico ha tre finalità principali:

 Reporting: aiuta a capire chi sono i clienti, le loro caratteristiche e preferenze

 Analysis: aiuta a segmentare i clienti in categorie

 Predicting: aiuta l’organizzazione a predire le azioni e i desideri dei clienti

Il CRM collaborativo si pone l’obbiettivo di calcolare alcuni indici rilevanti per l’intera azienda, quali la profittabilità e la soddisfazione dei clienti e di condividere tali informazioni a altri dati estratti dal CRM analitico con alcuni attori all’interno dell’organizzazione.

SCM

SCM (Supply Chain Management) è un software che supporta la pianificazione e l’esecuzione della supply chain dando benefici soprattutto ad aziende in cui la numerosità dei fornitori è elevata e si ha una certa complessità operazionale a livello produttivo.

La gestione della supply chain può essere caratterizzata da numerose inefficienze quali ad esempio mancanza di materiali, sottoutilizzo, della capacità degli impianti, eccessivo numero di prodotti finiti o alti costi di trasporto. Il software per la gestione della supply chain fornisce informazioni per aiutare i membri della supply chain a pianificare la loro supply chain e eseguire i passi della supply chain.

I sistemi di SCM supportano tutte le fasi della supply chain nel seguente modo:

- Plan (pianificazione): i moduli di SCM supportano l’identificazione di strategie in grado di soddisfare al meglio i bisogni e le richieste dei clienti

- Source (approvvigionamento): i sistemi SCM aiutano l’azienda a decidere a chi affidarsi per consegnare i prodotti in tempo

- Make (produzione): relativamente a questa fase il software monitora il processo di produzione e il magazzino

- Deliver (consegna): sulla base di informazioni dei fornitori dei servizi di consegna quali tempo di consegna, numero di consegne fallite, efficacia di metodi di comunicazione e invio documenti, risposta a richieste di consegnare urgente e costi di consegna, i sistemi di SCM aiutano a scegliere il fornitore giusto per ottimizzare il processo di consegna

- Return (resi): i resi sono analizzati per capire la soddisfazione del cliente e per capire se il supply chain può essere ulteriormente ottimizzato

(19)

7. La Progettazione dei Sistemi Informativi

Il sistema informativo si deve adattare ai cambiamenti dettati dal business che può cambiare strategia o esigenze sia ai cambiamenti dettati all’evoluzione tecnologica.

Quindi un progetto legato all’evoluzione di un sistema informativo può derivare da spinte tecnologiche (tecnology push) e spinte di business (requirements pull) che vanno conciliate e integrate per lo sviluppo

organico del sistema informativo.

Per definire la struttura del sistema informativo si ricorre al concetto di architettura. L’architettura di un sistema informativo può essere vista come la descrizione dei suoi componenti, delle relazioni fra gli stessi e dei principi che definiscono la loro progettazione e evoluzione nel tempo. Se proviamo ad applicare questo concetto generale di architettura a un’organizzazione e al suo sistema informativo arriviamo alla definizione di Enterprise Architecture.

L’Enterprise Architecture viene definita come il mezzo per analizzarlo e descrivere un’organizzazione nel suo stato attuale e futuro partendo da una prospettiva integrata di strategia, business e tecnologia. In una Enterprise Architecture le componenti riguardano i dati, gli applicativi, le risorse organizzative, i processi aziendali. Pertanto, il livello di astrazione considerato in questo ambito è più elevato rispetto al dettaglio molto tecnico discusso nella presentazione delle precedenti architetture. L’Enterprise Architecture può essere vista cioè come un bluprint di alto livello del sistema, che serve per capire la sua struttura interna come supporto alla sua progettazione, riprogettazione, configurazione e manutenzione.

The Open Group, il cui obiettivo è quello di fornire un framework integrato per la gestione delle EA, dalla loro progettazione alla realizzazione, con enfasi sul ciclo di miglioramento continuo. Senza entrare troppo nei dettagli di TOGAF, ciò che è importante ricordare è che si basa su tre aspetti principali:

a) Enterprise Architecture Domains b) ADM

c) Enterprise Continuum

Il Progetto di Gestione del Sistema Informativo

Il metodo ADM offre evidenza di come nella realizzazione di una applicazione, la progettazione debba assumere un carattere sistematico basato su una chiara metodologia. Non seguire un approccio sistematico è possibile solo quando si ha a che fare con sistemi molti ridotti e di complessità limitata.

Volendo semplificare il metodo ADM, d’ora in avanti considereremo un processo più semplice dove la gestione del sistema informativo può essere rappresentata da quattro fasi principali sempre organizzati in un ciclo, in un’ottica di miglioramento continuo.

o Pianificazione: fase in cui si delineano le linee guida strategiche, il ruolo delle componenti organizzative e le istruzioni operative per la realizzazione

o Sviluppo: raccolta e analisi dei requisiti e sviluppo del software e definizione delle architetture hardware

o Gestione corrente: interventi di routine eseguite per il mantenimento del sistema

o Controllo: operazioni effettuate in modo periodico per valutare l’adeguamento del sistema informativo

Una volta realizzato il sistema informativo, questo viene continuamente controllato per analizzare il bisogno di cambiamenti. I cambiamenti che possono causare l’evoluzione del sistema informativo possono avvenire per cause:

 Esogene all’organizzazione: variazioni di leggi

 Endogene all’organizzazione: esigenza di un rinnovamento tecnologico

(20)

Pianificazione

L’obbiettivo della pianificazione è predisporre una proposta di progetto che il committente possa approvare.

I ruoli coinvolti in questa fase sono: il committente che è colui che approva/finanzia il progetto, il/i soggetto/i interni o esterni all’azienda che predispongono il piano, i referenti dell’azienda che sono coloro che sono interessati al progetto. L’attività di pianificazione comprende due attività:

 Pianificazione Strategica: si identificano gli obbiettivi che richiedono interventi di natura informatica

 Studio di Fattibilità: si identificano le alternative progettuali Pianificazione Strategica

La fase di pianificazione strategica si basa sull’acquisizione della conoscenza sulla situazione attuale dell’impresa e sull’identificazione delle aree e/o processi che necessitano interventi informatici. Si tratta di un’attività complessa e delicata che mira a realizzare il tanto ambito allineamento tra IT e il business, secondo cui la strategia dei sistemi informativi dovrebbe essere in linea con gli obbiettivi di business. Le attività principale della pianificazione strategica sono:

 Analisi delle opportunità di sviluppo del sistema informativo

 Analisi dei fabbisogni informativi Studio di Fattibilità

Lo studio di fattibilità precisa le caratteristiche di un potenziale intervento al sistema informativo.

Mira in primo luogo a definire le aree organizzative su cui bisogna lavorare e a delineare i miglioramenti da apportare per ogni area considerata. Una volta definito in questo modo l’ambito in cui si dovranno definire i progetti informatici, si passa alla stesura dei requisiti funzionali: si descrivono ad alto livello le funzionalità che il sistema dovrebbe fornire. Questa prima attività deve porre i vincoli che la stesura dei progetti deve considerare.

La progettazione delle soluzioni si compone in tre fasi:

1. Identificazione delle soluzioni: sulla base delle specifiche funzionali e i vincoli definiti nella fase precedente si definiscono le soluzioni informatiche in grado di soddisfarli

2. Analisi di fattibilità tecnica: vengono descritte le varie soluzioni per rispondere alle esigenze delle fasi precedenti

3. Valutazione degli impatti organizzativi: l’introduzione di una nuova soluzione IT ha solitamente diversi impatti all’interno di un’azienda. E’ necessario valutare questo impatto per valutare eventuali limiti nella realizzabilità del sistema.

Opzioni di Gestione dei Sistemi Informativi

In fase di pianificazione è necessario operare delle scelte sia nelle modalità di acquisizione e sviliuppo dei componenti applicativi sia nella gestione dell’infrastruttura fisica che può essere interna o esterna.

Focalizzandoci sulle opportunità di gestione dell’infrastruttura fisica, di lato vengono elencati e descritti i possibili livelli di servizi di outsourcing distinguendo diverse opzioni.

Riferimenti

Documenti correlati

Il responsabile del Servizio di protocollo informatico (o l’operatore protocollista) deve comunque accertare che si tratti del medesimo documento; qualora vi fosse

•  ai corsi di studio e alle unità di ricerca elementi comparativi per un miglioramento della qualità delle loro attività. •  al MIUR le informazioni necessarie ai fini

Al termine della compilazione dei campi richiesti, cliccando sul pulsante “Salva torre” si torna alla Sezione 3 descritta in precedenza nell’apposito paragrafo, dove sarà

Il modulo SMAP del progetto SINA prevede l'analisi ed il controllo della qualità delle acque superficiali, sotterranee e marine e dei sedimenti marini dell'Area a Rischio Ambientale

rilevazione sistematica di ciò che è accaduto e consentire, quindi, di formare i bilanci aziendali, ovvero situazioni di sintesi che rappresentano il risultato della gestione

ottenere questa nuova gerarchia nella vostra home

a a definendo la struttura generale definendo la struttura generale dei dati.

La trasmissione dei dati è realizzata tramite una rete aziendale (sistema ERP – Enterprise Resource Planning) con collegate le unità di elaborazione delle diverse funzioni aziendali