Course detail

Distributed Application Environment (in English)

FIT-PDIeAcad. year: 2023/2024

Common characteristics of distributed environments. Principles, algorithms, and systems of distributed computing. Types of distributed environments. Design and model of distributed algorithms. Distributed operating and file systems. Cloud Computing. Data-centric computing. Technology JSP, J2EE, JavaBeans, EJB, RPC, XML-RPC, SOAP, IIOP. Web services. Security in distributed applications.

Language of instruction

English

Number of ECTS credits

5

Mode of study

Not applicable.

Entry knowledge

Knowledge of programming the network applications in common programming languages like C/C++ or Java. Knowledge of Unix architecture and ability to create programs for Unix operating systems.

Rules for evaluation and completion of the course

  • Mid-term written examination - 15 points
  • Evaluated project with the defense - 30 points
  • Final written examination - 55 points

 

Aims

The aim is to understand principles and design of applications for distributed environment, obtain overview of modern distributed environments and ability of usage application interface for various programming environments.


The students will become familiar with concepts and principles of distributed environments, with the design and implementation of applications for distributed environments and security aspects in distributed environments.

  • A student learns terminology in the domain of DS
  • A student learns to create small projects
  • A student learns to present and defend the results of the small project

Study aids

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Dahlia Malkhi: Concurrency: The Works of Leslie Lamport, ACM Books, 2019. (EN)
B. Burns: Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services, O'Reilly Media, 1st edition, 2018. (EN)
Kshemkalyani, Singhal: Distributed Computing, Cambridge Press, 2008. (EN)

Recommended reading

S. Saxena, S. Gupta: Real-Time Big Data Analytics, Packt Publishing, 2016. (EN)

Classification of course in study plans

  • Programme IT-MSC-2 Master's

    branch MGMe , 0 year of study, winter semester, compulsory-optional

  • Programme MIT-EN Master's 0 year of study, winter semester, compulsory-optional

  • Programme IT-MGR-1H Master's

    specialization MGH , 0 year of study, winter semester, recommended course

Type of course unit

 

Lecture

39 hod., optionally

Teacher / Lecturer

Syllabus

  1. Principles and models of distributed computation
  2. Physical and Logical Time
  3. Global State and Snapshot Algorithms
  4. Group communication
  5. Authentication in Distributed Systems
  6. Algorithms of Leader Election and Mutual Exclusion
  7. Midterm Exam
  8. Virtualization and Cloud Computing
  9. MapReduce Programming Model and Apache Hadoop
  10. Principles of Apache Spark
  11. Distributed Stream Processing in Apache Flink
  12. Enterprise Service Bus
  13. Distributed computing with BOINC

Project

13 hod., compulsory

Teacher / Lecturer

Syllabus

  • Implementation of a distributed application in the given target environment (Spark, Flink, Azure, Hadoop,...).