Vous êtes ici : FIL > Portail > Master Informatique > M1S2 > CAR

Construction d'Applications Réparties (CAR)

Responsable

Romain Rouvoy, Bâtiment M3, bureau 323

Intervenants

Volume horaire

L'enseignement est organisé sous la forme d'une séance hebdomadaire de cours d'une durée de 1h30, d'une séance hebdomadaire de travaux dirigés d'une durée de 1h30 et d'une séance hebdomadaire de travaux pratiques d'une durée de 2h.

Crédits

5 ECTS
Romain Rouvoy

Objectifs

L'objectif de cette UE est d'appréhender et de mettre en pratique les concepts des applications réparties. De part la multiplication des matériels informatiques et le développement des réseaux, il est de plus en plus courant qu'une application mette en oeuvre des interactions sur plusieurs (voire de nombreux) sites afin de rendre son service. Le domaine de l'informatique répartie étant trés vaste, ce cours met principalement l'accent sur les styles d'architecture que l'on rencontre : les applications client/serveur sur Internet, les services web avec SOAP et REST, les objets et les acteurs distribués avec Java RMI et Akka, les composants EJB et Java EE.

Contenu

  • Introduction et concepts des applications répartis et client/serveur
    • notions de middleware, mode requête/réponse, MOM, RPC, bus
    • client/serveur 2, 3, n tiers
    • proxy, représentation de données, passage de paramétres en réparti
  • Applications réparties en mode message
    • protocoles client/serveur, modes bloquant/non bloquant, adressage
    • modes point à point, multiploints
    • gestion de la concurrence et de la synchronisation
  • Web Services
    • principes, SOAP, WSDL, REST
  • Objets et acteurs répartis
    • client/serveur et programmation objet, notion d'interface, de service
    • nommage, contrôle d'accés, durée de vie des objets en environnement réparti
    • migration, réplication, ramasse-miettes
    • Java RMI
    • Akka
  • Java Enterprise Edition (Java EE, J2EE)
    • principes, servlet, JSP, JDBC, EJB 3 session, entité
    • services techniques (persistance, nommage, transaction, sécurité)
    • patrons de conception Java EE

Bibliographie

  • J. Siegel. CORBA 3 Fundamentals and Programming. Wiley, 2000.
  • J.-M. Geib, C. Gransart, P. Merle. CORBA: des concepts à la pratique. Dunod, 2éme édition, 1999.
  • B. Meyer. Object-Oriented Software Construction. Prentice Hall 1997.
  • R. Orfali, D. Harkey, J. Edwards. The Essential Client/Server Survival Guide. Wiley 1996.
  • A. Tanenbaum. Distributed Operating Systems. Prentice Hall 1995.
Lionel Seinturier
Semaine Cours TD TP
1 Introduction aux applications réparties
2 Applications réparties en mode message Programmation client/serveur en mode message
3 Applications réparties en mode message Serveur FTP Serveur FTP
4 Web Services (REST, SOAP) Architecture d'applications Internet Serveur FTP
5 Objets et répartition Représentation des données Serveur FTP
6 Java RMI RMI Evaluation Serveur FTP
REST
7 Akka Annuaire REST
8 Java EE - JSP
Élection sur un anneau REST
9 Java EE - servlet Élection contrarotative sur un anneau Evaluation REST
Akka
10 Java EE - JDBC Répartiteur de charge Akka
11 Java EE - EJB Protocole de validation à deux phases Evaluation Akka
Java EE
12 Java EE - EJB Vidéo-club en ligne Java EE
13 Map Reduce Java EE
Evaluation Java EE
Lionel Seinturier

L'évaluation s'effectue suivant une procédure de contrôle continu, et un examen en fin de semestre.

Deux notes seront attribuées à chaque étudiant durant le semestre :

  • TP : une note sur 20 de Travaux Pratiques (relève des TP) ;
  • EX : une note sur 20 pour l'examen de fin de semestre.

La note finale sur 20 (N) est calculée comme une moyenne pondérée de ces deux notes :

N= 0.4*TP + 0.6*EX

Pour la seconde session d'examen, les notes de TP sont conservées. Seule la note d'examen (EX) est remplacée par la note obtenue lors de la seconde session.

L'unité acquise apporte 5 ECTS.

Romain Rouvoy

Accès au site Moodle de l'UE

Les polycopiés de l'UE sont accessibles sur le site Moodle suivant :

Examens

Lionel Seinturier