PROGRAMMAZIONE DISTRIBUITA

Vittorio SCARANO PROGRAMMAZIONE DISTRIBUITA

0512100021
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA
INFORMATICA
2016/2017



OBBLIGATORIO
ANNO CORSO 3
ANNO ORDINAMENTO 2008
PRIMO SEMESTRE
CFUOREATTIVITÀ
648LEZIONE
330LABORATORIO


Obiettivi
"CONOSCENZA E CAPACITÀ DI COMPRENSIONE":
L'INSEGNAMENTO HA UN PRIMO OBIETTIVO DI ASPETTI RELATIVI ALLA PROGRAMMAZIONE DISTRIBUITA. PARTENDO DALLE BASI DI PROGRAMMAZIONE CONCORRENTE (MULTITHREAD), SI ESAMINANO LE ARCHITETTURE DISTRIBUITE E LE PROBLEMATICHE INERENTI. VIENE PRESENTATA LA ARCHITETTURA DI JAVA REMOTE METHOD INVOCATION E VENGONO PRESENTATE ALCUNE SEMPLICI APPLICAZIONI IN JAVA. SUCCESSIVAMENTE SI APPROFONDISCONO GLI ASPETTI RELATIVI ALLA PROGRAMMAZIONE ENTERPRISE AD UN LIVELLO MEDIO-ALTO PRESENTANDO LA ARCHITETTURA JAVA ENTERPRISE EDITION (JAVA EE 7), PARTENDO DAI PRINCIPI DI BASE, PASSANDO PER IL LAYER DEI DATI QUELLO DI BUSINESS, QUELLO DEI SERVIZI E QUALCHE CENNO SUL LAYER DI PRESENTAZIONE. SERVICE ORIENTED ARCHITECTURE E MESSAGE ORIENTED MIDDLEWARE SARANNO PRESENTATE COME PARTE DELLA JAVA ENTERPRISE ARCHITECTURE.

CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE:
GLI STUDENTI ACQUISIRANNO LA CAPACITÀ DI DESCRIVERE, PROGETTARE E SVILUPPARE APPLICAZIONI DISTRIBUITE CON PROPRIETÀ DI LINGUAGGIO.

Prerequisiti
LO STUDENTE DEVE AVERE ACQUISITO CONOSCENZE SULL'ARCHITETTURA DELLE RETI E SUI PROTOCOLLI TCP/IP E SULLA PROGRAMMAZIONE CLIENT/SERVER. LO STUDENTE DEVE AVERE ANCHE UNA BUONA ESPERIENZA DI PROGRAMMAZIONE IN C E JAVA, CON ESPERIENZA DI ALMENO UNA IDE DI BUON LIVELLO. E' AUSPICABILE CHE LO STUDENTE ABBIA ANCHE CONOSCENZE DI BASE DELLE PRINCIPALI TECNICHE DI SVILUPPO PER APPLICAZIONI WEB.
Contenuti
TEORIA

- COMPUTAZIONE DISTRIBUITA E SISTEMI DISTRIBUITI. ARCHITETTURE, REMOTE PROCEDURE CALL, DISTRIBUTED OBJECT COMPUTING, IL MIDDLEWARE, I REQUISITI DI
UN SISTEMA DISTRIBUITO, LA TRASPARENZA DI UN SISTEMA
DISTRIBUITO.
- ARCHITETTURA CLIENT-SERVER E PEER2PEER.
- OGGETTI DISTRIBUITI. DAI SOCKET AGLI OGGETTI DISTRIBUITI. LA TRASPARENZA DEL MODELLO.
- APPLICAZIONI A COMPONENTI DISTRIBUITE (CENNI). COMPONENT TRANSACTION MONITOR E APPLICATION SERVER. PRINCIPI ED OBIETTIVI DI JAVA 2
ENTERPRISE EDITION.
- ARCHITETTURE SOFTWARE PER I SISTEMI DISTRIBUITI. PATTERN E STILI ARCHITETTURALI. ARCHITETTURA A LAYER. DEPLOYMENT, ARCHETIPI E CROSSCUTTING
CONCERNS.
- SERVICE ORIENTED ARCHITECTURE
- MESSAGE ORIENTED MIDDLEWARE

PRATICA
- PROGRAMMAZIONE MULTITHREAD IN JAVA.
- JAVA REMOTE METHOD INVOCATION: SCOPI, ARCHITETTURA, ALCUNI PATTERN (FACTORY, CALLBACK), DOWNLOAD DINAMICO DELLE CLASSI. JAVA ENTERPRISE EDITION.
ARCHITETTURA. CONTEXT AND DEPENDENCY INJECTION. NETBEANS. BEAN VALIDATION. JAVA PERSISTENCE API. ENTERPRISE JAVABEANS. JAVA TRANSACTIONS
(CENNI). JAVA SECURITY AND AUTHENTICATION SERVICES. JAVA SERVERFACES (CENNI). JAVA MESSAGING SERVICES. JAVA WEB SERVICES. RESTFUL SERVICES
(CENNI).
- CENNI SU CLOUD COMPUTING.
Metodi Didattici
L'INSEGNAMENTO PREVEDE LEZIONI TEORICHE (PARI A 6 CFU) SULLE ARCHITETTURE E LE FUNZIONALITÀ ED ALCUNE LEZIONI DI LABORATORIO (PARI A 3 CFU) DOVE GLI STUDENTI SVILUPPANO SEMPLICI APPLICAZIONI JAVA RMI E JAVA ENTERPRISE
Verifica dell'apprendimento
SEI APPELLI DISTRIBUITI NEL CORSO DELL'ANNO ACCADEMICO, OLTRE A DUE APPELLI RISERVATI AGLI STUDENTI FUORI CORSO. PER OGNI APPELLO È
PREVISTA UNA PROVA SCRITTA/PRATICA ED UNA PROVA ORALE. LA PROVA SCRITTA/PRATICA MIRA A VERIFICARE L'ACQUISIZIONE DELLE COMPETENZE RELATIVE ALLO SVILUPPO DI SEMPLICI APPLICAZIONI JAVA (RMI ED ENTERPRISE) MENTRE LA PROVA ORALE A VERIFICARE L'ACQUISIZIONE DEI CONCETTI TEORICI PRESENTATI DURANTE L'INSEGNAMENTO.
LA PROVA SCRITTA È PROPEDEUTICA A QUELLA ORALE.
IL VOTO VIENE CALCOLATO CON UNA MEDIA PESATA DEI VOTI DELLE DUE PROVE SOSTENUTE.
Testi
- VITTORIO SCARANO “PROGRAMMAZIONE CON OGGETTI DISTRIBUITI”, ACQUISTABILE ONLINE A HTTP://ILMIOLIBRO.KATAWEB.IT/SCHEDALIBRO.ASP?ID=399705
- BEGINNING JAVA ENTERPRISE EDITION, ANTONIO GONCALVES, APRESS
- MICROSOFT APPLICATION GUIDE
Altre Informazioni
SULLA PIATTAFORMA DI DIPARTIMENTO SONO DISPONIBILI INFORMAZIONI PER OGNI LEZIONE, I CODICI DEGLI ESEMPI
DISCUSSI NELLE LEZIONI DI LABORATORIO, TRACCE DI ESAMI E ALTRO MATERIALE DI SUPPORTO (MANUALI DI PROGRAMMAZIONE, TUTORIAL, ARTICOLI A SUPPORTO) SULLA HTTP://ELEARNING.INFORMATICA.UNISA.IT/EL-PLATFORM
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2019-03-11]