ECTS
5 crédits
Composante
ENSEIRB-MATMECA
Code interne
EI9GLD
Liste des enseignements
Applications concurrentes et distribuées
Composante
ENSEIRB-MATMECA
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
Développement d'applications mobiles
Composante
ENSEIRB-MATMECA
1/ Introduction au monde mobile, premier pas avec Android Bref historique avec une mise en perspective de ce qu'était le monde mobile avant les smartphones Détail de comment fonctionne Android, comment les applications sont gérées par le système TP : Première application type "Hello world!" 2/ Construction des interfaces, premier design pattern Comment Android gère l'affichage d'un écran Explication du design pattern MVP (Model View Presenter) utilisé par Android Aperçu de la gestion des multiples résolutions TP : Réalisation d'interface pour une application simple sur téléphone et tablette 3/ Navigation et transmission d'informations Comment Android gère le passage d'un écran à l'autre Méthode pour passer les informations d'un écran à l'autre Stockage et restitution des informations TP : application constitué de plusieurs écran, dont certains ont un état persistant même une fois l'application arrêtée 3/ Appel à des webservices Présentation des appels aux webservices Sensibilisation sur les contraintes techniques liés à leur consommation TP : application appelant plusieurs webservices 4/ Mise en place d'une architecture en couche Réflexion autour d'une application appelant plusieurs webservices Présentation d'une architecture en couche dans une application Android TP : Mise en pratique d'une architecture en couche 5/ Utilisation des fonctionnalités Android Gestion des permissions Accès aux services d'Android TP : Utilisation de plusieurs services combinés (Téléphone, GPS, Multimédia, Web...)