Table des matières

Mise en place de services SOAP et REST

Modalités

Ce TP est à rendre pour le 24/10/2012, à raison d'un rendu par binôme.
URL de rendu SPIRAL: http://spiralconnect.univ-lyon1.fr/spiral/spiral.html#/activities/goto_folder/1825947

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.11) 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 SOAP déployés:

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

Similairement au cas SOAP, le projet services contient une implémentation exemple d'un service REST. La classe RestApplication est juste utilisée pour activer et configurer la gestion de jax-rs via RESTeasy, ce dernier étant fourni avec JBoss. La classe CoucouService implémente un service qui sera déployé via REST. Analyser les différentes annotations3) et comparer avec les requêtes REST de test-services-soapui-project.xml.

Reprendre la fonctionnalité du service exemple du TP2 et en faire un service REST. On fera traitera les méthodes GET, PUT, POST et DELETE en essayant de rester au maximum fidèle à la sémantique de celles-ci. On pourra s'inspirer de code du service exemple, en faisant attention aux points suivants:

Créer des tests soapUI pour vos services.

1)
contrairement à service-exemple prévu pour être déployé sous Tomcat
2)
d'ailleurs vide
3)
attention: @Stateless n'a rien à voir avec REST, c'est juste la déclaration d'EJB, pour signaler que c'est faisable