TP: Clients

Modalités

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

  • Les binômes sont à constituer au sein des groupes de projet TI. En cas de nombre impair d'étudiants, des binômes inter-groupes peuvent être constitués.
  • Le rendu sera constitué d'un fichier zip 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. Toute autre information à transmettre aux enseignants (e.g. justifications de choix techniques) se fera de préférence dans ce fichier.

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: service-exemple.war. La servlet CXF est disponible à l'URL suivante après déploiement: http://localhost:8080/service-exemple/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. La VM est déjà configurée pour cela.

La première partie du TP requiert l'utilisation de soapUI. Une nouvelle version de la VM TI1_TIW5 inclus soapUI. Il est également disponible (version linux) sur ce miroir local.

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 updateFilm (avec des données) et l'exécuter. Faire de même avec la requête pour l'opération getInfos en utilisant l'id renvoyé par l'opération précédente.

Créer ensuite un test avec ces deux requêtes. On automatisera dans ce test la récupération et l'injection de l'id du film via une étape de “property transfert”.

Client en ligne de commande

Creer un nouveau projet maven via la commande

mvn archetype:generate

On choisira la réponse proposée par défaut pour le type de projet1) et la version. Le choix du groupId2), de l'artifactId3) 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 un film dont l'utilisateur fournira l'identifiant et l'ajout de données sur un film (les données étant saisies via l'interface texte).

Bonus

Reprendre les fonctionnalités du client en ligne de commande avec un client AJAX.

1)
maven-archetype-quickstart
2)
équivalent au package, e.g. tiw5
3)
e.g. client