TECNICHE DI PROGRAMMAZIONE PER I SISTEMI DISTRIBUITI - canale 1
Anno accademico 2015/2016 - 1° anno
Docente: Orazio TOMARCHIO
Crediti: 9
SSD: ING-INF/05 - Sistemi di elaborazione delle informazioni
Modalità di erogazione: Tradizionale
Organizzazione didattica: 225 ore d'impegno totale, 176 di studio individuale, 49 di lezione frontale
Semestre: 2°
ENGLISH VERSION
Crediti: 9
SSD: ING-INF/05 - Sistemi di elaborazione delle informazioni
Modalità di erogazione: Tradizionale
Organizzazione didattica: 225 ore d'impegno totale, 176 di studio individuale, 49 di lezione frontale
Semestre: 2°
ENGLISH VERSION
Obiettivi formativi
- Conoscenza modelli architetturali applicazioni distribuite
- Conoscenza sistemi ad oggetti distribuiti
- Conoscenza delle architetture container-based.
- Conoscenza middleware e framework di supporto ad applicazioni di livello enterprise
- Conoscenza della piattaforma Java Enterprise Edition
- Conoscenza sistemi ad oggetti distribuiti
- Conoscenza delle architetture container-based.
- Conoscenza middleware e framework di supporto ad applicazioni di livello enterprise
- Conoscenza della piattaforma Java Enterprise Edition
Prerequisiti richiesti
- Fondamenti di programmazione
- Programmazione orientata agli oggetti
Frequenza lezioni
Obbligatoria
Contenuti del corso
- Richiami su programmazione orientata agli oggetti
- Programmazione orientata agli oggetti. Concetto di classe e oggetto. Ereditarietà, polimorfismo e information-hiding. Classi astratte ed interfacce. Collezioni e Generics. Stream. Gestione delle eccezioni. Ambienti integrati di sviluppo.
- Sistemi distribuiti: generalità e caratteristiche di base.
- Metodologie e modelli architetturali per la progettazione di applicazioni di livello enterprise.
- Evoluzione di modelli a componenti e loro integrazione con architetture distribuite.
- Le architetture a livelli: livello di presentazione, di business logic e di integrazione, accesso ai dati.
- Sistemi ad oggetti distribuiti: la tecnologia Java RMI.
- Application Server e framework di supporto runtime ad applicazioni distribuite di livello enterprise
- Il modello a componenti Enterprise Java Beans EJB3.x
- Context and Dependency Injection
- Session bean stateless e stateful
- Servizi di naming e directory (JNDI)
- Messaging: il modello Java Message Service (JMS) e i Message Driven Bean
- Persistenza : il modello JPA. Accesso e interazione con dati
- Il modello di sicurezza in EJB
- Servizi offerti dal contenitore
- Service Oriented Architectures
- Il modello a “servizi”. Web services.
Testi di riferimento
- R.P. Sriganesh, G. Brose and M. Silverman
Mastering Enterprise JavaBeans 3.0
Wiley, 2006
- B. Burke, R. Monson-Haefel
Enterprise JavaBeans 3.1
O'Reilly, 2010
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
L'esame consiste di
- un elaborato pratico
-
una prova orale
Elaborato pratico e prova orale finale cercheranno di valutare il livello di apprendimento raggiunto sia in termini di metodologie di progettazione architetturale e modelli, sia in termini di operatività implementativa in relazione alle principali tecnologie descritte e utilizzate nel corso.