TP: Clients

  • 25/09/2013: modalités de rendu changées
  • 24/09/2013: extension de deadline au 30/09/2013, 23h59
  • 24/09/2013: suppression des références à film dans la partie client en ligne de commande.

Modalités

Groupes

Ce TP est à effectuer en binômes à constituer au sein du groupe TI5. Cette semaine encore il est possible pour les étudiants qui n'ont pas suivi le M1 au département l'an dernier de former un trinôme avec des deux autres étudiants.

Rendu

Ce TP est à rendre pour le 30/09/2013, à raison d'un rendu par binôme. Le rendu sera constitué d'un fichier zip contenant: Le rendu se fera par l'intermédiaire d'un projet forge (on fera attention a bien donner au moin le rôle “reporter” à Emmanuel Coquery et à Lionel Medini) contenant:

  • le fichier xml du projet soapUI
  • le projet maven de l'interface en ligne de commande (sans le répertoire target)
  • un fichier README.txt contenant au moins les noms, prénoms et numéros d'étudiants du binôme/trinôme. Toute autre information à transmettre aux enseignants (e.g. justifications de choix techniques) se fera dans ce fichier.

L'identifiant du projet forge (e la forme pxxxxxx-nomprojet) est à saisir dans Tomuss, dans l'UE Tiw5 WebServices, dans la case FORGE_TP2. On fera attention à tagger la révision correspondant au rendu avec le tag TP2

Introduction

L'objectif de ce TP est d'utiliser et de créer des clients pour un service web. Pour cela, on s'appuiera sur un service de récupération et de mise à jour. Le service est fourni sous la forme d'un war à déployer sur tomcat: wine-service.war. La servlet CXF est disponible à l'URL suivante après déploiement: http://localhost:8080/wine-service/services. Ce service s'appuie sur la possibilité de se connecter à une base PostgreSQL locale, avec possibilité d'accès sur le schéma public de la base postgres en utilisant les login/mot de passe etudiant/etudiant. Il faut créer les tables du TP 1 1) sur le SGBD.

La première partie du TP requiert l'utilisation de soapUI. Mirroir local pour la version Windows, à décompresser sur le disque local en salle de TP.

soapUI

soapUI est un logiciel de test pour les services Web. Lancer soapUI et créer un nouveau projet. Le logiciel propose de charger un fichier WSDL et de générer des squelettes de tests. Utiliser le wsdl du service fourni et déployé précédemment sur tomcat. Modifier la requête pour l'opération addWinesFromLocation (avec des données) et l'exécuter. Faire de même avec la requête pour l'opération getWines.

Créer ensuite un test avec ces deux requêtes. On vérifiera dans ce test la bonne insertion de bouteilles.

Client en ligne de commande

Creer un nouveau projet maven via Eclipse ou la commande

mvn archetype:generate

On choisira la réponse proposée par défaut pour le type de projet2) et la version. Le choix du groupId3), de l'artifactId4) et des autres paramètres est laissé libre. Importer ensuite le projet dans Eclipse.

Dans ce projet, on créera un client pour le service précédent. On utilisera l'API SAAJ pour envoyer et recevoir des messages du service. Le client sera constitué d'une interface texte avec un menu permettant de choisir entre l'affichage (en mode texte) des informations sur une région dont l'utilisateur fournira l'identifiant et l'ajout de données sur un vin (les données étant saisies via l'interface texte).

Bonus

Reprendre les fonctionnalités du client en ligne de commande avec un client AJAX. Pour éviter les problèmes avec CORS, déployer sous forme d'un projet web jee dans le même serveur tomcat.

1)
cf le fichier src/main/resources/setup_pg.sql
2)
maven-archetype-quickstart
3)
équivalent au package, e.g. sw.wine
4)
e.g. client