Ensimag Rubrique Formation 2022

Introduction aux applications réparties - 5MMIAR

  • Volumes horaires

    • CM 10.5
    • Projet -
    • TD -
    • Stage -
    • TP 7.5
    • DS -

    Crédits ECTS

    Crédits ECTS 2.0

Objectif(s)

Les systèmes répartis deviennent omniprésents dans la plupart des domaines d'activités. Avec ceci le développement
d'applications réparties prend aujourd'hui une place importante dans les systèmes informatiques. L'objectifs principal de ce
cours est de présenter les principes de construction et le fonctionnement des applications réparties. Nous étudierons également quelques éléments de la gestion des données distribuées sous-jacentes. Les étudiants acquerront un niveau de base dans quelques technologies majeures pour le développement des applications réparties.

Responsable(s)

Patrick REIGNIER

Contenu(s)

À partir des caractéristiques et des besoins des applications réparties, ce cours présente les intergiciels (middleware) permettant la construction et le déploiement d'applications réparties. Ces intergiciels ont pour caractéristique commune de permettre à des applications - programmées dans des langages différents et s'exécutant sur des systèmes matériels et logiciels hétérogènes -, d'interagir et d'interopérer pour offrir un service commun.
Des differentes technologies permettent aujourd'hui de construire des systèmes reparties. Ce cours présentera des principes architecturaux (client-serveur, pair à pair) ainsi que les modèles de communication (RPC, MOM, Web Services) et technologies (CORBA, Java RMI, J2EE, .NET Remoting) les plus en vogue pour la réalisation d'applications réparties.

Un volet du cours sera consacré au traitement des données par les applications réparties. Il abordera la conception de bases de données réparties ainsi que les supports pour l'exécution cohérente de traitements distribués. Les supports pour transactions réparties seront étudiés ainsi que les principaux protocoles de cohérence de données dupliquées.

Dans la mesure du possible, les approches présentées seront illustrées par des expérimentations.

Prérequis

Connaissances de base dans les domaines des langages de programmation orientés objets C++ ou Java; concepts et techniques de base utilisés dans les systèmes d'exploitation centralisés et les réseaux.

Contrôle des connaissances

CONTRÔLE CONTINU :

SESSION NORMALE :
Type d'examen (écrit, oral, examen sur machine) : soutenance d'un projet réalisé au cours du semestre
Salle spécifique : salle machine
Durée : 30mns
Documents autorisés (ex : aucun, résumé feuille A4 manuscrite, dictionnaires, tous documents) :
Documents interdits (ex : livres, tous documents) :
Matériel (ex : calculatrices):

  • matériel autorisé, préciser :
  • matériel interdit, préciser :
    Commentaires :

SESSION DE RATTRAPAGE :
Type d'examen (écrit, oral, examen sur machine) : développement seul d'une sous partie du projet
Salle spécifique : salle machine
Durée : 2h00
Documents autorisés (ex : aucun, résumé feuille A4 manuscrite, dictionnaires, tous documents) :
Documents interdits (ex : livres, tous documents) :
Matériel (ex : calculatrices):

  • matériel autorisé, préciser :
  • matériel interdit, préciser :
    Commentaires :

Note de projet obtenue à la suite d'une soutenance

N1 = P
Rattrapable : développement seul d'une sous partie d'un projet équivalent

Calendrier

Le cours est programmé dans ces filières :

  • Cursus ingénieur - Filière IF - Semestre 9
cf. l'emploi du temps 2020/2021

Informations complémentaires

Code de l'enseignement : 5MMIAR
Langue(s) d'enseignement : FR

Le cours est rattaché aux structures d'enseignement suivantes :

Vous pouvez retrouver ce cours dans la liste de tous les cours.

Bibliographie

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.