Architectures of Software Systems

B232 - Summer 23/24
This course is not present in Moodle. You can visit its homepage by clicking the "Course page (outside Moodle)" button on the right (if available).

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