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:
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

Prerequisiti richiesti

  • Fondamenti di programmazione
  • Programmazione orientata agli oggetti

Frequenza lezioni

Obbligatoria


Contenuti del corso

  1. 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.
  2. 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.
  3. Sistemi ad oggetti distribuiti: la tecnologia Java RMI.
  4. Application Server e framework di supporto runtime ad applicazioni distribuite di livello enterprise
  5. 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
  6. 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.