PV217 Service Oriented Architecture

Fakulta informatiky
podzim 2022
Rozsah
2/0. 2 kr. (plus ukončení). Ukončení: k.
Vyučující
doc. Bruno Rossi, PhD (přednášející), Ing. Leonard Walletzký, Ph.D. (zástupce)
Mgr. Martin Štefanko (pomocník)
Garance
doc. 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 A320
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:
- review several issues in the business adoption of SOA in an IT context;
- 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;
- review major standards in WSDL-*, together with SOAP and 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;
- review major parts of the SOA architecture, such as Enterprise Service Bus (ESB) and solutions provided by different vendors;
- understand the differences between several architectural styles: monolith, SOA, microservices;
- practice with the creation of microservices 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 service;
- 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;
- know how to implement a 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;
  • SOAP - Message exchange Patterns - Coordination - Atomic Transactions - Business activities - Orchestration - Choreography - Service layer abstraction - Application Service Layer - Business Service Layer - Orchestration Service Layer;
  • 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;
  • SOA Technologies - SOA Tooling - SOA Vendors;
  • Microservices: task granularity, services organization, component sharing, message exchange, main principles. Technologies for microservices implementation. Using Quarkus 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 2023, podzim 2024, podzim 2025.