Ceci est une ancienne révision du document !


Mise en place de services SOAP et REST

Service SOAP: Location

L'objectif de cette partie consiste à déployer un service SOAP de location de DVDs. Dans un premier temps on récupérera la dernière version des sources “énoncé” de TIW5 en clonant le dépôt de la forge:

hg clone https://forge.univ-lyon1.fr/hg/inf2018m-2012-tpbase

En plus d'une implémentation du modèle du TP1 et l'implémentation du service exemple du TP2, le projet contient à présent un sous-projet services. Ce projet est prévu pour être déployé sur JBoss 7.1 et s'appuie sur une datasource java:jboss/datasources/EtudiantDS. Cette dernière doit être déployée dans le serveur en déployant le driver postgresql et la description de la dite source (etudiant-ds.xml).

Le projet services contient deux exemples de services déployés:

  • HelloImpl: simple service hello, mais ayant la particularité d'utiliser une description WSDL préexistante. Le WSDL est également accessible après déploiement ici. On peut remarquer l'influence du WSDL sur le nom des éléments dans les requêtes/réponses.
  • JPATestService: pas de WSDL préexistant, mais un service implémenté via un Stateless bean dans lequel on fait usage d'une transaction déclarée au niveau de la méthode (@TransactionAttribute). On peut également remarquer que l'EntityManagerFactory est injectée par le conteneur.
  • Hors fichier de persistance et web.xml1), pas de fichier de configuration. Peu de dépendance maven aussi, les dépendances “runtime” étant fournies par le serveur d'application.

Mettre à jour le modèle pour y intégrer une notion d'exemplaire d'un film, qui peut être loué. Créer ensuite un service avec une opération de location, prenant en argument le titre et l'année du film à louer et qui renvoie le prix de la location et le numéro de l'exemplaire obtenu. Y ajouter une opération permettant de rendre un exemplaire emprunté.

Créer un test soapUI pour votre service.

Service REST: FilmInfos

1)
d'ailleurs vide