Course detail

Distributed Application Environment

FIT-PDIAcad. 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

Czech

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
  • knowledge discrete mathematics
  • basic knowledge of computer networks

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
  • Laboratory exercises - 10 points
  • Evaluated project with the defense - 20 points
  • Final written examination - 55 points

Course curriculum

Not applicable.

Work placements

Not applicable.

Aims

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

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

  • Scored laboratory exercises for which at least two terms are listed. The possibility of replacement only in case of objective and proven obstacles in the study.
  • Mid-term exam in the lecture.
  • Evaluated projects with defense in the form of presentation of results.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

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

Recommended reading

B. Burns: Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services,  O'Reilly Media, 1st edition, 2018.
S. Saxena, S. Gupta: Real-Time Big Data Analytics,  Packt Publishing, 2016.

Elearning

Classification of course in study plans

  • Programme IT-MSC-2 Master's

    branch MBI , 0 year of study, winter semester, elective
    branch MBS , 0 year of study, winter semester, elective
    branch MIN , 0 year of study, winter semester, elective
    branch MMM , 0 year of study, winter semester, elective
    branch MSK , 2 year of study, winter semester, compulsory

  • Programme MITAI Master's

    specialization NADE , 0 year of study, winter semester, compulsory
    specialization NBIO , 0 year of study, winter semester, elective
    specialization NCPS , 0 year of study, winter semester, elective
    specialization NEMB , 0 year of study, winter semester, elective
    specialization NGRI , 0 year of study, winter semester, elective
    specialization NHPC , 0 year of study, winter semester, elective
    specialization NIDE , 0 year of study, winter semester, elective
    specialization NISD , 0 year of study, winter semester, elective
    specialization NISY up to 2020/21 , 0 year of study, winter semester, elective
    specialization NMAL , 0 year of study, winter semester, elective
    specialization NMAT , 0 year of study, winter semester, elective
    specialization NNET , 0 year of study, winter semester, compulsory
    specialization NSEC , 0 year of study, winter semester, elective
    specialization NSEN , 0 year of study, winter semester, elective
    specialization NSPE , 0 year of study, winter semester, elective
    specialization NVER , 0 year of study, winter semester, elective
    specialization NVIZ , 0 year of study, winter semester, elective
    specialization NISY , 0 year of study, winter semester, elective

  • Programme IT-MSC-2 Master's

    branch MGM , 0 year of study, winter semester, compulsory-optional
    branch MIS , 2 year of study, winter semester, compulsory-optional
    branch MPV , 0 year of study, winter semester, compulsory-optional

  • Programme MITAI Master's

    specialization NEMB up to 2021/22 , 0 year of study, winter semester, elective

Type of course unit

 

Lecture

26 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. Graph and Routing Algorithms
  7. Algorithms of Leader Election and Mutual Exclusion
  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

Exercise in computer lab

6 hod., compulsory

Teacher / Lecturer

Syllabus

  1. Apache Hadoop/Spark
  2. Windows Azure Applications

Project

20 hod., compulsory

Teacher / Lecturer

Syllabus

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

Elearning