This is a grouped Moodle course. It consists of several separate courses that share learning materials, assignments, tests etc. Below you can see information about the individual courses that make up this Moodle course.

Software Architectures - BE4M36SWA

Main course
Credits 6
Semesters Summer
Completion Assessment + Examination
Language of teaching English
Extent of teaching 2P+2C
Annotation
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 outlines
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.
14.Reserve.
Literature
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
8.https://docs.openshift.org/latest/welcome/index.html
9.Matt Stine: Migrating to Cloud Native Application Architectures
10.Michael T. Nygard: Release It!
11.Markus Eisele: Modern Java EE Design Patterns

Software Architectures - B4M36SWA

Credits 6
Semesters Summer
Completion Assessment + Examination
Language of teaching Czech
Extent of teaching 2P+2C
Annotation
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 outlines
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.
14.Reserve.
Literature
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
8.https://docs.openshift.org/latest/welcome/index.html
9.Matt Stine: Migrating to Cloud Native Application Architectures
10.Michael T. Nygard: Release It!
11.Markus Eisele: Modern Java EE Design Patterns

Architectures of Software Systems - A4B77ASS

Credits 6
Semesters Summer
Completion Assessment + Examination
Language of teaching Czech
Extent of teaching 2P+2C
Annotation
The objective of the course is to introduce the basic techniques of information system design and architecture. We will emphasize the use of standard design patterns in the distributed environments and concentrate on the general aspects of software systems, rather than on specific technologies or implementations.
Study targets
The goal of the course is to acquaint students with the industry standard practices of software development, both from the computational perspective and from the architecture perspective. Special emphasis will be given to construction of distributed systems in Java.
Course outlines
1 Software system architectures, component and distributed models
2 Software system properties, distributed systems design principles
3 RMI, remote invocation inter-process communication
4 Component models
5 Distributed components, COM/DCOM
6 Redundancy, design of reliable systems
7 Service lookup, directories, runtime composition
8 ORB, CORBA
9 ORB, CORBA, interoperability
10 Webové services, service-oriented architectures
11 Architectures for service oriented architectures
12 Asynchronous architectures, producer-consumer model
13 Agents, multi-agent systems
14 TBD
Exercises outlines
1. Task 1: Design patterns and their implementation
2. Task 1: Design patterns and their implementation
3. Task 2: Remote invocation, inter-process communication
4. Task 2: Remote invocation, inter-process communication
5. Task 3: Signaling and redundancy
6. Task 3: Signaling and redundancy
7. Task 4: CORBA, heterogeneous systems
8. Task 4: CORBA, heterogeneous systems
9. Task 5: Web services, service composition
10. Task 5: Web services, service composition
11. Úloha 5: Webové služby, vzdálená invokace služeb
12. Task 6: Asynchronous event processing, agents and active objects
13. Task 6: Asynchronous event processing, agents and active objects
14. TBD
Literature
F. Buschmann, R. Meunier, H. Rohnert, P.Sommerlad, M. Stal: Pattern-Oriented Software Architecture: A System of Patterns, John Wiley and Sons Ltd, Chichester, UK, 1996

Douglas C. Schmidt, Michael Stal, Hans Rohnert and Frank Buschmann: Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects, Wiley, 2000

Munindar P. Singh and Michael N. Huhns: Service-Oriented Computing, Semantics, Processes, Agents, John Wiley & Sons, Ltd., 2005
Requirements
Programming 1, Programming 2, Operating systems and networks