Networked Systems Middleware

Course Description

Middleware-based architecture of networked systems. Roles and features of middleware systems. Middleware layers, models, and taxonomy. Design-time support for development and integration of distributed applications. Run-time support for execution of distributed applications. Middleware architectures, platforms, and tools. Middleware systems for diverse networked systems, applications, and environments. Application integration middleware. Communication middleware. Application domain mediators.

General Competencies

The course prepares the students for design, implementation, and integration of complex middleware-based distributed systems. Students will be introduced to existing standards and technologies used for development of middleware systems and will be able to use them in building various types of distributed applications.

Learning Outcomes

  1. define the role and objective of networked systems middleware
  2. identify the need for introducing a middleware layer into a distributed computing system
  3. breakdown a distributed system into application-specific functionalities and middleware functionalities
  4. define middleware architecture from distributed application requirements specification
  5. design middleware-based secure, fault-tolerant, and scalable distributed computing systems
  6. appraise the quality of service (QoS) and quality of user experience (QoE) of middleware-based networked system

Forms of Teaching

Lectures

Lecturer-driven classroom presentations with live demonstrations of how to implement theoretical concepts in software

Exams

Two written exams

Laboratory Work

MapReduce, Hadoop

Consultations

Individual office hours with lecturers and assistants are organized on student's request.

Grading Method

Continuous Assessment Exam
Type Threshold Percent of Grade Threshold Percent of Grade
Laboratory Exercises 43 % 35 % 43 % 0 %
Class participation 0 % 5 % 0 % 0 %
Mid Term Exam: Written 0 % 30 % 0 %
Final Exam: Written 0 % 30 %
Exam: Written 43 % 100 %
Comment:

Continuous Assessment: Min (Mid Term Exam: Written + Final Exam: Written + Lecture attendance and oral examination in classroom) = 50 %

Week by Week Schedule

  1. Introduction
  2. Requirements for networked systems middleware
  3. Scalability of middleware-based distributed systems
  4. Middleware systems for mobile ad hoc networks
  5. Quality of service (QoS) and quality of experience (QoE) in networked systems middleware
  6. Security in networked systems middleware
  7. Middleware systems for peer-to-peer networks
  8. Mid term exam
  9. Database middleware and transaction middleware
  10. Cluster and grid middleware
  11. Formal modeling of distributed middleware-based systems; Case study: SIP/WS gateway;
  12. Case study: MidArc, e-Health
  13. Case study: Programmable Internet Environment (PIE)
  14. Student project presentations
  15. Final exam

Study Programmes

University graduate
Computer Engineering (profile)
Specialization Course (1. semester) (3. semester)
Computer Science (profile)
Specialization Course (1. semester) (3. semester)
Software Engineering and Information Systems (profile)
Specialization Course (1. semester) (3. semester)
Telecommunication and Informatics (profile)
Specialization Course (1. semester) (3. semester)

Literature

Q. H. Mahmoud (2004.), Middleware for Communications, Wiley
M. K. Goff (2004.), Network Distributed Computing: Fitscapes and Fallacies, Prentice Hall
M. Lerner, G. Vanecek, N. Vidovic, D. Vrsalovic (2000.), Middleware Networks: Concept, Design and Deployment of Internet Infrastructure, Springer

Laboratory exercises