Dettagli sull'Insegnamento per l'A.A. 2018/2019
Nome:
Service - Oriented Software Engineering / Service - Oriented Software Engineering
Informazioni
Crediti:
: Master Degree in Computer Science 6 CFU (b)
Erogazione:
Master Degree in Computer Science curriculum GSEEM Elective
Master Degree in Computer Science 2nd anno curriculum NEDAS Elective
Master Degree in Computer Science 2nd anno curriculum SEAS Compulsory
Master Degree in Computer Science curriculum UBIDIS Elective
Lingua:
Inglese
Prerequisiti
Programmazione orientata agli oggetti, linguaggio Java, nozioni di base di XML.
Obiettivi
L'obiettivo di questo corso è quello di introdurre le architetture orientate ai servizi (SOA) come un mezzo per costruire applicazioni distribuite che utilizzano Servizi Web (WS.
Il corso si propone l’obiettivo di approfondire la conoscenza degli aspetti fondamentali e dei principi di SOA, delle tecnologie WS, così come le relative tecniche di Ingegneria del Software.
Al termine del corso gli studenti:
(i) capiranno le nozioni alla base di SOA e dei Servizi Web, come pure gli standard associati;
(ii) comprenderanno le tecniche offerte dall'Ingegneria del Software per realizzare WS flessibili e riutilizzabili;
(iii) capiranno come i modelli dei processi di business e i modelli di programmazione orientati ai servizi possono essere utilizzati come base per la progettazione e l'implementazione di sistemi orientati ai servizi;
(iv) conosceranno un certo numero di framework attuali che facilitano lo sviluppo e l'implementazione di applicazioni orientate ai servizi, sia lato client sia lato server;
(v) capiranno la nozione di composizione di servizi come strumento per sviluppare applicazioni orientate ai servizi più complesse.
Sillabo
- Sviluppo di Sistemi basati sul Riuso del Software
- Sviluppo di Sistemi basati a Componenti
- Architetture Orientate ai Servizi (SOA)
- Sviluppo di Sistemi Distribuiti orientati ai Servizi (WEB Services, REST Services, Microservices, Data as a Service (DaaS), Load Balancer)
- Tecnologie Abilitanti per Architetture Orientate ai Servizi (XML, SOAP, WSDL, WADL, etc)
- Framework di Sviluppo a supporto delle Architetture Orientate ai Servizi (ANT, MAVEN, SPRING WS, JAX WS, APACHE AXIS, APACHE CXF, etc.)
- Composizione di Servizi
- Numerose Sessioni Pratiche in Classe
Descrittori di Dublino
Alla fine del corso, lo studente dovrebbe
-
avere una profonda conoscenza delle nozioni di servizi Web, gli standard Web Service e le Service-Oriented Architecture (SOA);
-
avere la conoscenza e la comprensione dei processi di sviluppo per l’ingegneria di servizi che possono essere seguiti per realizzare servizi Web riutilizzabili e flessibili;
-
saper analizzare e discutere i principi dell'architettura orientata ai servizi e dei relativi processi di sviluppo di ingegneria;
-
avere familiarità con una serie di framework che supportano la progettazione e l'implementazione di applicazioni orientate ai servizi, sia lato client sia lato server;
-
saper spiegare e illustrare come i modelli dei processi di business e modelli di programmazione orientate ai servizi possono essere utilizzati come base per la progettazione e l'implementazione di sistemi orientati ai servizi;
-
saper spiegare e illustrare il concetto di composizione di servizi come strumento per lo sviluppo di applicazioni orientate ai servizi più complesse;
-
avere la capacità di risolvere problemi, dimostrando la capacità di usare (un sottoinsieme) i framework a supporto della realizzazione di applicazioni orientate ai servizi;
-
avere la capacità di astrazione e modularità nella progettazione di applicazioni orientate ai servizi.
Testi di riferimento
- Ian Sommerville, Software Engineering(vol. 10th Edition) 2016.
- Michael P. Papazoglou, Web Services & SOA, Principles and Technology(vol. 2nd Edition) 2012.
Modalità d'esame
TEST INTERMEDIO (OPZIONALE - da decidere durante il corso):
agli studenti verranno assegnati compiti a casa relativi agli argomenti del corso (preparazione del tutorial, simulazione di lezioni, piccoli progetti, ...). In alternativa, agli studenti verranno poste domande riguardanti gli aspetti dell'ingegneria del software appresi durante le prime lezioni, compresi tutti gli argomenti della PARTE I e i Principi SOA della PARTE II
TEST FINALE:
Agli studenti verrà fornita la specifica di un sistema orientato ai servizi da realizzare applicando i principi e i metodi dell'ingegneria del software trattati in classe e utilizzando le opportune tecnologie SOA e strutture Java. Gli studenti presenteranno il sistema e discuteranno il modo in cui è stato realizzato. Contestualmente, se il test intermedio non è stato dato o non è stato superato, agli studenti verranno poste domande riguardanti gli aspetti dell'ingegneria del software appresi durante le prime lezioni, compresi tutti gli argomenti della PARTE I e i principi SOA della PARTE II.
Note
- Orario di ricevimento: ogni giovedì dalle ore 11:30 alle ore 13:30
Aggiornamenti alla pagina del corso
Le informazioni sulle editioni passate di questo corso sono disponibili per i seguenti anni accademici:
Per leggere le informazioni correnti sul corso, se ancora erogato, consulta il catalogo corsi di ateneo.
Ultimo aggiornamento delle informazioni sul corso: 20 giugno 2019, 16:32