School / Prep
ENSEIRB-MATMECA
Internal code
EI9IT310
Description
The aim of this course is to understand the relevance of concurrent and distributed applications.
Through the implementation of two programs built iteratively during the semester, the course introduces the basics and concepts used in modern applications. Commonly used enterprise technologies such as Java, Spring, Kafka and Maven are used to familiarize the student with their use and facilitate future proficiency on similar technologies
Concurrent programming
Process vs. Thread
Multi-threaded programming
The difficulties of multi-threading
How to design multi-threaded applications
HTTP and socket
Creating a multi-threaded web server
Distributed programming
Preamble : IOC and dependency injection
REST server
REST client
3-tier architecture
Distributed architecture
Introduction to a message bus
Producer and consumer
Notion of high availability
Serialization / deserialization
Asynchronous service
Teaching hours
- CIIntegrated courses27h
- TIIndividual work15h
Mandatory prerequisites
Java, knowledge of an IDE
Syllabus
I5GL-D - Concurrent and distributed applications
+ Concurrent programming
Principles
Threading
Collaboration and synchronization
+ Distributed programming and JEE
Presentation
The JEE container
EJBs
Servlets
MDBs and JMS
[Clustering, Loadbalancing and Cloud]
Assessment of knowledge
Initial assessment / Main session - Tests
Type of assessment | Type of test | Duration (in minutes) | Number of tests | Test coefficient | Eliminatory mark in the test | Remarks |
---|---|---|---|---|---|---|
Continuous control | Continuous control | 0.5 | ||||
Project | Report | 0.5 |
Second chance / Catch-up session - Tests
Type of assessment | Type of test | Duration (in minutes) | Number of tests | Test coefficient | Eliminatory mark in the test | Remarks |
---|---|---|---|---|---|---|
Project | Report | 0.5 |