Course details
Distributed Application Environment
PDI Acad. year 2021/2022 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 applications. Distributed operating and file systems. Cloud 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
- 26 hrs lectures
- 6 hrs pc labs
- 20 hrs projects
Assessment points
- 55 pts final exam (written part)
- 15 pts mid-term test (written part)
- 10 pts numeric exercises
- 20 pts projects
Department
Lecturer
Jeřábek Kamil, Ing., Ph.D. (DIFS)
Rychlý Marek, RNDr., Ph.D. (DIFS)
Ryšavý Ondřej, doc. Ing., Ph.D. (DIFS)
Instructor
Subject specific learning outcomes and competences
The student will become familiar with concepts and principles of distributed environments, with design and implementation of applications for distributed environments and security aspects in distributed environments.
- Student learns terminology in the domain of DS
- Student learns to create small projects
- Student learns to present and defend the results of the small project
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.
Why is the course taught
The course acquaints students with current technologies of distributed systems, which will enable them to participate in the development of modern applications for large data processing.
Prerequisite knowledge and skills
- knowledge of programming
- knowledge discrete mathematics
- basic knowledge of computer networks
Study literature
- B. Burns: Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services, O'Reilly Media, 1st edition, 2018.
Fundamental literature
- Kshemkalyani, Singhal: Distributed Computing, Cambridge Press, 2008.
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
- Consensus and Agreement
- Virtualization and Cloud Computing
- MapReduce Programming Model and Apache Hadoop
- Distributed File Systems
- Apache Spark
- Enterprise Service Bus
- Distributed computing with BOINC
Syllabus - others, projects and individual work of students
- Implementation of distributed application in the given target environment (CORBA, Azure, Hadoop,...).
Progress assessment
- Mid-term written examination - 15 points
- Laboratory exercises - 10 points
- Evaluated project with the defense - 20 points
- Final written examination - 55 points
Controlled instruction
- 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 defence in the form of presentation of results.
Exam prerequisites
- not applicable
Course inclusion in study plans
- Programme IT-MGR-2, field MBI, MBS, MIN, MMM, any year of study, Elective
- Programme IT-MGR-2, field MGM, any year of study, Compulsory-Elective group I
- Programme IT-MGR-2, field MIS, 2nd year of study, Compulsory-Elective group N
- Programme IT-MGR-2, field MPV, any year of study, Compulsory-Elective group C
- Programme IT-MGR-2, field MSK, 2nd year of study, Compulsory
- Programme MITAI, field NADE, NNET, any year of study, Compulsory
- Programme MITAI, field NBIO, NCPS, NEMB, NGRI, NHPC, NIDE, NISD, NISY, NISY up to 2020/21, NMAL, NMAT, NSEC, NSEN, NSPE, NVER, NVIZ, any year of study, Elective