Code |
16254
|
Year |
3
|
Semester |
S2
|
ECTS Credits |
6
|
Workload |
PL(30H)/T(30H)
|
Scientific area |
Informatics
|
Entry requirements |
There are no pre-requisites.
|
Learning outcomes |
This curriculum unit has the following main objectives: introduction to the fundamental concepts and foundations necessary for understanding microservices-based architectures, introduction to the implementation concepts related to communication, development workflows, scaling, and deployment of microservices; finally introduction to the concepts and technologies underlying the development of user interfaces mainly powered by microservices. In terms of skills, the main aim is to motivate the understanding of microservices-based architectures. In terms of competencies, the goal is to enable the student to: understand the fundamental concepts of microservices-based architectures and the differences between this architectural style and monolithic applications. Additionally, they should understand what is involved in the development, scaling, and deployment of a full-stack based on microservices.
|
Syllabus |
The programmatic contents of this curriculum unit are as follows: - Introduction to microservices, key concepts, advantages, and disadvantages of their adoption. - Monolithic applications vs. microservices architectures. - Underlying technologies for the development of microservices. - Introduction to microservices modeling. - Decomposition of monolithic applications into microservices. - Communication styles and workflows between microservices. - Implementation, scaling, and deployment of microservices. - Introduction to technologies that support the development of user interfaces, mainly based on microservices.
|
Main Bibliography |
- Sam Newman, "Building microservices, Designing Fine-Grained Systems," O'Reilly Media, 2021. - Microsoft, ".NET Microservices Architecture for Containerized .NET Applications," Available at https://dotnet.microsoft.com/en-us/download/e-book/microservices-architecture/pdf. - Sam Newman, "Monolith to microservices: evolutionary patterns to transform your monolith," O'Reilly Media, 2019. - Chris Richardson, "Microservices patterns: with examples in Java," Simon and Schuster, 2018. - Susan J. Fowler, "Production-ready microservices: building standardized systems across an engineering organization," O'Reilly Media, 2016.
|
Teaching Methodologies and Assessment Criteria |
Expository lectures for knowledge acquisition. Execution of two main projects, primarily focusing on i) analysis of a provided case study on a topic related to the scope of the curricular unit and ii) development and defense of a project on cloud-based microservices.
Theoretical and practical components are assessed using three main elements: - Two written tests for knowledge evaluation, worth in total 40%. - Synthesis project worth 20% on a topic related to the scope of the curricular unit. - Laboratory project worth 40% related to the construction and deployment of microservices using container-based technology.
|
Language |
Portuguese. Tutorial support is available in English.
|