08.02.2014 Views

Tecnologia dei sistemi informativi - Progettoatena.It

Tecnologia dei sistemi informativi - Progettoatena.It

Tecnologia dei sistemi informativi - Progettoatena.It

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Tecnologia</strong><br />

<strong>dei</strong> <strong>sistemi</strong><br />

<strong>informativi</strong><br />

tecnologia S.I. 1<br />

Sistema Informativo<br />

• comprende risorse umane<br />

• è fortemente integrato con il sistema<br />

organizzativo<br />

• è essenziale per il funzionamento<br />

dell'azienda<br />

tecnologia S.I. 2


Architettura <strong>dei</strong> <strong>sistemi</strong> informatici<br />

LAN<br />

MAN<br />

distribuzione<br />

geografica<br />

ufficio<br />

città<br />

WAN<br />

tecnologia S.I. 3<br />

Paradigma client-server<br />

• tecnica per strutturare<br />

<strong>sistemi</strong> software<br />

• viene resa “pubblica”<br />

una “interfaccia<br />

di servizi”<br />

• due tipologie di<br />

<strong>sistemi</strong>:<br />

CLIENT<br />

richiedono i servizi<br />

SERVER<br />

forniscono i servizi<br />

servizi<br />

richiesti<br />

dal CLIENT<br />

svolti dai<br />

SERVER<br />

tecnologia S.I. 4


Client-server<br />

nei <strong>sistemi</strong> <strong>informativi</strong><br />

• separazione funzionale ideale<br />

CLIENT : presentazione dell'informazione<br />

SERVER : gestione <strong>dei</strong> dati<br />

• SQL : il linguaggio ideale per separare gli<br />

ambienti<br />

CLIENT : formula query, elabora risultati<br />

SERVER : esegue query<br />

RETE : trasferisce i comandi di attivazione<br />

(es: di procedure SQL)<br />

tecnologia S.I. 5<br />

Architettura client-server<br />

classica (1 tierideale)<br />

CLIENT<br />

compone richieste<br />

in SQL<br />

SERVER<br />

esegue richieste<br />

in SQL<br />

tecnologia S.I. 6


Architettura con server<br />

applicativo (2 tiervera)<br />

CLIENT<br />

richiede<br />

applicazioni<br />

CLIENT<br />

CLIENT<br />

SERVER<br />

APPLICATIVO<br />

compone richieste<br />

in SQL<br />

DATABASE<br />

SERVER<br />

esegue richieste<br />

in SQL<br />

tecnologia S.I. 7<br />

Parallelismo nei server<br />

• uso di macchine<br />

multiprocessore<br />

• elaborazione<br />

identica su ciascun<br />

processore<br />

• obiettivo :<br />

prestazioni<br />

DATABASE SERVER<br />

con parallelismo<br />

processori<br />

base di dati<br />

parallela<br />

dischi<br />

tecnologia S.I. 8


Distribuzione <strong>dei</strong> dati<br />

• NON SOLO presenza<br />

di molteplici<br />

basi di dati<br />

• MA ANCHE presenza<br />

di applicazioni che<br />

usano dati provenienti<br />

da più fonti<br />

CLIENT<br />

applicazione<br />

base di dati<br />

distribuita<br />

DATABASE<br />

SERVER 1<br />

DATABASE<br />

SERVER 2<br />

tecnologia S.I. 9<br />

Replicazione <strong>dei</strong> dati<br />

• motivazione: maggior disponibilità, efficienza<br />

differente trattamento <strong>dei</strong> dati<br />

base di dati replicata<br />

copia<br />

principale<br />

copia<br />

secondaria<br />

copia<br />

secondaria<br />

tecnologia S.I. 10


Separazione funzionale degli ambienti<br />

• ambiente operativo: gestione "in linea" <strong>dei</strong><br />

dati, finalizzato alla gestione delle<br />

modifiche<br />

On Line Transaction Processing (OLTP)<br />

• ambiente di analisi: gestione "fuori linea" <strong>dei</strong><br />

dati, finalizzato ad interrogazioni e<br />

analisi statistiche<br />

On Line Analytical Processing (OLAP)<br />

tecnologia S.I. 11<br />

Ambiente per l'analisi :<br />

data warehouse<br />

• data warehouse: descrizione organizzata di<br />

tutti i dati<br />

• necessari per una analisi strategica del<br />

comportamento dell'impresa<br />

• Analisi Multidimensionale<br />

• Data Mining<br />

tecnologia S.I. 12


Ambiente per l'analisi :<br />

data warehouse<br />

CLIENT<br />

OLTP<br />

CLIENT<br />

OLAP<br />

DATABASE<br />

SERVER<br />

DATABASE<br />

SERVER<br />

DATA<br />

