FI:PV217 Service Oriented Architecture - Informace o předmětu
PV217 Service Oriented Architecture
Fakulta informatikypodzim 2024
- Rozsah
- 2/0/0. 2 kr. (plus ukončení). Ukončení: k.
Vyučováno kontaktně - Vyučující
- Bruno Rossi, PhD (přednášející), Ing. Leonard Walletzký, Ph.D. (zástupce)
Mgr. Martin Štefanko (přednášející) - Garance
- Bruno Rossi, PhD
Katedra počítačových systémů a komunikací – Fakulta informatiky
Kontaktní osoba: Ing. Leonard Walletzký, Ph.D.
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky - Rozvrh
- Pá 27. 9. až Pá 20. 12. Pá 10:00–11:50 Virtuální místnost
- 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
- Analýza a zpracování obrazu (program FI, N-VIZ)
- Bioinformatika a systémová biologie (program FI, N-UIZD)
- Computer Games Development (program FI, N-VIZ_A)
- Computer Graphics and Visualisation (program FI, N-VIZ_A)
- Computer Networks and Communications (program FI, N-PSKB_A)
- Cybersecurity Management (program FI, N-RSSS_A)
- Diskrétní algoritmy a modely (program FI, N-TEI)
- Formální analýza počítačových systémů (program FI, N-TEI)
- Grafický design (program FI, N-VIZ)
- Graphic Design (program FI, N-VIZ_A)
- Hardware Systems (program FI, N-PSKB_A)
- Hardwarové systémy (program FI, N-PSKB)
- Image Processing and Analysis (program FI, N-VIZ_A)
- Informační bezpečnost (program FI, N-PSKB)
- Information Security (program FI, N-PSKB_A)
- Kvantové a jiné neklasické výpočetní modely (program FI, N-TEI)
- Počítačová grafika a vizualizace (program FI, N-VIZ)
- Počítačové sítě a komunikace (program FI, N-PSKB)
- Principy programovacích jazyků (program FI, N-TEI)
- Řízení kyberbezpečnosti (program FI, N-RSSS)
- Řízení vývoje služeb (program FI, N-RSSS)
- Řízení vývoje softwarových systémů (program FI, N-RSSS)
- Services Development Management (program FI, N-RSSS_A)
- Software Systems Development Management (program FI, N-RSSS_A)
- Softwarové systémy (program FI, N-PSKB)
- Strojové učení a umělá inteligence (program FI, N-UIZD)
- Učitel informatiky a správce sítě (program FI, N-UCI)
- Učitelství informatiky pro střední školy (program FI, N-UCI) (2)
- Vývoj počítačových her (program FI, N-VIZ)
- Zpracování a analýza rozsáhlých dat (program FI, N-UIZD)
- Zpracování přirozeného jazyka (program FI, N-UIZD)
- Cíle předmětu
- 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: from the old WSDL-*, to REpresentational State Transfer (REST) concepts;
- present concepts such as orchestration, choreography, atomic transactions, message exchange patterns;
- 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 problematics in service design and analysis;
- understand the problematics in service implementation;
- understand issues related to reliability and scalability of microservices-based system; - Osnova
- 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; 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;
- Representational State Transfer (REST) & OpenAPI;
- Business-centric SOA - Deriving business services - service modelling - Service Oriented Design - Entity-centric business service design - Application service design - Task centric business service design - Microservices Domain Driven Design (DDD) ;
- Microservices: task granularity, services organization, component sharing, message exchange, main principles. Technologies for microservices implementation. Adopting the Quarkus framework to create microservices;
- 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
- Výukové metody
- Please note that Autumn 2024 lectures will be given *remotely* in the form of video recordings. During the semester, students will be expected to submit their solution to several exercises related to the implementation of microservices in Quarkus. The final colloquium will be based on a discussion of the content of the course and the discussion of the exercises submitted.
- Metody hodnocení
- Final oral colloquium on the topics of the course. During the semester, students will need to submit some assignments based on the Quarkus framework covering the different aspects seen during the course.
- Vyučovací jazyk
- Angličtina
- Další komentáře
- Studijní materiály
Předmět je dovoleno ukončit i mimo zkouškové období.
Předmět je vyučován každoročně.
- Statistika zápisu (nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/podzim2024/PV217