TECNOLOGIE INFORMATICHE PER LA GESTIONE AZIENDALE
A.A. - Anno corso |
2004/2003
|
Nome: |
Tecnologie Informatiche per la Gestione Aziendale
|
Professore: | |
Ore totali lezioni: |
49
|
Ore totali esercitazioni: |
21
|
Ore totale laboratorio: |
20
|
Propedeuticità: |
Sistemi Informativi
|
Crediti: |
0
|
Obiettivi: | |
Le finalità del corso sono: · far conoscere agli allievi i concetti base dei sistemi distribuiti; · introdurre una tecnologia middleware di base per lo sviluppo di un sistema informativo. Obiettivo del corso è portare lo studente a: · conoscere i principi e le tecniche di base di programmazione distribuita; · conoscere le problematiche, le soluzioni e le tecnologie dei sistemi distribuiti con particolare riferimento ai requisiti di prestazioni, affidabilità e sicurezza; · conoscere una tecnologia middleware di base per la programmazione distribuita; saper progettare e realizzare un semplice, ma completo, sistema informativo distribuito a più livelli. |
|
Programma: | |
Il linguaggio Java: concetti e costrutti di base Tipi primitivi ed operatori. Classi ed oggetti. Campi, metodi e costruttori. Variabili. Assegnamenti, inizializzazioni e conversioni di tipo. Gestione della memoria e garbage collection. Array e stringhe. Commenti, commenti di documentazione e strumento javadoc. Pacchetti, Ereditarietà, Interfacce, Classi Astratte e finali. Le eccezioni. I flussi e la serializzazione. Principi e tecniche di programmazione distribuita Il modello cliente servitore. Primitive di comunicazione: semantica e modalità di denominazione. La programmazione di rete mediante l’interfaccia socket. Esemplificazione con il linguaggio Java. Il problema dei produttori e consumatori. La chiamata di procedura remota: architettura e semantiche. Server con e senza stato. Esemplificazione con SUN RPC. Il modello ad oggetti distribuiti e l’invocazione remota di metodi. Esemplificazione con Java RMI. Elementi di programmazione concorrente a memoria condivisa. Il problema della mutua esclusione e della sincronizzazione sullo stato di una risorsa. Esemplificazione con i Java thread. Accesso ad un database relazionale. Esemplificazione con JDBC. Principi e tecniche di progettazione di sistemi distribuiti Sistemi distribuiti sincroni ed asincroni. Il problema dell’agreement e della rilevazione dei guasti nei sistemi distribuiti. Il problema della sincronizzazione dei clock e sua rilevanza in ambito aziendale: il sistema IBM DCE Time Service. Soluzioni architetturali e tecnologiche orientate alle prestazioni ed all’affidabilitá dei server. Speed up e soluzioni off-the-shelf per migliorare lo speedup. Impatto della gerarchia di memoria sullo speedup. I sistemi RAID. Le architetture UMA, NUMA e di clustering. I multiprocessori SMP. Analisi di alcune soluzioni commerciali: IBM ed Unisys.La sicurezza delle informazioni aziendali: requisiti, politiche e meccanismi. Il problema dell’autenticazione: dalle password alle infrastrutture a chiave pubblica. Il Single-Sign On. Il controllo degli accessi: le politiche discrezionali (DAC) obbligatorie (MAC) e basate sui ruoli (RBAC). |
|
Testi: | |
· B. Eckel, Thinking in Java - Edizione italiana, Apogeo, 2002 · E. Ansuini, A. Llioy, A. Massari, M. Mecella, E. Melis, M. Mezzalama, G. Raiss, G. Santucci e C. Simonelli, Sistemi Informativi, Volume V - Sistemi Distribuiti, Franco Angeli, 2001. · Paolo Ancilotti e Maurelio Boari, Principi e tecniche di programmazione concorrente, UTET Libreria, 1987. · George Colouris, Jean Dollimore e Tim Kindberg, Distributed Systems, Concepts and Design. Third Edition Addison-Wesley, 2001. · Dispense fornite dal docente. |
|
Esami: | |
L'esame si svolge, di norma, come segue: a) discussione e verifica del progetto assegnato al candidato; b) prova orale. L’esito positivo della prova di cui al punto A vale anche negli appelli successivi. Il voto finale tiene conto sia della preparazione raggiunta dal candidato (sulla base del progetto e della prova orale), sia della capacità di esprimersi in un linguaggio tecnico appropriato (in Italiano o in Inglese). |
|
Link utili: |
Ultime modifiche: giovedì, 29 settembre 2011, 15:28