Descriptif
Ce cours introduit les notions de base pour comprendre et développer des applications distribuées (axées sur la programmation Java). Il introduit la notion de middleware, qui facilite le développement et la gestion de systèmes distribués. Il fournit ensuite deux exemples concrets de différents types de middleware : basés sur des invocations de méthodes à distance et des modèles de communication orientés message. Programme : Ce cours comprend les matières suivantes : \- Notions avancées de programmation distribuée (basées sur Java) : threads, synchronisation, sérialisation d'objets, entrées/sorties et sockets ; \- Introduction au middleware et à deux technologies concrètes pour l'invocation de méthodes à distance et la communication basée sur des messages ; \- Des travaux pratiques illustreront l'application concrète des notions théoriquesObjectifs pédagogiques
Acquis d'apprentissage À l'issue de l'UE, l'élève sera capable de: \- Expliquer le rôle et le fonctionnement général des plates-formes middleware, à base de différents modèles de distribution (ex : appel de méthode à distance, envoi de message, publication/souscription) \- Développer des applications répartis à base des technologies exemplifiées en cours \- Comparer et analyser différentes types de middleware afin d'identifier leurs points forts et faibles. Déterminer par conséquent leur applicabilité au contexte d'application souhaité. Compétences de rattachement (et justification) \- BC8.3 – Concevoir et développer des solutions technologiques en s’appuyant sur un paradigme de programmation spécifique ou en concevant des architectures matérielles et logicielles spécifiques; Justification : L'UE amènes les élèves à utiliser des technologies et des concepts du middleware pour la programmation répartie \- BC1.3 – Elaborer une ou plusieurs solutions technologiques, en s’appuyant sur la modélisation théorique et la méthode scientifique de manière à faire ressortir la pertinence desdites solutions permettant une prise de décision; Justification : L'UE montre plusieurs modèles de communication au sein des systèmes répartis ; et met en avant des axes permettant leur comparaison afin de faciliter des choix adaptés cas-par-cas.
24 heures en présentiel
12 heures de travail personnel estimé pour l’étudiant.