Distributed systems have become omnipresent in several domains. Nowadays distributed applications play an important role in systems development. The main objective of this course is to present the principles of distributed systems construction and how they work. We are also going to study some aspects concerning the management of distributed data. Students shall achieve an introductory level in some important technologies used in the development of distributed systems.Contact Patrick REIGNIER
Based on the characteristics and the needs of distributed applications, this course presents different types of middleware that allow the construction and deployment of such applications. Middleware has the common characteristic of allowing applications to interact and to interoperate in order to offer a common service.
Different technologies allow the construction of distributed systems. This course will present architectural principles (client-server, peer to peer), communication models (RPC, MOM, Web Services) , as well as the main technologies (CORBA, Java RMI, J2EE, .NET Remoting) that are being used today.
Part of this course will focus on data handling in distributed systems. It will discuss distributed databases design as well as the coherent execution of distributed data handling. The support for distributed transactions and the main protocols for handling replicated data are also going to be studied.
Eventually, the presented approaches will be illustrated by practical experiments.
Basic knowledge of object oriented programming languages, such as Java, operating systems and computer networks
N1 = P
Distributed Systemes, Principles and Paradigms. Andrew S. Tanenbaum and Maarten van Steen, Prentice Hall, 2002.
Distributed Systems, Concept and Design. Georges Coulouris, Jean Dollimore ant Tim Kindberg, Addison Wesley, Third, Edition, 2001.
Engineering Distributed Object, Wolfgang Emmerich, John Wiley & Sons, 2000.
Written by Sebastien Viardot
Date of update January 15, 2017