Semestr: Summer
Range: 2P+2C
Completion:
Credits: 6
Programme type:
Study form: Fulltime
Course language: Czech
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.
1. Introduction – to software architectures, significance, and the context of the development cycle.
2. Characteristics and qualities of software architectures.
3. Architectural styles.
4. Architectural styles II, communication, and patterns.
5. Basic principles of cloud applications.
6. Linux containers—basic concepts, advanced features.
7. Multi-container applications, container orchestration, automatic deployment and scaling.
8. Platform as a Service, extending capabilities through automatic container deployment, development environments, public cloud.
9. Deploying traditional Java EE applications in the cloud.
10. Microservices-based architecture, deployment, and operation of microservices in the cloud.
11. Evaluation of software architecture characteristics.
12. Security in the context of software architecture.
13. Alternative architecture and component designs.
14. Summary.
1. Introduction - Configuration, Containerization & Logging
2. REST API - REST, Swagger, HATEOAS
3. Microservices Patterns - Service discovery, Circuit breaker, Load balancing
4. Microservices Patterns - Event Sourcing, CQRS
5. Microservices Patterns - Database per service, Sagas, Messaging, AsyncAPI
6. Testing Microservices - Service Component Test, Service Integration Contract Test, Consumer-side contract test
7. Microservices Patterns
8. Semestral project consultations
9. Microservices security
10. Microservices orchestration
11. Actor model
12. Very brief introduction to Kubernetes
13. Reserve
14. Semestral project presentation
1. Fowler, M .: Patterns of Enterprise Application Architecture, Addison-Wesley Professional, 2002.
2. Bass, L .: Software Architecture in Practice, Addison-Wesley Professional, 2012.