2006-2007
Master M2-P, Spécialité Génie Informatique
Polytech' Grenoble RICM-3

Version du  23/10/2006
Le programme, la répartition des séances et le contenu sont susceptibles d'évoluer légèrement
 

Systèmes et applications répartis

Objectifs. Ce cours a pour but de présenter les méthodes et techniques qui servent de base à la conception, à la réalisation et à l'exploitation des systèmes informatiques répartis. Deux aspects sont examinés : outils de construction d'applications réparties ; services systèmes et infrastructures.

Plan général

Les cours ont lieu (sauf indication contraire) :
Consulter l'affichage et les sites web des formations.


1. Cours 1 et 2

Introduction aux applications réparties : caractéristiques, besoins, modèles et mécanismes de base 

Introduction à CORBA 
  • Objets répartis : principes, problèmes.
  • Rappels sur Java RMI
  • Principes de l'ORB
  • Principes de l'IDL
 Fonctionnement de l'ORB illustré pas à pas sur un exemple
Transparents Introduction, rappel objets [4 par page] [1 par page]

Transparents Appel de procédure à distance [4 par page]
[non traité en cours]

Transparents Exemple CORBA   [4 par page]   [1 par page]

2. Cours 3 et 4

Compléments sur CORBA 
  • Construction d'une application
  • Appel dynamique et répertoire des interfaces
  • Fonctionnement interne de l'ORB ; traitement des références
  • Introduction au POA, gestion des servants
Programmation par événements 
  • Principes, exemples
  • Bus logiciels, MOM (Message Oriented Middleware)
Exemples de systèmes à messages et événements
  • JMS
  • Event Service de CORBA
  • JINI
 



voir aussi CORBA: des concepts à la pratique (J. M. Geib, Ch. Gransart et Ph. Merle), et le livre du même nom, cf. bibliographie.

Transparents Compléments CORBA  [4 par page] [1 par page]

Transparents Programmation par événements et MOM + exemples [4 par page] [1 par page]


3. Cours 5 et TD 1

Introduction aux composants logiciels : motivations, définition, principes de base

Études de cas [selon temps disponible]
  • Java Beans
  • Enterprise Java Beans
Transparents composants [4 par page] [1 par page]

TD - 1

Thème : Événements et messages
voir placard / bureau virtuel

4. Cours  6 et 7
 
Études de cas (suite) [selon temps disponible]
  • DCOM [non traité]
  • CORBA CCM
  • Intégration de services : Web Services
Tolérance aux fautes- 1 : principes et techniques de base 
  • Terminologie : fautes, erreurs, défaillances.
  • Recouvrement (reprise-poursuite) / Compensation (masquage-detection).
  • Exemple illustratif (Ariane 501)
  • Exemples de machines tolérantes aux fautes (Tandem, etc)

Transparents DCOM  [4 par page] [non traité en cours]

Transparents Web Services  [4 par page]  [1 par page]


Transparents Tolérance aux fautes-1 [4 par page] [1 par page]

Les TP (2 séances de 3h : Introduction à l'utilisation de CORBA) auront lieu aux horaires suivants

 
TP : Introduction à l'utilisation de CORBA 
  • Exemple simple : annuaire (en Java)
    • avec serveur simple
    • avec "fabrique" d'annuaires
Texte du projet

5.  Cours 8 et TD 2

Tolérance aux fautes - 2 : applications 
  • Client-serveur fiable
    • Serveur primaire
    • Redondance active
  • Systèmes à haute disponibilité
  • Gestion de données dupliquées
  • Techniques de groupe.
    • Exemples : Isis-Stratus, Horus

Transparents Tolérance aux fautes-2 [4 par page] [1 par page]

TD - 2

Thème : Tolérance aux fautes
voir placard / bureau virtuel

6.  Cours 9-10

Sécurité - 1
  • Définitions : sécurité, protection, authentification.
  • Rappel des principes de la cryptographie.
  • Authentification Needham-Schroeder par chiffre symétrique
Sécurité - 2 
  • Application : Kerberos.
  • Authentification Needham-Schroeder par chiffre à clé publique
  • Signatures électroniques
Fin sécurité

Transparents Sécurité-1 [4 par page] [1 par page]

Transparents Sécurité-2 [4 par page] [1 par page]

7. Cours 11 et TD 3

Gestion répartie de données 
  • Principes, techniques de base
  • Caches, cohérence : exemples
    • mémoire virtuelle répartie
    • caches de serveurs web
  • Gestion de données persistantes

Systèmes répartis de gestion de fichiers (SRGF)
  • Introduction-Propriétés d'un SGF réparti.
  • Designation. principes, pptés (transparence, etc), montage, mise en œuvre d'un espace unique.
  • Sémantique du partage. : Unix, session, transactions


Transparents Gestion répartie de données-1 [4 par page] [1 par page]


TD - 3 (1h30)

Thème : Sécurité
voir placard / bureau virtuel

8. Cours 12 et  TD 4

Systèmes répartis de gestion de fichiers (SRGF), suite
  • Exemples
    • NFS : principe, mise en œuvre, critique ; réalisation, utilisation
    • AFS-DFS : structure, noms, cohérence, réalisation
    • Coda-Odyssey : mode déconnecté ou faiblement connecté
Systèmes "pair à pair" (P2P)
  • Exemples : Napster, Gnutella, Freenet
  • Techniques de tables de hachage distribuées (DHT)
  • Introduction à la diffusion à frande échelle

Transparents Gestion répartie de données-2 [4 par page] [1 par page]


TD - 4 (1h30)

Thème : Gestion de données réparties
voir placard / bureau virtuel

Bibliographie sommaire

GénéraleCORBA
Sécurité
D'autres références plus spécialisées sont indiquées dans les transparents