Course details
Distributed Application Environment (in English)
PDIe Acad. year 2024/2025 Winter semester 5 credits
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.
Guarantor
Course coordinator
Language of instruction
Completion
Time span
- 39 hrs lectures
- 13 hrs projects
Assessment points
- 55 pts final exam
- 15 pts mid-term test
- 30 pts projects
Department
Lecturer
Instructor
Learning objectives
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
Prerequisite knowledge and skills
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.
Study literature
-
S. Saxena, S. Gupta: Real-Time Big Data Analytics, Packt Publishing, 2016.
Fundamental literature
-
Kshemkalyani, Singhal: Distributed Computing, Cambridge Press, 2008.
- Dahlia Malkhi: Concurrency: The Works of Leslie Lamport, ACM Books, 2019.
-
B. Burns: Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services, O'Reilly Media, 1st edition, 2018.
Syllabus of lectures
- Principles and models of distributed computation
- Physical and Logical Time
- Global State and Snapshot Algorithms
- Group communication
- Authentication in Distributed Systems
- Algorithms of Leader Election and Mutual Exclusion
- Midterm Exam
- Virtualization and Cloud Computing
- MapReduce Programming Model and Apache Hadoop
- Principles of Apache Spark
- Distributed Stream Processing in Apache Flink
- Enterprise Service Bus
- Distributed computing with BOINC
Syllabus - others, projects and individual work of students
- Implementation of a distributed application in the given target environment (Spark, Flink, Azure, Hadoop,...).
Progress assessment
- Mid-term written examination - 15 points
- Evaluated project with the defense - 30 points
- Final written examination - 55 points
Course inclusion in study plans
- Programme MIT-EN (in English), any year of study, Compulsory-Elective group B