Course detail

Distributed Application Environment (in English)

FIT-PDIeAcad. year: 2022/2023

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.

Learning outcomes of the course unit

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

Prerequisites

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.

Co-requisites

Not applicable.

Planned learning activities and teaching methods

Not applicable.

Assesment methods and criteria linked to learning outcomes

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

Course curriculum

Not applicable.

Work placements

Not applicable.

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.

Specification of controlled education, way of implementation and compensation for absences

 

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Kshemkalyani, Singhal: Distributed Computing, Cambridge Press, 2008.

(EN)
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)

Recommended reading

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

(EN)

Classification of course in study plans

  • Programme IT-MGR-2 Master's

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

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

  • Programme IT-MGR-1H Master's

    branch MGH , 1. year of study, winter semester, recommended

Type of course unit

 

Lecture

39 hours, 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 hours, compulsory

Teacher / Lecturer

Syllabus

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