The course is aimed at providing students with proper conceptual and technological tools
for the design, analysis, and development of modern distributed applications.
After introducing models, paradigms and algorithms for distributed software, various types
of middleware systems are presented,
focusing on the issues they have been designed to deal with.
Students will learn to design, implement, and integrate distributed software,
possibly made of heterogeneous components;
moreover, they will acquire the ability to choose and apply the most suitable middleware solutions
to address practical problems in distributed enterprise applications.
Prerequisites: knowledge of Operating Systems basics and synchronization techniques, C, and mastering of Java.