FI:PV217 Service Oriented Architecture - Course Information
PV217 Service Oriented ArchitectureFaculty of Informatics
- Extent and Intensity
- 2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: k (colloquium).
- Bruno Rossi, PhD (lecturer), Ing. Leonard Walletzký, Ph.D. (deputy)
Mgr. Martin Štefanko (assistant)
- Guaranteed by
- Bruno Rossi, PhD
Department of Computer Systems and Communications - Faculty of Informatics
Contact Person: Ing. Leonard Walletzký, Ph.D.
Supplier department: Department of Computer Systems and Communications - Faculty of Informatics
- Knowledge about object-oriented programming is required for the creation of microservices.
- Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 65 fields of study the course is directly associated with, display
- Course objectives
- 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 patterns in SOA 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;
- Learning outcomes
- 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;
- 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;
- required literature
- Thomas Erl: Service-Oriented Architecture (SOA): Concepts, Technology and Design, Prentice Hall PTR, August, 2005
- recommended literature
- ROTEM-GAL-OZ, Arnon, E. BRUNO and U. DAHAN. SOA patterns. Manning, 2012. 296 pp. ISBN 978-1-933988-26-9. info
- KRAFZIG, Dirk, Karl BANKE and Dirk SLAMA. Enterprise SOA: service-oriented architecture best practices. Prentice Hall Professional, 2005. 408 pp. ISBN 978-0-13-146575-6. info
- Teaching methods
- Frontal lectures.
- Assessment methods
- 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.
- Language of instruction
- Further Comments
- The course can also be completed outside the examination period.
The course is taught annually.
The course is taught: in blocks.
- Enrolment Statistics (recent)
- Permalink: https://is.muni.cz/course/fi/autumn2021/PV217