Middleware et architecture logicielle pour applications réparties (ASR 6)

Catalog of Télécom SudParis courses

Code

IGFF CSC 5002

Level

M2

Graduate

Graduate

Semester

Fall

Domain

Informatique

Program

Programme Ingénieur

Language

Anglais/English

ECTS Credits

4

Class hours

45

Workload

90

Program Manager(s)

Department

  • Informatique

Educational team

Organisation

Cours/TD/TP/projet/examen : 25,5/3/16,5/1,5

Learning objectives

After this teaching unit, you should be able to:
- Identify and use the main interaction patterns between distributed components (synchronous call, callbacks, orchestration, asynchronous calls, publish/subscribe) through the study and practise of several middleware (RestFul Services, Web Services, AMQP, JavaEE).
- Design and implement a distributed application made of several functional modules with computing components, persistent components, client components. The application will be realised in the context of a microproject lasting during all the teaching unit.
- Identify design patterns and architectural patterns used by middleware for distributed applications.
- Define the quality of a distributed architecture and discuss architecture choices to respond to the quality requirements a of software architecture (e.g. interoperability, security, scalability).

CDIO Skills

  • 1.3 - Advanced engineering fundamental knowledge, methods and tools
  • 4.3.2 - Defining Function, Concept and Architecture
  • 4.4.1 - The Design Process
  • 4.4.3 - Utilization of Knowledge in Design
  • 4.8.5 - Designing products and services around new technologies

Prerequisites

- Modélisation d’applications avec UML, programmation en Java avec un IDE (Eclipse), scripts en bash, gestion de version avec git, base de données et langage SQL

Keywords

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

Content

- Fundamentals of middleware and software architectures
- Monolithic and microservice-based software architectures
- REST Architecture Style, REST with JAX-RS, XML serialisation and Basics of HTTP
- Synchronous and asynchronous interaction patterns, Server-Sent Events
- Hexagonal Architecture, Design Pattern Ports & Adapters
- Domain Driven Design of Microservices Applications
- Fundamentals of application servers, Persistence and Object Relational Mapping
- Distributed Event-Based Systems, AMQP with RabbitMQ
- Feature Flagging; Observability; Benchmarking
- Microproject
- Conferences by external experts

Evaluation

Class attendance and participation will be taken into account in the evaluation.
The evaluation for this course is based on continuous control (CC) consisting of graded lab assignments and/or a micro-project and/or case studies with oral presentations, as well as a final written exam taken in class without reference materials.
The course is considered passed if and only if the final grade is 10 or higher.
Only one final exam is administered.

Assessment formula

Note Finale = 0.3 * CC + 0.7 * CF

References

- 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

Pedagogical methods

ASSIDUITE : CC
L’acquisition des connaissances est assurée à l’aide de cours, travaux-pratiques, micro-projet et conférences