Middleware for Distributed Applications

Catalogue des cours de Télécom SudParis

Code

IGFE CSC 7321

Niveau

MSc

Graduate

PostGraduate

Semestre

Fall

Domaine

Informatique

Programme

Master of Science

Langue

Anglais/English

Crédits ECTS

5

Heures programmées

42

Charge de travail

84

Coordonnateur(s)

Département

  • Informatique

Equipe pédagogique

Organisation

Cours/TD/TP/projet/examen :

Acquis d'apprentissage

A la fin de ce module, les étudiants seront capables de :
- Identifier et utiliser les principaux modèles d'interaction entre composants répartis (appels synchrones, callbacks, orchestration, appels asynchrones, pub/sub) à travers l'étude et la mise en pratique de plusieurs middlewares (services REST et services Web, AMQP, JavaEE).
- Concevoir et mettre en œuvre une application répartie composée de plusieurs modules fonctionnels comprenant des composants de calcul, des composants persistants et des composants clients. L'application sera réalisée dans le cadre d'un microprojet s'étalant sur toute la durée du module.
- Identifier les modèles de conception et les modèles architecturaux utilisés par les intergiciels pour les applications réparties.
- Définir la notion de qualité d'une architecture répartie et analyser les choix architecturaux permettant de répondre aux exigences de qualité d'une architecture logicielle (par exemple, l'interopérabilité, la sécurité et le passage à l'échelle).

Compétences CDIO

  • 1.3 - Connaissances avancées en ingénierie : méthodes et outils
  • 4.3.2 - Définir la fonction, le concept et l'architecture
  • 4.4.1 - Processus de conception
  • 4.4.3 - Utilisation de connaissances préalables dans le cadre de la conception
  • 4.8.5 - Conception de produits et services autour des nouvelles technologies

Prérequis

Unix user commands, application modeling with UML, object oriented programming, Java language, database systems, fundamental of distributed applications

Mots-clés

middleware, microservices, hexagonal architecture, ports and adapters, distributed applications

Contenu

- Fondamentaux des intergiciels et des architectures logicielles
- Architectures logicielles monolithiques vs à base de microservices
- Style d'architecture REST, mise en oeuvre avec JAX-RS, sérialisation XML et bases du protocole HTTP
- Patron d'interactions synchrones et asynchrones, Server-Sent Events
- Architecture hexagonale, patron de conception Ports and Adapters
- Conception d'application orientée Domaine à base de microservices
- Fondamentaux des serveurs d'applications, persistance de données et ORM, mise en oeuvre de JPA avec EclipseLink
- Déploiement à base de micro-services et de conteneurs légers
- Réalisation d’un micro-projet
- Conférences par des intervenants extérieurs

Evaluation

La présence en cours et la participation seront prises en compte dans l'évaluation.
L'évaluation de cette UV repose sur un contrôle continu (CC) basé sur la réalisation de TP notés et/ou d'un micro-projet et/ou d'études de cas et/ou de dossiers écrits avec soutenance et d'un contrôle final sur table et sans document.
L'UV est validée si et seulement si la note finale est supérieure ou égale à 10.
Un seul examen final est organisé.

Formule de l'évaluation

Final grade = 0.3 * CC + 0.7 * FE

Bibliographie

- Supports de cours

Bibliographie :
- Hexagonal Architecture Explained: How the Ports & Adapters Architecture Simplifies Your Life, and How to Implement It, by Alistair Cockburn and Juan Manuel Garrido de Paz, Ed. Humans and Technology Press, Series on Object-Oriented Design, EAN 9781737519799, 2024

Approches pédagogiques

ASSIDUITE : CC
All the subjects of the module will be illustrated by research articles as well as practical labs. Through a micro-project students will design and implement a distributed application.