77803 - INGEGNERIA DEL SOFTWARE ORIENTATA AI SERVIZI

Scheda insegnamento

SDGs

L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.

Industria, innovazione e infrastrutture

Anno Accademico 2019/2020

Conoscenze e abilità da conseguire

Al termine del corso lo studente conosce gli aspetti principali dell'analisi, della progettazione e della realizzazione di sistemi software complessi attraverso un approccio basato sulle astrazioni di processo e servizio. Si affronteranno sia dal punto di vista progettuale che tecnologico architetture enterprise basate su servizi (SOA) e risorse (REST API) e si vedrà come queste possano essere messe a servizio dei processi di business.

Programma/Contenuti

Creare e gestire grandi sistemi software, che operano fra più organizzazioni è difficile.
Questo corso presenta le migliori pratiche che attualmente vengono applicate per affrontare la complessità di questi sistemi.

Vedremo come le enterprise architecture e l'enterprise modeling possono essere usati per analizzare e rappresentare la struttura operativa e i processi delle organizzazioni.
Vedremo quindi come questo si relazioni con il Business Process Management (BPM). Il BPM si occupa di migliorare l'efficacia e l'efficienza delle organizzazioni focalizzandosi sui loro processi. Vedremo cosa è un Business Process (BP), come rappresentarlo e come utilizzare questa rappresentazione per supportare l'esecuzione e l'analisi del processo attraverso strumenti informatici. Studieremo gli aspetti del BPM correlati all'IT (BPM ha anche aspetti legati all'economia) in generale e alle Service Oriented Architectures (SOA) in particolare.

Service Oriented Architecture è un design pattern architetturale che facilita lo sviluppo di applicazioni distribuite che integrano in maniera flessibile servizi base resi disponibili da compagnia diverse e quindi potenzialmente eterogenei.
Studieremo i principali concetti alla base delle SOA e le principali tecnologie utilizzate per la loro implementazione sia nella loro declinazione classica "enterprise" che nella versione microservizi.

Vedremo come progettare e realizzare SOA basate su SOAP e su microservizi.
In particolare studieremo due linguaggi usati per realizzare una SOA: lo standard BPEL e il più recente Jolie.
Segue una lista dei principali argomenti del corso:

  • Enterprise software systems   
  • Enterprise architecture and modeling   
  • Business Process Management
  • BP lifecycle   
  • BPMN   
  • SOA
  • Web services (SOAP/restful)
  • Microservices: REST modeling and implementation
  • WSDL
  • BPEL
  • Jolie


Testi/Bibliografia

Michael Papazoglou, "Web Services and SOA: Principles and Technology", 2nd ed. 2013, ISBN 9780273732167
Mathias Weske, “Business Process Management: Concepts, Languages, Architectures”, 2nd ed. 2012, ISBN 9783642286155 Michael Papazoglou

Metodi didattici

Lezioni frontati ed esercitazioni

Modalità di verifica dell'apprendimento

Consegna a discussione di un progetto (opzionale: homework in itinere)

Strumenti a supporto della didattica

Website: http://soseng.web.cs.unibo.it/

Link ad altre eventuali informazioni

http://soseng.web.cs.unibo.it/

Orario di ricevimento

Consulta il sito web di Davide Rossi

Consulta il sito web di Ivan Lanese