WAREHOUSE<br />

tecnologia S.I. 13<br />

Sistemi “LEGACY”<br />

• <strong>sistemi</strong> realizzati su architetture basate su<br />

MAINFRAME (grande calcolatore centrale)<br />

cui si collegano terminali poco sofisticati<br />

(con interfaccia a caratteri) …(<strong>sistemi</strong><br />

..ereditati)<br />

tecnologia S.I. 14


Sistemi “LEGACY”<br />

terminale 1<br />

MAINFRAME<br />

terminale 2<br />

terminale 3<br />

terminale 4<br />

MODEM<br />

linea telefonica<br />

MODEM<br />

terminale 5<br />

DATABASE<br />

sistema legacy<br />

tecnologia S.I. 15<br />

Molti <strong>sistemi</strong> LEGACY sono<br />

tecnologicamente superati<br />

• scelta dell'hardware<br />

• scelta del software (COBOL, DL/1, RPG)<br />

• su archivi separati (senza DBMS)<br />

però sono <strong>sistemi</strong> affidabili in operatività<br />

il cui funzionamento continuo è<br />

indispensabile<br />

tecnologia S.I. 16


Evoluzione <strong>dei</strong> <strong>sistemi</strong> legacy<br />

• downsizing:<br />

- trasformazione verso architetture<br />

client-server<br />

• incapsulamento:<br />

- definizione di funzioni server di alto<br />

livello richiamabili tramite interfacce<br />

client standard che mascherano la<br />

reale struttura del software<br />

tecnologia S.I. 17<br />

Interoperabilità<br />

• capacità di costruire applicazioni con <strong>sistemi</strong><br />

fra loro eterogenei:<br />

- diverso sistema operativo<br />

- diverso protocollo di comunicazione<br />

- diverso software di gestione <strong>dei</strong> dati<br />

Soluzioni per l’interoperabilità<br />

1 standard commerciali<br />

2 GATEWAY:<br />

emulazione di un ambiente in un altro<br />

tecnologia S.I. 18


Standard<br />

un mondo complicatissimo e in perenne evoluzione<br />

a software di costruzione delle applicazioni<br />

(ODBC: open data base connectivity)<br />

b software di gestione <strong>dei</strong> dati<br />

(SQL: structured query language)<br />

c software di gestione delle reti<br />

(TCP- IP: transmission control protocolinternet<br />

protocol)<br />

d software di base (sistema operativo)<br />

(UNIX, WINDOWS- NT)<br />

tecnologia S.I. 19<br />

Uso <strong>dei</strong> GATEWAY<br />

• tra <strong>sistemi</strong> relazionali<br />

• verso LEGACY SYSTEM<br />

gateway<br />

SISTEMA<br />

RELAZIONALE<br />

UTENTE<br />

REL<br />

UTENTE<br />

LEGACY<br />

MAINFRAME<br />

DATABASE<br />

LEGACY<br />

DATABASE<br />

RELAZIONALE<br />

UTENTE<br />

RELAZIONALE<br />

tecnologia S.I. 20


Evoluzione delle interfacce<br />

• orientate ad utenti inesperti<br />

• grafiche (GUI: graphic user interface)<br />

• spesso multi- mediali<br />

• influenzate da Internet<br />

tecnologia S.I. 21<br />

Data Base<br />

Management<br />

Systems<br />

(DBMS)<br />

tecnologia S.I. 22


Uso <strong>dei</strong> linguaggi di programmazione<br />

P<br />

R<br />

O<br />

G<br />

R<br />

S<br />

O<br />

FILE<br />

FILE<br />

FILE<br />

FILE<br />

dichiarazione <strong>dei</strong> files , dichiarazione sull'uso<br />

dichiarazione delle variabili del programma<br />

apertura <strong>dei</strong> files<br />

per tutti i records{ciclo/i di elaborazione}<br />

se ok presentazione/modifica<br />

chiusura <strong>dei</strong> files<br />

tecnologia S.I. 23<br />

DBMS<br />

P<br />

R<br />

O<br />

G<br />

D<br />

B<br />

M<br />

S<br />

FILE<br />

FILE<br />

FILE<br />

FILE<br />

LOG<br />

DIZ 1<br />

2<br />

3<br />

Il DBMS è un componente fondamentale<br />

del Sistema Informativo<br />

tecnologia S.I. 24


uso del DBMS<br />

ISTRUZIONI DBMS (SQL) sulla relazione: IMPIEGATI<br />

(MATR,NOME,DNO,LAVORO,SALARIO,MGR...)<br />

SELECT NOME<br />

FROM IMPIEGATI<br />

WHERE DNO = 50<br />

AND LAVORO = 'PROGRAMMATORE'<br />

AND SALARIO > 15000000<br />

