PV217 Service Oriented Architecture

Fakulta informatiky
podzim 2026
Rozsah
2/0/0. 2 kr. (plus ukončení). Ukončení: k.
Vyučováno kontaktně
Vyučující
doc. Bruno Rossi, PhD (přednášející)
Mgr. Martin Štefanko (přednášející)
Garance
doc. Bruno Rossi, PhD
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky
Předpoklady
Knowledge about object-oriented programming in Java is required for the creation of microservices. No prior knowledge about SOA or microservices is required.
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
předmět má 33 mateřských oborů, zobrazit
Anotace
The objectives of the course are to give the students a set of skills necessary to understand and work in the context of Service Oriented Architectures (SOA), namely:
- understand the differences between several architectural styles: monolith, SOA, microservices;
- give an understanding of the several definitions of SOA (as an architectural style, as an IT paradigm);
- review approaches for Service Oriented Analysis and Design and how they differ from Object Oriented analysis and Design;
- usage of Domain Driven Design (DDD) for designing services in a microservice architecture;
- review major standards in the area:  such as REpresentational State Transfer (REST) and OpenAPI;
- present concepts such as orchestration, choreography, atomic transactions, message exchange patterns, eventual and strong consistency;
- review major microservice and SOA patterns in terms of security, reliability, maintainability of the implemented solutions;
- discuss the major patterns for the migration from monolithic systems to microservices;
- practice with the creation of microservices using the Quarkus framework to better understand the concepts seen during the lectures;
Výstupy z učení
At the end of the course students will be able to:
- explain the meaning of the "Service Oriented" paradigm both from the business and technical point of view;
- understand the applicability of SOA design patterns and the meaning of the major SOA implementation technologies;
- compare SOA with other architectural paradigms;
- analyse requirements towards the creation of a microservices-based system;
- design a service starting from the analysis phase by using Domain Driven Design (DDD);
- understand the concepts in service design and analysis;
- understand the concepts in service implementation;
- understand issues related to reliability and scalability of microservices-based system;
Klíčová témata
  • Introducing service oriented architecture (SOA): SOA definition and concepts, Web services definition;
  • Basics of SOA - Characteristics of SOA - Comparing SOA to client-server and distributed Internet architectures - Anatomy of SOA - How components in an SOA interrelate. Principles of service orientation. Monolith vs SOA vs Microservices;
  • SOA business aspects: standards of Web services, implementation SOA using Web services, business aspects of SOA and Web services;
  • SOA Design Patterns: patterns for performance, scalability, and availability; CAP Theorem and eventual vs strong consistency; Service Consumer patterns; Service integration patterns; SOA anti-patterns;
  • Message exchange Patterns - Coordination - Atomic Transactions - Business activities - Orchestration - Choreography - Service layer abstraction - Application Service Layer - Business Service Layer - Orchestration Service Layer - Discoverability;
  • SOA communication standards: Representational State Transfer (REST) & OpenAPI;
  • Business-centric SOA - service modelling - Service Oriented Design - Microservices Domain Driven Design (DDD): Tactical & Strategic level - derivation of microservices from bounded contexts;
  • Microservices: task granularity, services organization, component sharing, message exchange, main principles. Technologies for microservices implementation. Queuing Theory and simulations to study the availability of microservices; Adopting the Quarkus framework to create microservices;
Studijní zdroje a literatura
    povinná literatura
  • Thomas Erl: Service-Oriented Architecture (SOA): Concepts, Technology and Design, Prentice Hall PTR, August, 2005
    doporučená literatura
  • ROTEM-GAL-OZ, Arnon; E. BRUNO a U. DAHAN. SOA patterns. Manning, 2012, 296 s. ISBN 978-1-933988-26-9. info
  • Newman, S. (2021). Building microservices. 2nd Edition. O'Reilly Media, Inc. ISBN 978-1492034025
  • Newman, S. (2019). Monolith to microservices: evolutionary patterns to transform your monolith. O'Reilly Media. ISBN: 978-1492047841
  • Richardson, C. (2018). Microservices patterns: with examples in Java. Simon and Schuster. ISBN: 978-1617294549
  • Martin Štefanko and Jan Martiška: Quarkus in Action, Manning publishing, 2024. ISBN 9781633438958
Přístupy, postupy a metody používané ve výuce
Frontal lectures.
Způsob ověření výstupů z učení a požadavky na ukončení
Final oral colloquium on the topics of the course. During the semester, students will have  some assignments about the creation of a microservice system using the Quarkus framework.
Vyučovací jazyk
Angličtina
Studijní opora
https://is.muni.cz/auth/el/fi/podzim2026/PV217/index.qwarp
Další komentáře
Předmět je dovoleno ukončit i mimo zkouškové období.
Předmět je vyučován každoročně.
Výuka probíhá každý týden.
Předmět je zařazen také v obdobích jaro 2010, jaro 2011, jaro 2012, podzim 2013, podzim 2014, podzim 2015, podzim 2016, podzim 2017, podzim 2018, podzim 2019, podzim 2020, podzim 2021, podzim 2022, podzim 2023, podzim 2024, podzim 2025.
  • Statistika zápisu (nejnovější)
  • Permalink: https://is.muni.cz/predmet/fi/podzim2026/PV217