PV217 Service Oriented Architecture

Fakulta informatiky
podzim 2023
Rozsah
2/0/0. 2 kr. (plus ukončení). Ukončení: k.
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
Po 12:00–13:50 A319
Předpoklady
Knowledge about object-oriented programming is required for the creation of microservices.
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á 66 mateřských oborů, zobrazit
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;
- understand the problematics in service design and analysis;
- understand the problematics in service implementation;
- being able to classify and make reasoned decision about the adoption of different SOA platforms;
- 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);
  • 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 ;
  • 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
  • KRAFZIG, Dirk, Karl BANKE a Dirk SLAMA. Enterprise SOA: service-oriented architecture best practices. Prentice Hall Professional, 2005, 408 s. ISBN 978-0-13-146575-6. info
Výukové metody
Frontal lectures.
Metody hodnocení
Final oral colloquium on the topics of the course. Students will need to pass a presentation done in teams that will consist on the creation of a microservices-based system.
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ě.
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 2024.