Software Architectures

Semestr: Summer

Range: 2P+2C


Credits: 6

Programme type:

Study form: Fulltime

Course language: English

Time table at FEE


In this course students become familiar with the general requirements for software (SW) architecture and related quality parameters that are monitored by software architectures. Individual requirements and parameters are discussed in the context of current architectural standards and design patterns that students practically learn through exercises. In this course, besides the technology perspective on software architecture is also taken into an account the management aspect.


Course syllabus:

1. Introduction - SW architectures, meaning, context of the development cycle.
2. Characteristics and quality software architectures
3.architectural styles
4.II architectural styles, communication patterns.
5.Basic principles of cloud applications
6.Linux Containers - basic concepts, advanced features
7.Multicontainer application orchestration containers, automatic deployment and scaling
8.Platform as a service extension capabilities through automatic deployment containers, development environments, public cloud
9.Deployment of traditional Java EE applications in the cloud
10.Microservice-based architecture, deployment and operation of cloud microservices
11.Evaluation of properties of software architectures.
12.Security in the context of software architecture.
13.Alternative design of architecture and components.

Seminar syllabus:


1.Fowler, M .: Patterns of Enterprise Application Architecture, Addison-Wesley Professional, 2002.
2.Bass, L .: Software Architecture in Practice, Addison-Wesley Professional, 2012.
3.James Turnbull: The Docker Book
4.Jeff Nickoloff: Docker in Action
5.Kelsey Hightower: Kubernetes: Up and Running
6.Sam Newman, Building Microservices
7.Claus Ibsen, Jonathan Anstey: Camel in Action
9.Matt Stine: Migrating to Cloud Native Application Architectures
10.Michael T. Nygard: Release It!
11.Markus Eisele: Modern Java EE Design Patterns