(SOFTWARE ENGINEERING)
CdSINFORMATICA E NETWORKING
Codice290AA
CFU9
PeriodoPrimo semestre
LinguaInglese
Moduli | Settore/i | Tipo | Ore | Docente/i | |
INGEGNERIA DEI SERVIZI SOFTWARE | INF/01 | LEZIONI | 72 |
|
Students will study the main aspects in the design, analysis, development and deployment of modern software systems, in particular of service-based and cloud-based systems.
Such knowledge will be assessed with questions in the final oral exam and with exercises developed in the lab sessions (and, optionally, in the homework assignments during the term).
Students will learn how to face in the design, analysis, development and deployment of modern software systems, in particular of service-based and cloud-based systems.
Such knowledge will be assessed with questions in the final oral exam and with exercises developed in the lab sessions (and, optionally, in the homework assignments during the term).
Students will learn how to face in the design, analysis, development and deployment of modern software systems, in particular of service-based and cloud-based systems.
Such knowledge will be assessed with questions in the final oral exam and with exercises developed in the lab sessions (and, optionally, in the homework assignments during the term).
None.
The course is given with traditional classes and with “hands on” lab classes.
All information on the course is available from the Web page devoted to the course, which also links the moodle site employed for the course.
Optional homework assignments are given during the term.
Service-based software engineering
- Core interoperability standards (REST, XML, SOAP, WSDL)
- Software design by service composition (WS-BPEL, syntax & semantics)
- Business process modelling and analysis (with workflow nets)
Cloud-based software engineering
- Introduction to cloud computing
- DevOps techniques (TOSCA, Docker, combining TOSCA and Docker, microservices, CICD)
- Introduction to fog computing
Hands-on laboratory
- Java 101, GitHub 101, REST, Spring Boot, Heroku, WS-BPEL with OpenESB, workflow nets with WoPeD
- Docker, TosKer, TosKeriser, Jenkins, fog computing with micro:bit, thingspeak and node.js
[1] A. Brogi, S. Forti. Advanced Software Engineering – Lecture Notes. 2017.
[2] R. Buyya, C. Vecchiola, T. Selvi. Mastering Cloud Computing. 2013. /*Chapter 1 only.*/
[3] P. Lipton. Escaping Vendor Lock-in with TOSCA, an emerging Cloud Standard for Portability. 2013.
[4] Docker Documentation
[5] A. Brogi, L. Rinaldi, J. Soldani. TosKer: Orchestrating applications with TOSCA and Docker. In V. Stolz and A. Zoltán (editors), Advances in Service-Oriented and Cloud Computing: Workshops of ESOCC 2017, CCIS series, 2017. (In press.)
[6] A. Brogi, D. Neri, L. Rinaldi, J. Soldani. From (incomplete) TOSCA specifications to running applications, with Docker. In A. Cerone and M. Roveri (editors), SEFM 2017 Workshops, LNCS series, 2017. (In press.)
[7] J. Lewis, M. Fowler. Microservices. 2014.
[8] Thoughtworks. Continuos integration.
[9] J. Willis. Docker and the Three Ways of DevOps.
[10] A. Dastjerdi, R. Buyya. Fog Computing: Helping the Internet of Things Realize Its Potential. IEEE Computer 49(8): 112-116, 2016.
[11] Slides used in the lab
All information on the course is available from the Web page devoted to the course, which also links the moodle site employed for the course.
The final evaluation will consist of:
- an oral presentation on a topic chosen by the student, and
- some questions on the topics of the syllabus, and
- increment for the [optional] homework assignments submitted during the term.
http://pages.di.unipi.it/brogi/AttivitaDidattica/Informatica/AdvancedSoftwareEngineering/
http://pages.di.unipi.it/brogi/AttivitaDidattica/Informatica/AdvancedSoftwareEngineering/