Programma, Bibliografia e Modalitá d'esame

Programma

Tecnologie Middleware di Base.

L'architettura dei sistemi informativi moderni: sistemi centralizzati, sistemi distribuiti, l'architettura cliente-servitore. Il modello ad oggetti distributi ed esemplificazione con il linguaggio Java. Concetti e costrutti base del linguaggio Java. Elementi di programmazione concorrente a memoria condivisa. Il problema della mutua esclusione e della sincronizzazione. Esemplificazione con i Java thread. La programmazione di rete mediante i socket Java. Elementi di programmazione distribuita. Le chiamate di procedura remota: architettura e semantica. I server con e senza stato. Esemplificazione con SUN RPC. Il modello ad oggetti distribuiti e l'invocazione remota dei metodi. Esemplificazione con Java RMI. Accesso ad un database relazionale, la tecnologia JDBC e cenni al trattamento dei sistemi legacy.

Architetture e Tecnologie orientate alle prestazioni, all'affidabilità ed alla sicurezza dei sistemi informativi

Speed up e soluzioni off-the-shelf per migliorare lo speedup. Impatto della gerarchia di memoria sullo speedup. Le architetture UMA, NUMA e di clustering. I multiprocessori SMP. Supporti e sistemi di memorizzazione: RAID, SAN e NAS. Analisi di alcune soluzioni commerciali.

La sicurezza delle informazioni aziendali: requisiti, politiche e meccanismi. Il problema dell'autenticazione: dalle password alle infrastrutture a chiave pubblica. Il Single-Sign On . Elementi di controllo degli accessi: le politiche discrezionali (DAC), le politiche obbligatorie (MAC) e le politiche basate basate sui ruoli (RBAC). Analisi di alcune soluzioni commerciali.

Bibliografia

Modalitá d'esame

L'esame, di norma, consiste

  1. nella discussione e verifica di un progetto assegnato a candidato e
  2. nella sola 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).