UPDATE IMPIEGATI<br />

SET SALARIO = SALARIO*1.2<br />

WHERE DNO = 50<br />

Le stesse istruzioni possono essere utilizzate sia<br />

da terminale che all'interno di un programma "ospite".<br />

tecnologia S.I. 25<br />

OBIETTIVI DEL DBMS<br />

1 STANDARDIZZAZIONE DEI DATI ALL'INTERNO<br />

DELL’ORGANIZZAZIONE<br />

catalogazione unificata <strong>dei</strong> files (relazioni),<br />

chiarezza, disponibilità per molti utenti<br />

ESEMPIO SQL<br />

SYSCATALOG: catalogo delle relazioni<br />

(TNAME, OWNER, NCOLS, CARD, CLUST, NPAG, ..)<br />

( IMPIEGATI,TIBERIO,6,4000,Y,200,...)<br />

SYS COLUMNS:catalogo delle colonne<br />

(COLNAME,TNAME,TYPE,LENGTH,MAX, MIN...)<br />

( NOME, IMPIEGATI,CHAR,30 VAR...)<br />

SYSINDEXES, SYSAUTH, SYSVIEWS, ecc.<br />

tecnologia S.I. 26


OBIETTIVI DEL DBMS<br />

2 INTEGRAZIONE / CONSISTENZA<br />

Evitare versioni multiple dello stesso dato<br />

gestione delle versioni multiple,<br />

3 CONSISTENZA / INTEGRITÀ / SICUREZZA<br />

Possibilità di imporre vincoli sui dati in modo da<br />

mantenere (per quanto possibile) la consistenza di<br />

valori successivi. Ogni tentativo di violazione viene<br />

segnalato.<br />

gestione delle conseguenze delle violazioni.<br />

4 PROTEZIONE DELL'INVESTIMENTO IN SOFTWARE<br />

ridurre al minimo il rifacimento del software<br />

indipendenza <strong>dei</strong> dati dalla struttura fisica<br />

tecnologia S.I. 27<br />

OBIETTIVI DEL DBMS<br />

5 FACILITÀ DI USO DEI DATI<br />

• linguaggio di interrogazione interattivo (SQL, QBElike),<br />

• svincolare la programmazione di tipo applicativo<br />

dalle strutture fisiche(INDICI), possibilità di<br />

ristrutturare le strutture fisiche senza dover alterare<br />

i programmi applicativi,<br />

• creazione di VISTE.<br />

6 SEGRETEZZA/PRIVATEZZA<br />

controllo della autorizzazione all'accesso ed all'uso.<br />

7 RECOVERY<br />

ripristino automatico <strong>dei</strong> dati in caso di guasti.<br />

tecnologia S.I. 28


OBIETTIVI DEL DBMS<br />

8 CONDIVISIONE DEI DATI: l'utente può<br />

– interrogare i cataloghi (senza modificare)<br />

– creare nuove relazioni<br />

– interrogare e/o modificare i files PUBBLICI<br />

– interrogare e modificare i propri FILES<br />

– interrogare e/o modificare files di altri per i<br />

quali ha avuto l'AUTORIZZAZIONE<br />

– ACCESSO CONCORRENTE: gestione degli<br />

accessi di più utenti agli stessi dati senza<br />

interferenza<br />

tecnologia S.I. 29<br />

ESEMPIO DI SISTEMA DI FILES "RISCHIOSO"<br />

ANAGRAFICA PRODOTTI<br />

CONSISTENZA MAGAZZINO<br />

FORNITURE DALL'ESTERNO<br />

PAGAMENTO FATTURE<br />

FORNITURE ALL'ESTERNO<br />

EMISSIONE FATTURE<br />

DBA<br />

DATI PER LA FINANZA<br />

ANAGRAFICA CLIENTI<br />

ANAGRAFICA FORNITORI<br />

tecnologia S.I. 30


ESEMPIO DI SISTEMA DI FILES "RISCHIOSO"<br />

ACQUISTI<br />

ANAGRAFICA<br />

PRODOTTI<br />

giallo<br />

giallo<br />

VENDITE<br />

giallo<br />

verde<br />

blu<br />

nero<br />

tecnologia S.I. 31<br />

Linguaggi relazionali : SQL<br />

• Struttura tipica: SELECT <br />

FROM <br />

WHERE <br />

SELECT<br />

WHERE<br />

NOME FROM IMPIEGATI<br />

DNO = 40 AND LAVORO = 'PROGR'<br />

l'utente esprime "cosa vuole" ma non come i dati<br />

devono essere cercati nel sistema<br />

• Sistemi DBMS: "non navigazionali"/"navigazionali"<br />

<strong>sistemi</strong> relazionali/ <strong>sistemi</strong> reticolari e gerarchici<br />

