L’objectif principal est de fournir un aperçu des principaux frameworks pour la gestion des threads, la communication réseau, ainsi que l’administration et la supervision des applications. Le cours aborde également les principes architecturaux fondamentaux qui supportent la construction modulaire des applications.
Avoir des notions de programmation orientée objet
Concepteur Développeur
Module 1 : La programmation concurrente
– Concepts de la programmation multithread : le modèle d’activités de Java (Runnable et Thread).
– Création et destruction des threads. Ordonnancement des threads.
– Synchronisation des threads : verrouillage des méthodes et des instructions (synchronized), moniteurs.
– Problèmes courants du multithreading : interblocage (caractérisation, évitement, prévention, détection), famine.
– Extensions du modèle dans Java 5 : Callable
-Modèle Fork/Join de Java 7.
– Extensions de Java 8 : CompletableFuture.
– Outils de gestion de la concurrence : verrous partagés/exclusifs, sémaphores, barrières cycliques.
Travaux pratiques : construction d’une application multithread avec contraintes de concurrence.
Module 2 : La communication par socket
– Rappels sur les concepts réseaux.
– Communication en mode connecté.
– Modèle client/serveur : serveur séquentiel vs. serveur concurrent, utilisation de la sérialisation.
– Programmation en mode non connecté : modèle Peer to Peer.
Travaux pratiques : étude de cas en mode client-serveur (séquentiel et concurrent).
Module 3 : La communication par invocation de méthode distante : RMI
– Principes généraux des ORB (Object Request Broker).
– Modèle RMI : concepts, interfaces, classes de base.
– Service de nommage.
– Développement du client et du serveur.
– Contraintes de sécurité et de chargement de classes.
Travaux pratiques : étude de cas à l’aide de RMI.
Module 4 : La communication par messages : JMS
– Principes généraux de la communication par messages.
– Modèle de base JMS : concepts, interfaces, classes.
– Différentes formes de messages.
– Communication point à point.
– Communication publish/subscribe.
Travaux pratiques : étude de cas à l’aide de JMS.
Module 5 : L’administration des applications : JMX
– Modèle JMX (Java Management eXtension) : concepts, interfaces, classes.
– MBeans et MBeanServers.
– Mise en place d’une couche d’administration.
– Console d’administration (JConsole).
– Communication via adaptateurs et connecteurs.
Travaux pratiques : mise en place d’une couche d’administration-supervision pour l’étude de cas.
Module 6 : La programmation réflexive
– Objectifs et principes.
– Découverte dynamique des informations relatives à une classe ou à un objet.
– Instanciation et invocation dynamique.
– Réflexivité et annotations en Java 5.
Travaux pratiques : étude de cas en mode client-serveur (séquentiel et concurrent).
Module 7 : Panorama des extensions de Java 5 à…
– Types : génériques, énumérations, autoboxing/autounboxing, records.
– Lambda-expressions, interfaces fonctionnelles.
– Streams de Java 8.
– Modules de Java 9.
« Evaluation des acquis tout au long de la formation à travers des Tps, des Quizz ;
Evaluation de satisfaction de fin de formation ;
Attestation de fin de formation précisant les modules acquis et en cours d’acquisition ;
Support de cours remis en fin de session. »
Très bon formateur qui connaît bien son sujet !
Très bien, le contenu de la formation était bien adapté au passage de la certification PSM I et correspondait à mes attentes.
Très bon formateur. Formation enrichissante.
Formateur de qualité, très bonne communication avec une volonté de développer la compréhension des élèves. Le formateur a su rythmer la formation de manière pertinente et jamais ennuyante !
Super formation – très bien préparée et animée
Très intéressant ! Merci pour cette formation !