Formations JAVA/JEE

Développer avec les frameworks Java/Java EE

Objectifs de la formation

  • Découvrir le principe de découpage en couches d'une application
  • Utiliser le conteneur Spring
  • Accéder aux données avec Hibernate
  • Développer une API REST exposant des ressources
  • Consommer une API REST depuis une application cliente HTML/JS Angular


Programme de la formation

Introduction

  • Bonnes pratiques : séparation des responsabilités, DRY, KISS, classes agnostiques, POJO.
  • Principe du découpage en couches : accès aux données, métier et Web.
  • Rôle des Spring, Hibernate, Jersey et Angular.
  • Librairies complémentaires : logging avec slf4j et logback, tests unitaires avec JUnit, les mocks.
  • Le principe des "Single Page Application".

Environnement de travail

  • L'environnement Eclipse.
  • Le plug-in Spring Tool Suite (STS).
  • Les dépendances Maven.

Travaux pratiques

Installation de l'IDE et du plug-in Spring Tool Suite.

Mise en place d'une architecture multicouche avec Spring

  • Le découpage en couches, l'approche POJO.
  • La gestion de l'état.
  • L'injection de dépendances.
  • Les interceptions.
  • Les invocations planifiées.
  • La supervision avec JMX.
  • La configuration du conteneur (annotations, par XML).
  • Le test des beans managés.

Travaux pratiques

Mise en place d'une application multicouche, utilisation de Spring comme factory pour gérer nos objets (cycle de vie, injection de dépendance...).

Accès aux données avec Hibernate et JPA

  • Le mapping objet relationnel (XML, annotations).
  • Le Lazy Loading.
  • L'API EntityManagerFactory et EntityManager.
  • JPA-QL, API Criteria, MetaModel, EntityGraph.
  • La gestion des transactions, le lien entre couplage JPA et JTA.

Travaux pratiques

Mise en place d'entités persistantes. Gestion Spring du cycle de l'entityManager JPA, usage du moniteur transactionnel de Spring et des annotations JTA.

Web Services REST, API JAX-RS vs Spring MVC

  • 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.
  • Mise en place de services REST (JAX-RS et Jersey).
  • Comparaison avec Spring MVC.

Travaux pratiques

Développement d'une API REST exposant les ressources de l'exercice précédent.

Client HTML/JavaScript avec Angular

  • L'avantage des IHM "côté client".
  • L'écueil que représente la manipulation du DOM.
  • L'approche proposée par AngularJS.
  • Isomorphic JavaScript pour le rendu côté serveur.

Travaux pratiques

Création d'un client HTML/JavaScript avec Angular consommant l'API REST développée précédemment.

Please login to get access to the quiz
Java/JEE, sécurité des applications (Prev Lesson)
Back to Formations JAVA/JEE
Public

Développeurs Java, chefs de projets Java/Java EE.

Pré-requis

Bonnes connaissances des technologies Web. Expérience requise en programmation d'applications Web en Java.

Sur le même thème