Security Of Distributed Applications
Public syllabus for 2025-2026
Academic overview
Teaching team
Learning time distribution
| Total | ||||||
|---|---|---|---|---|---|---|
| Curriculum | Lecture | Practice | Total Weekly | Lecture | Practice | |
| 42 | 28 | 14 | 3 | 2 | 1 | |
| Exam hours | ||||||
| 6 | ||||||
| Individual Study | Bibliography study | Field study | Homework | Tutoring | Others | |
| 83 | 32 | 6 | 33 | 6 | 0 | |
| Overall | ||||||
| 125 |
Learning outcomes
Knowledge
- Mastering the fundamental notions in distributed systems
Skills
- Dexterity in creating distributed applications
Responsibility
- Professional development and self-confidentiality in own capacities by the presence of the abilities for understanding and development of distributed systems
Online platform
Course content
| Content | Methods | Obs |
|---|---|---|
| Lecture 1: What is a Distributed System? Modern Technologies for Distributed Systems | Presentation | |
| Lecture 2: Design and Middleware. P2P | Presentation | |
| Lecture 3: Communication in Client-Server model. Grid | Presentation | |
| Lecture 4: Remote Procedure Call. Ubiquitous Computing | Presentation | |
| Lecture 5: Group Communication. Virtualization | Presentation | |
| Lecture 6: Clock synchronization - part 1. Service oriented architectures | Presentation | |
| Lecture 7: Clock synchronization - part 1. Web services | Presentation | |
| Lecture 8: Distributed Mutual Exclusion. XML and WSDL | Presentation | |
| Lecture 9: Deadlocks. SOAP | Presentation | |
| Lecture 10: Elections. UDDI | Presentation | |
| Lecture 11: Fault tolerance. REST | Presentation | |
| Lecture 12: Atomic transactions. Web 2.0 and Web applications | Presentation | |
| Lecture 13: Distributed systems models. Service Component Architecture | Presentation | |
| Lecture 14: Real time systems. Public Web services | Presentation |
Course bibliography
Joe Clabby, Web Services Explained: Solutions and Applications for the Real World, Prentice Hall PTR, 2002 Thomas Erl, Service-Oriented Architecture: Concepts, Technology, and Design, Prentice Hall PTR, 2005 Andrew S. Tanenbaum, Marteen Van Steen, Distributed Systems. Principles and Paradigms, CreateSpace Independent Publishing Platform, 2016 George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair, Distributed Systems. Concepts and Design, Addison-Wesley, 2012 Ray. Rafaels, Cloud Computing: From beginning to end, CreateSpace Independent Publishing, 2015
Seminar content
| Content | Methods | Obs |
|---|---|---|
| Lab 1: Sockets in Java. TCP Sockets Streams, Readers and Writers for Input and Output | Codes developed by the students under supervision | |
| Lab 2: UDP Sockets Multicasting | Codes developed by the students under supervision | |
| Lab 3: Remote Methods Invocation NIO: New I/O packages | Codes developed by the students under supervision | |
| Lab 4: Bottom-up build of Web Services with Eclipse WTP; Automated building of clients of Web Services with Eclipse WTP. | Codes developed by the students under supervision | |
| Lab 5: Programming a client of a Web service with Eclipse WTP; Writing a client of a public Web service. | Codes developed by the students under supervision | |
| Lab 6: Cloud Computing - SaaS; Cloud Computing - IaaS. | Codes developed by the students under supervision | |
| Lab 7: Cloud Computing – Azure – simple web application; Cloud computing – AWS and FaaS. | Codes developed by the students under supervision | |
| Bibliography: Binildas CA, Malhar Barai, Vincenzo Caselli, Service Oriented Architecture with Java. Using SOA and web services to build powerful Java applications, Packt Publishing Ltd., 2008 Kenneth L. Calvert, Michael J. Donahoo. TCP/IP sockets in Java : practical guide for programmers, 2nd ed., Elsevier, 2008 John Paul Mueller, Mining Google Web Services: Building Applications with the Google API, Sybex, 2004 James Murty, Programming Amazon Web Services, O'Reilly, 2008 John Long, Cloud Native Java, O’Reilly, 2017 |
Seminar bibliography
The content is in accordance with the structure of similar courses from other universities and covers the fundamental aspects necessary to become familiar with the issue of distributed systems. The ability to identify, design, implement and analyze distributed systems is essential for complex systems developed in the software industry. The skills offered by this discipline are necessary for an IT specialist to identify effective solutions to solve specific problems, regardless of the specific field of activity.
Corroboration
(none)
AI tools guidance
Evaluation and delivery
| Activity | Criteria | Methods | Percentage |
|---|---|---|---|
| C |
|
|
|
| S |
|
|
|
Performance standards
Minimum standard (knowledge and skills required for grade 5) ● Ability to write a simple distributed application. ● Understanding the basic principles of distributed systems. The final mark is calculated as a weighted average of the marks awarded for the components specified in 10.4 and 10.5. The exam is considered passed if the average is at least 5 (it is not necessary that each grade be higher than 5). At each of the exam sessions (including arrears and increases), the grade is calculated according to the same rule. In the arrears/increase session, only one of the two tests (written or oral) can be given, unless the student wants to take both tests. ● Note: Students can participate in the consultation hours (2 modules/week according to the planning established at the beginning of the semester) during which the head of the course and laboratory answers the students' questions and offers additional explanations related to the content of the course, applications from the laboratory and assignments.
Additional info
(none)