3-ème année
Tronc commun
Ingénieurs en Réseaux Informatiques et Systèmes de Communication
SAR.3
Systèmes et applications répartis
Cours : 18 h.
Travaux Dirigés : 18 h.
Objectifs
Ce cours présente les concepts et techniques qui servent de base à la conception, à la réalisation, et à l'exploitation de systèmes informatiques répartis. Il comporte deux parties : 1) Principaux schémas d'organisation d'applications réparties (objects, messages, composants) et intergiciels associés. 2) Principaux services communs : tolérance aux fautes, gestion de l'information (la sécurité fait l'objet d'un cours séparé)
Plan
  • Introduction aux applications réparties
    • Domaines d'application, besoins et problèmes
    • Introduction à l'intergiciel (middleware)
  • Objects répartis
    • Principes et techniques
    • CORBA : structure, utilisation ; autres modèles à objets (DCOM)
    • Services Web : principes, mise en oeuvre
  • Programmation par événements, coordination
    • Bus logiciels, message et événements, 
    • Applications et études de cas (JavaBeans, JMS)
  • Composants logiciels
    • Systèmes à composants : principes et techniques
    • Enterprise Java Beans (EJB)
  • Tolérance aux fautes
    • Principes des méthodes de tolérance aux fautes. Duplication de données et redondance active. Diffusion fiable
    • Recouvrement et compensation
    • Études de cas : matériel et logiciel
  • Gestion de l'information répartie
    • Systèmes répartis de gestion de fichiers. Études de cas (NFS, AFS, systèmes P2P)
    • Intergiciels pour la persistance
Bibliographie
S. Mullender (ed.), Distributed Systems, 2nd ed., Addison-Wesley, 1993 
G. Coulouris, J. Dollimore, T. Kindberg, Distributed Systems - Concepts and Design, 3rd ed., Addison-Wesley, 2001
A. Tanenbaum, M. van Steen, Distributed Systems - Principles and Paradigms, Prentice Hall, 2002
Travaux Dirigés et Travaux Pratiques
Deux "mini-projets" de construction d'une application répartie au moyen d'outils intergiciels repésentatifs de l'état de l'art.
  • Projet CORBA
  • Projet Enterprise Java Beans (EJB)