Composante
ENSEIRB-MATMECA
Code interne
EI9IT310
Description
L'objectif de ce cours est de comprendre la pertinence des applications concurrentes et distribuées.
A travers la mise en œuvre de deux programmes construit itérativement durant le semestre, le cours introduit les bases et les concepts utilisés dans les applications modernes. Des technologies couramment employées en entreprise comme Java, Spring, Kafka et Maven sont utilisés afin de familiariser l'étudiant à leur usage et faciliter une future montée en compétence sur des technologies similaires
Programmation concurrente
Processus vs Thread
Programmation multi-thread
Les difficultés du multi-thread
Comment concevoir des applications multi thread
HTTP et socket
Création d'un serveur web multi-thread
Programmation distribuée
Préambule : IOC et injection de dépendance
Serveur REST
Client REST
Architecture 3-tiers
Architecture distribuée
Introduction à un bus de message
Producer et consumer
Notion de haute disponibilité
Sérialisation / Désérialisation
Service asynchrone
Pré-requis obligatoires
Java, connaissance d'un IDE
Syllabus
I5GL-D - Applications concurrentes et distribuées
+ Programmation Concurrente
Principes
Threading
Collaboration et synchronisation
+ Programmation distribuée et JEE
Présentation
Le conteneur JEE
EJBs
Servlets
MDBs et JMS
[Clustering, Loadbalancing et Cloud]
Modalités de contrôle des connaissances
Évaluation initiale / Session principale - Épreuves
Type d'évaluation | Nature de l'épreuve | Durée (en minutes) | Nombre d'épreuves | Coefficient de l'épreuve | Note éliminatoire de l'épreuve | Remarques |
---|---|---|---|---|---|---|
Contrôle Continu | Contrôle Continu | 0.5 | ||||
Projet | Rapport | 0.5 |
Seconde chance / Session de rattrapage - Épreuves
Type d'évaluation | Nature de l'épreuve | Durée (en minutes) | Nombre d'épreuves | Coefficient de l'épreuve | Note éliminatoire de l'épreuve | Remarques |
---|---|---|---|---|---|---|
Projet | Rapport | 0.5 |