Université Claude Bernard Lyon 1 – M2 TI – TI 1

TP CAHD - Spring framework

Objectifs pédagogiques

Préambule

Dans ce TP, vous allez utiliser le framework Spring et certains des principaux projets de l'infrastructure Spring. Dans un premier temps, vous réaliserez quelque chose de similaire à ce que vous avez fait pendant le TP sur les EJB. pour cela, vous travaillerez à partir d'une version orientée-composants de votre application répertoire, c'est-à-dire comprenant plusieurs répertoires (conformes à la même interface), un annuaire, etc. Vous pouvez reprendre celle de la question sur les entity managers du premier TP ou vous inspirer de la version Web développée dans le TP EJB.

Spring Framework

Dans cette section, vous allez utiliser les différents modules de Spring Framework, dont vous trouverez une documentation ici.

Créez un projet Forge et passez le projet de votre application en Spring Framework via la config Maven décrite ici.

Spring Core Container

Faites les manipulations suivantes pour que votre code puisse être utilisé par Spring Core Container :

Spring Web MVC

Refactorez votre code en MVC pour qu'il fonctionne selon l'architecture Spring Web MVC.

Comme pour le TP d'implémentation de services de TIW5, faites en sorte que les répertoires soient exposés comme des ressources REST et que le client interroge l'application avec des pages statiques et de l'AJAX. Vous êtes libres d'utiliser CXF ou pas.

Spring Test

Utilisez Spring Test pour écrire des tests :

  1. Unitaires pour chacun des composants ; utilisez éventuellement 1 ou plusieurs mocks ad hoc
  2. D’intégration (1 minimum)

Spring AOP

Utilisez Spring AOP pour créer un nouvel aspect chargé de valider les données du formulaire, notamment la forme des numéros de téléphone.

Spring Data

À l’aide de Spring Data, créez un DAO s’appuyant sur JPA pour implémenter la persistance des répertoires (cf. question entity manager du TP1).

Spring Security

À l’aide de Spring Security, utilisez l’authentification via OAuth pour faire en sorte que chaque utilisateur puisse accéder à son répertoire personnel.

Rendu du TP

Ce TP n'est pas à rendre, mais vous devez le terminer avant la fin de la séance suivante car vous en aurez besoin pour celui de microservices.

Licence Creative Commons
Valid XHTML 1.0 Strict