Information on individual educational components (ECTS-Course descriptions) per semester

Advanced Web Architectures and Software Design

Degree programme Computer Science
Subject area Engineering & Technology
Type of degree Master
Full-time
Summer Semester 2025
Course unit title Advanced Web Architectures and Software Design
Course unit code 024913120404
Language of instruction English
Type of course unit (compulsory, optional) Elective
Teaching hours per week 4
Year of study 2025
Level of the course / module according to the curriculum
Number of ECTS credits allocated 8
Name of lecturer(s) Markus FRICK, Harald FRIEßNEGGER
Requirements and Prerequisites
  • Enterprise Applications
    • REST
  • Object-Oriented Programming
  • Software Engineering Fundamentals

 

Course content
  • Basic Architecture Patterns
    • Hexagonal Architecture
    • Microservices
    • Event Driven Architecture
  • Decomposition
  • Business Logic
  • Interprocess Communication
  • Queries
  • Sagas
  • External APIs
  • Deployment
  • Project Work

A large application with a microservices architecture will be developed by the entire group. The group will be divided into teams, with each team implementing a microservice. Each team can decide for themselves which technologies to use for their microservice. The only requirement for the choice of technology is that there are interfaces or libraries available for the infrastructure used.

Learning outcomes

The students

  • know and understand concepts of microservice architectures in interaction with domain-driven design.
  • recognize the value of the event-oriented architecture paradigm.
  • create a microservice-based system together and use EDA.
Planned learning activities and teaching methods
  • Lectures
  • Group discussions
  • Project work with coaching

 

Assessment methods and criteria
  • Electronic examination in presence (50%)
  • Group work (50%)

For a positive grade, a minimum of 50% of the possible points must be achieved across all parts of the examination.

Comment

None

Recommended or required reading
  • Brandolini, Alberto (2019): Introducing EventStorming: An act of Deliberate Collective Learning. Available at: URL: https://leanpub.com/introducing_eventstorming (Accessed on: 15 December 2020).
  • Evans, Eric (2004): Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley Professional.
  • Foote, Briand; Yoder, Joseph (1999): Big Ball of Mud. Available at: URL: http://www.laputan.org/mud/ (Accessed on: 11 December 2022).
  • Fowler, Martin (2002): Patterns of Enterprise Application Architecture. Addison Wesley.
  • Richardson, Chris (2019): Microservices Patterns: With examples in Java. Manning Publications.
  • Rocha, Hugo Filipe Oliveira (2021): Practical Event-Driven Microservices Architecture: Building Sustainable and Highly Scalable Event-Driven Microservices
  • Thomas, David; Hunt, Andrew (2019): The Pragmatic Programmer, 20th Anniversary Edition. Pearson Education.
  • Vernon, Vaughn (2013): Implementing domain-driven design. Addison-Wesley Professional.
Mode of delivery (face-to-face, distance learning)

Face-to-face event