PROGRAMMAZIONE DISTRIBUITA

CARMINE SPAGNUOLO PROGRAMMAZIONE DISTRIBUITA

0512100021
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA
INFORMATICA
2024/2025

OBBLIGATORIO
ANNO CORSO 3
ANNO ORDINAMENTO 2017
PRIMO SEMESTRE
CFUOREATTIVITÀ
648LEZIONE
324LABORATORIO


Obiettivi

IL CORSO HA L’OBIETTIVO DI OFFRIRE ALLO STUDENTE LE CAPACITÀ NECESSARIE PER LA PROGETTAZIONE E LO SVILUPPO DI SOLUZIONI SOFTWARE PER SCENARI ENTERPRISE ALTAMENTE SCALABILI.
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.


[CONOSCENZA E CAPACITÀ DI COMPRENSIONE]

LO STUDENTE:
- CONOSCERÀ I PRINCIPI E LE CARATTERISTICHE DI BASE DEI SISTEMI PARALLELI E DISTRIBUITI, DEL CLOUD
COMPUTING E DELLE TECNICHE PER LA VALUTAZIONE DELLE LORO PRESTAZIONI;
- COMPRENDERÀ LA STRUTTURA DI SISTEMI OPERATIVI MODERNI, ARCHITETTURE PARALLELE E MULTICORE E RETI DI CALCOLATORI;
- CONOSCERÀ I FONDAMENTI DELLA PROGETTAZIONE E DELLO SVILUPPO DI SISTEMI SOFTWARE PER AMBIENTI
ENTERPRISE.

[CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE]

LO STUDENTE SARÀ IN GRADO DI:
- PROGETTARE UN SISTEMA SOFTWARE SCALABILE PER AMBIENTI ENTREPRISE;
- SVILUPPARE APPLICATIVI ENTERPRISE AFFIDABILI E ALTAMENTE PERFORMANTI.

[AUTONOMIA DI GIUDIZIO]

LO STUDENTE SARÀ IN GRADO DI:
- VALUTARE LE PRESTAZIONI ED IL GRADO DI AFFIDABILITÀ DI SISTEMI ENTERPRISE CHE FANNO USO DI CALCOLO
PARALLELO/DISTRIBUITO E DEL CLOUD COMPUTING;
- STIMARE L’ESPANDIBILITÀ DI SOLUZIONI ENTERPRISE ALL’UTILIZZO DI SISTEMI PIÙ GRANDI COME QUELLO DEL
CLOUD COMPUTING.

[ABILITÀ COMUNICATIVE]

LO STUDENTE SARÀ IN GRADO DI:
- COMUNICARE I RISULTATI DELLA PROGETTAZIONE E LE SCELTE ALLA BASE DI UN SISTEMA SOFTWARE PER
AMBIENTI ENTERPRISE CHE PERMETTA DI GARANTIRE SCALABILITÀ E AFFIDABILITÀ.

CAPACITÀ DI APPRENDIMENTO]

[LO STUDENTE SARÀ IN GRADO DI:
- SVOLGERE ATTIVITÀ DI PROGETTAZIONE DI SISTEMI SCALABILI ED AFFIDABILI PER SISTEMI ENTERPRISE;
- UTILIZZARE GLI STRUMENTI DI SVILUPPO DI SOLUZIONI SOFTWARE PER SISTEMI ENTERPRISE;
- PROCEDERE ALL’AGGIORNAMENTO CONTINUO
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
(PER OGNI ARGOMENTO SONO INDICATE LE ORE DI LEZIONE FRONTALE (F) E DI LABORATORIO (L))

TEORIA 4.5 CFU 36 F
•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. 12F
•ARCHITETTURA CLIENT-SERVER E PEER2PEER. 2F
•OGGETTI DISTRIBUITI. DAI SOCKET AGLI OGGETTI DISTRIBUITI. LA TRASPARENZA DEL MODELLO. 8F
•APPLICAZIONI A COMPONENTI DISTRIBUITE (CENNI). COMPONENT TRANSACTION MONITOR E APPLICATION SERVER. PRINCIPI ED OBIETTIVI DI JAVA 2 ENTERPRISE EDITION. 6F
•SERVICE ORIENTED ARCHITECTURE 4F
•MESSAGE ORIENTED MIDDLEWARE 4F

PRATICA 4.5 CFU 12F+24L
PROGRAMMAZIONE MULTITHREAD IN JAVA. 2F+4L
JAVA REMOTE METHOD INVOCATION: SCOPI, ARCHITETTURA2 2F+4L
JAVA ENTERPRISE EDITION. ARCHITETTURA. 2F
CONTEXT AND DEPENDENCY INJECTION. NETBEANS. 1F+4L
JAVA PERSISTENCE API. ENTERPRISE JAVABEANS. 2F+4L
JAVA MESSAGING SERVICES. 1F+4L
JAVA WEB SERVICES. 1F+4L
CENNI SU CLOUD COMPUTING.2F

Metodi Didattici
IL CORSO DI CONSISTE DI LEZIONI TEORICHE SULLE ARCHITETTURE E LE FUNZIONALITÀ (6CFU 48 ORE) ED ATTIVITA’ DI LABORATORIO (3CFU 24 ORE) 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 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
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) HTTP://ELEARNING.INFORMATICA.UNISA.IT/EL-PLATFORM
Orari Lezioni

  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2024-11-29]