Objectifs pédagogiques
- Mettre en oeuvre les principaux frameworks de Java couvrant les trois couches, de la persistance à l'interface graphique.
Modalités et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour les cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatique...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Niveau requis
Avoir de bonnes connaissances de Java.
Public concerné
Tout professionnel amené à développer des applications Java.
Programme
Jour 1
Les bonnes pratiques du développement
- Bonnes pratiques d'écriture, les normes de nommage
- Le découpage en couches
- Importance des interfaces
- Rappel sur les composants
- POJO, DTO, VO
- L'injection de dépendance
- Présentation des frameworks principaux
- Rôle et positionnement des frameworks dans une architecture Java typique
- Présentation des frameworks, partant de la couche d'accès aux données à l'IHM
- Présentation des IDE et outils proposés dans la formation
Exemples de travaux pratiques (à titre indicatif)
- Installation de(s) IDE (Eclipse, Visual Studio Code)
- Installation et test des frameworks utilisés lors de la formation
Les frameworks d'industrialisation des développements
- Comprendre la structure d'un projet de développement en Java
- L'IDE Eclipse et Visual Studio Code pour industrialiser
- Automatisation des tâches avec Ant et ses extensions
- Automatisation des développements et déploiements Jakarta JEE avec Maven
- Rôle de Jenkins
- Conception des tests unitaires avec le framework JUnit, intégration à Maven
Exemples de travaux pratiques (à titre indicatif)
- Création d'un projet simple Jakarta JEE contenant des composants en utilisant Maven
- Ecriture de tests et intégration à la suite
Jour 2
La persistance avec JPA et Hibernate
- Notion de persistance des données
- JPA et ses providers
- Hibernate, comme provider de JPA
- Présentation du projet Hibernate
- Programmer à l'aide d'un mapping objet / relationnel
- Les POJO (Plain Old Java Object) et annotations principales
- Travailler avec des données persistantes
- Gestion du cycle des objets grâce à Hibernate et JPA
- Utilisation de l'EntityManager
- Mise en place des relations One to One, One to Many, Many to Many
- HQL et JPQL et introduction aux langages de requêtage d'Hibernate et JPA
Exemples de travaux pratiques (à titre indicatif)
- Dans le projet démarré, mise en oeuvre de composants POJO persistés sur une base créée préalablement
- Tests programmatiques des opérations CRUD (Create, Read, Update, Delete) sur des composants mappés
Jour 3
Le Framework Spring
- Présentation des objectifs de Spring et de ses extensions
- Présentation de Spring Core
- Spring et l'accès aux données
- Spring et le Web, Spring MVC
- Place de Spring dans les couches applicatives
Exemples de travaux pratiques (à titre indicatif)
- Réalisation d'une partie de l'application déjà écrite avec le framework Spring Core
- Intégration de Hibernate dans Spring
Jour 4
Web Services REST et API
- Web Services par rapport à API, part rapport à MicroServices
- Qu'est-ce qu'une URI ?
- Rappels HTTP : les verbes (GET, PUT...), les retours, les contentType, les en-têtes, la gestion du cache
- CORS : Cross Origin Shared Resource
- HATEOAS : Hypermedia As The Engine of Application State
- Mise en place de services REST (JAX-RS et Jersey)
- Comparaison avec Spring MVC
Exemple de travaux pratiques (à titre indicatif)
- Mise en oeuvre d'API REST en utilisant Jersey
Jour 5
Les frameworks Client
- Présentation des frameworks IHM côté serveur
- JSF2 et ses limites
- L'offre des frameworks IHM côté client
- Présentation des principaux frameworks IHM à base de composants
- Comparatif Angular, Vue et React
- Architecture d'une application client Angular
- Comment Angular consomme une API REST
Exemples de travaux pratiques (à titre indicatif)
- Réalisation d'une application utilisant Angular, appelant via REST des composants écrits avec Spring Core
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation ou une certification (M2i ou éditeur)