tecnologia S.I. 32


Definizione di viste:views<br />

IMPIEGATI (MATR,NOME,DNO,LAVORO,SALARIO,MGR...)<br />

1) l'utente può creare una relazione permanente<br />

(DNO40P)<br />

CREATE TABLE DNO40P (def......... )<br />

INSERT INTO DNO40P:<br />

SELECT MATR, LAVORO, MGR<br />

FROM IMPIEGATI<br />

WHERE DNO = 40<br />

tecnologia S.I. 33<br />

Definizione di viste:views<br />

2)oppure: DEFINE VIEW DNO40 AS:<br />

SELECT MATR, LAVORO, MGR<br />

FROM IMPIEGATI WHERE DNO = 40<br />

La vista corrisponde a:<br />

DNO40(MATR,LAVORO,MGR)<br />

Il sistema traduce automaticamente una query sulla<br />

vista in una query sulla relazione effettiva:<br />

SELECT MATR FROM DNO40<br />

WHERE LAVORO = ‘rag’<br />

SELECT MATR FROM IMPIEGATI<br />

WHERE DNO = 40 AND LAVORO = ‘rag’<br />

tecnologia S.I. 34


Esecuzione delle query<br />

Cosa fa il sistema:<br />

1) controlla la correttezza formale dello<br />

statement (query, interrogazione)<br />

ad esempio la query su IMPIEGATI<br />

2) verifica l'esistenza del file IMPIEGATI<br />

- verifica l'autorizzazione all'accesso<br />

- verifica l'esistenza delle colonne (campi)<br />

citate nella query<br />

- verifica il rispetto di eventuali vincoli di<br />

integrità<br />

tecnologia S.I. 35<br />

Esecuzione delle query<br />

3) OTTIMIZZA L'INTERROGAZIONE:<br />

– controlla se esistono vie di accesso (indici)<br />

su IMPIEGATI (la scansione sequenziale è<br />

sempre disponibile)<br />

– ne valuta il costo<br />

– sceglie la strategia di costo minimo<br />

– esegue l'interrogazione<br />

NEI SISTEMI RELAZIONALI ESISTE UN MODULO<br />

OTTIMIZZATORE<br />

(l'ottimizzazione viene eseguita controllando le<br />

informazioni contenute nei vari cataloghi)<br />

tecnologia S.I. 36


Protezione dell'investimento in software<br />

• Ridurre al minimo il rifacimento del software<br />

• Rendere i dati indipendenti dalla struttura fisica<br />

ciò si ottiene:<br />

svincolando la programmazione di tipo<br />

applicativo dalle strutture fisiche<br />

fornendo la possibilità di ristrutturare<br />

senza dover alterare i programmi applicativi.<br />

• Entro certi limiti si può:<br />

- aggiungere o eliminare campi di una relazione<br />

- cambiare la definizione <strong>dei</strong> campi<br />

- scaricare e ricaricare la relazione secondo un<br />

altro criterio<br />

- aggiungere o eliminare indici (vie d’accesso)<br />

- aggiungere VISTE<br />

tecnologia S.I. 37<br />

SQL: cenno storico<br />

• DB relazionale:<br />

– E.F. Codd: “A Relational Model for Large Shared Data Banks”.<br />

Comm. ACM, 13, 6, 1970.<br />

SQL:<br />

– Chamberlin D.D., Astrahan M.M., Eswaran K.P., Griffiths P.P., Lorie<br />

R.A., Mehl J.W., Price T.G., Reisner P., Wade B.W.:”SEQUEL2: A<br />

Unified View to Data Definition, Manipulation and Control”. IBM J.<br />

Res. Dev., 20, 6, 1976.<br />

•SYSTEM R:<br />

– Astrahan M.M., Blasgen M.W., Chamberlin D.D., Gray J.M., King<br />

W.F.,Lindsay B.G., Lorie R.A., Mehl J.W., Price T.G., Putzolu G.R.,<br />

Schkolnick M., Selinger P.P., Slutz P.P.R., Strong H.R., Traiger I. L.,<br />

Wade B.W., Yost R.A.:” System R:, Relational Approach to<br />

Database Management”. ACM Trans. on Database Syst., 1, 2, 1976.<br />

– Astrahan M.M., Blasgen M.W., Chamberlin D.D., Gray J.M., King<br />

W.F.,Lindsay B.G., Lorie R.A., Mehl J.W., Price T.G., Putzolu G.R.,<br />

Schkolnick M., Selinger P.P., Slutz P.P.R., Strong H.R., Tiberio P.,<br />

Traiger I. L., Wade B.W., Yost R.A.:”System R: A Relational<br />

Database Management System”. IEEE Computer, 12, 5, 1979.<br />

tecnologia S.I. 38

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!