Web & XML. Evaluation 1/2. ENSEIRB Programmation Web / XML. Version 1.00 du 19 décembre 2012 Etat : Travail SOPRA GROUP. Page 1/9



Documents pareils
Utilisation de Jakarta Tomcat

Web Tier : déploiement de servlets

Application de lecture de carte SESAM-Vitale Jeebop

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Projet Java EE Approfondi

[Projet S9] Rédacteurs & Contributeurs Entité Rédacteurs Contributeurs Imededdine HOSNI Olivier MARTY. Validation du document Nom Date Visa

Modules Prestashop - ExportCatalogue / EXPORT IMPORT POUR MODIFICATIONS EN MASSE DANS PRESTASHOP VERSION Optim'Informatique

Pentaho. présentation

Application Web et J2EE

La base de données XML exist. A. Belaïd

BIRT (Business Intelligence and Reporting Tools)

1. Installation du Module

Alfstore workflow framework Spécification technique

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Compte Rendu d intégration d application

HYPERPLANNING EST UN LOGICIEL INDEX EDUCATION

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Déployer les Fonts, Icones, et Images avec Forms Services 11G

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Base de Connaissances SiteAudit. Utiliser les Rapports Planifiés. Sommaire des Fonctionnalités. Les Nouveautés

CONFIGURATION DE LA LIBRAIRIE WEBUTIL (10g) Oracle Forms 10g

A. Architecture du serveur Tomcat 6

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

Tutoriel d installation de Hibernate avec Eclipse

Méthode de préparation du fichier texte d import depuis Excel, via Access jusqu à Drupal.

1. Installation d'un serveur d'application JBoss:

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Langage W4. Note technique W4 Engine

bbc Launch Pad Juillet 2011 Version 10.0

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

Applications et Services WEB: Architecture REST

HTML. Notions générales

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Application web de gestion de comptes en banques

[ Associations & Entreprises mandataires ] Guide Pratique.

4. SERVICES WEB REST 46

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel

Une fois votre tableau excel complet, cliquer sur fichier enregistrer sous type de fichier (menu déroulant) csv (séparateur : point virgule).

PROCEDURE D'APPEL DU WEBSERVICE PERMETTANT DE CONTROLER LES FICHIERS XML-SANDRE Version 4

Auguria_PCM Product & Combination Manager

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

TP WEBSERVICES. 1 Pré-requis. 1.1 L environnement de développement. 1.2 Les librairies nécessaires 1.3 SOAPUI

FAQ Import Version 1.2

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

TP architecture N-tiers en Java EE ou Java EE, Android : la synthèse. Le serveur GereCompteBancaireServlet

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

CAPTURE DES PROFESSIONNELS

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

Guide Utilisateur ACQUIT : Anomalies issues du Guichet XML

Serveur d'archivage 2007 Installation et utilisation de la BD exist

Document Object Model (DOM)

Plateforme PAYZEN. Définition de Web-services

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Le stockage local de données en HTML5

Devenez un véritable développeur web en 3 mois!

Créer vos données sources avec OpenOffice, adieu Excel

TP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat windowsx64.zip.

1. Introduction / Identification

Programmation Web. Madalina Croitoru IUT Montpellier

WEBSEMINAIRE INTRODUCTION AU REFERENCEMENT

Générer du code à partir d une description de haut niveau

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Guide de démarrage Tradedoubler. Manuel éditeur / affilié

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

Module http MMS AllMySMS.com Manuel d intégration

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Séance 1 Introduction aux bases de données

S y m M a i l i n g. S o l u t i o n d e - m a i l i n g. SymMailing est un outil professionnel de création et de gestion de campagnes d ing.

Importer un fichier CSV

Jimmy Clairbois. Projets réalisés dans le cadre professionnel

Programmation Internet Cours 4

Installer et configurer Oracle Forms 11gR2 Windows 7 64 bits

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Export et import des RIB et IBAN avec les progiciels LD

JOnAS Day 5.1. Outils de développements

K?ellaWeb Saisie des absences, retards et sanctions APLON en mode Web

Annuaire Interne des Personnels v 1.0 Manuel Administration

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

SOLUTION D ENVOI DE SMS POUR PROFESSIONNELS

Groupe Eyrolles, 2005, ISBN :

TP2_1 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

TP2 : Client d une BDD SqlServer

Sun Java System Access Manager Notes de version pour Microsoft Windows

Formation Administrateur de Données Localisées (Prodige V3.2) Recherche et consultation des métadonnées

Import d un fichier de contacts dans une campagne

HTTP Commander. Table des matières. 1-Présentation de HTTP Commander

Master d Informatique Corrigé du partiel novembre 2010

Server-side XML. PAS FINI... mais ok pour un début. Originaux. Auteurs et version. Prérequis: Java de base, servlets, GUI et XML

Java DataBaseConnectivity

Transcription:

Web & XML ENSEIRB Programmation Web / XML Evaluation 1/2 Version 1.00 du 19 décembre 2012 Etat : Travail SOPRA GROUP Page 1/9

Historique : Version Date Origine de la mise à jour Rédigée par Validée par 1.0 19/12/2012 Création Mathieu Lombard Page 2/9

Préambule : Cette évaluation peut s assimiler à un TD «classique» qui est cependant noté. Son déroulement est similaire aux précédentes TDs (travail en binôme, exercices à réaliser en étendant la WebApplication déjà construite) et aucune nouveauté technique ne sera demandée. Le périmètre de cette évaluation est de décliner les TDs précédents dans de nouveaux contextes. Des tests automatiques seront exécutés pour vérifier le bon comportement de l application Web : Sur les TDs réalisés jusqu ici Sur les exercices demandés dans le cadre de cette évaluation Page 3/9

Sommaire : 1. INTRODUCTION 5 1.1. L application de test 5 1.2. L envoi des résultats 5 2. TESTS SUR LES TDS PRÉCÉDENTS 6 3. NOUVELLES FONCTIONNALITÉS 7 3.1. Création d utilisateur en POST Erreur! Signet non défini. 3.2. Création d une tâche en POST 7 3.3. Validation des données envoyés via POST Erreur! Signet non défini. Page 4/9

1. INTRODUCTION 1.1. Une classe utilitaire 1.2. L application de test Pour faciliter la réponse à la question 3.3, la classe StringFormatUtil est fournie. Elle doit être copiée dans le package Java : fr.enseirb.webxml.util. Une application (fournie sur la page : http://uuu.enseirbmatmeca.fr/~slombardy/ens/if205) permettra de tester automatiquement la réalisation des élèves. Hypothèses de l application de test : Les URLs auxquelles réagit cette WebApp sont strictement identiques à ce qui était demandé dans les précédents TDs ainsi que dans la présente évaluation Pour utiliser l application de test, il faut tout d abord la décompresser puis lancer, à la racine, la commande suivante : java -jar EnseirbWebXMLEval1.jar <webappname> <serverport> <resultdirpath> <webappname> correspond au nom de la WebApp, à priori «EnseirbWebXMLWebapp» <serverport> correspond au port du serveur, par exemple «8080» <resultdirpath> correspond à un chemin vers un répertoire dans lequel un fichier résultat sera écrit Il est à noter que l URL utilisée pour accéder au serveur sera «localhost». Par ailleurs, les noms des élèves d un binôme sont récupérés automatiquement via l URL /about, il faut donc bien s assurer que celle-ci est opérationnelle (sinon, le fichier de résultat ne permettra pas d identifier les élèves et cela sera considéré comme une absence de fichier). 1.3. L envoi des résultats Une fois les exercices terminés, le fichier final comportant les derniers résultats devra suivre 2 étapes : Être zippé Puis être envoyé à l adresse suivante : mathieu.lombard@sopragroup.com Si aucun fichier n est reçu pour un binôme donné à l issue du temps de l évaluation, la note sera alors de 0. Page 5/9

2. TESTS SUR LES TDS PRÉCÉDENTS Une série de tests automatiques permet de vérifier la bonne implémentation des 5 TDs précédents. Notamment, les éléments suivants vont être vérifiés : Toutes les dates manipulées respectent le format jj/mm/aaaa (que ce soit en entrée de la WebApp ou en sortie) Accès aux données «brutes» (cas des url commençant par /about) Cela s effectuera via l URL /about avec la gestion des paramètres d URL comme indiqué dans le tableau du 1.2.2 du support de TD Note : les données ne doivent pas être formatées et doivent uniquement renvoyer l élément demandé sans ajout de texte (par exemple, pour accéder au nombre d élèves, il faut uniquement renvoyer un chiffre et non une phrase du type «2 élèves») Accès aux données XML Toutes les tâches au format XML seront accessibles via l URL /task/list/xml Une tâche dont l id est <taskid> le sera via l URL /task/list/xml?id=<taskid> Tous les utilisateurs le seront via l URL /user/list/xml Les statistiques le seront via l URL /stats/xml (sachant que une tâche est estimée en retard si sa «deadline» est strictement inférieure à la date du jour ; en d autres termes si deadline => date du jour, alors on la considère comme «intime») Envoie de données au serveur L affectation du professeur se fera via l URL /about/teacher/post et des données postées (pas en paramètre d URL et pas non plus sous la forme d un flux XML, uniquement le nom envoyé directement sans aucun autre formatage) ; cf. 1.3.2 du support de TD. La création d un utilisateur s effectuera via l URL /user/create/url avec des paramètres ; cf. 2.4 du support de TD L ajout ou la modification d une tâche s effectuera via l URL /task/create/url avec des paramètres ; cf. 2.5 du support de TD Note importante : quand l id est passé en paramètre, le comportement doit être celui d une modification d une tâche déjà existante et dont l id est celui passé en paramètre Quand l id n est pas passé, le comportement doit être celui de la création d une nouvelle tâche Page 6/9

3. NOUVELLES FONCTIONNALITÉS L objectif des fonctionnalités ci-dessous est d ajouter des nouveaux services au serveur sur la manipulation des affectations tâches / responsables (task / owner). Le format du flux XML qui sera utilisé est le suivant : <ownership taskid="1" username="newowner"/> 3.1. Changement d affectation d une tâche via POST Il s agit de pouvoir modifier le champ «owner» d une «task» en interprétant le flux XML ci-dessus et en répondant aux URLs suivantes : /task/user/ownership/post /user/task/ownership/post Il faut alors : Créer une Servlet OwnershipServlet et la référencer dans le fichier web.xml selon les URLs ci-dessus La faire réagir sur les 2 URLs pour qu elle parse le flux (s inspirer de la méthode addormodifytask de XMLMediator pour savoir transformer une chaîne XML en Element DOM permettant la récupération des attributs) et récupère les valeurs suivantes id de la tâche (taskid) nom du responsable (username) Utiliser la méthode gettask(id) pour récupérer le flux XML de la tâche dont l id est indiqué dans le flux POST ; et transformer cette chaîne en Element Modifier la valeur du fils «owner» de cette tâche en fonction du «username» indiqué dans le flux XML Utiliser la méthode addormodifytask(element) pour mettre à jour la tâche ainsi modifiée 3.2. Validation du flux «ownership» via XSD Il s agit ici de valider les données utilisées par le POST précédent en offrant un service sur les URLs suivantes : /task/user/ownership/post/isvalid /user/task/ownership/post/isvalid Il faut alors : Compléter le web.xml et la servlet OwnershipServlet pour réagir à ces 2 URLs Créer un schéma XSD qui validera que taskid et username sont 2 attributs obligatoires taskid doit être un entier username doit être une chaîne de caractères Formater puis renvoyer le résultats de la validation via la méthode XMLToolkit.createPostResult(message, success) message est une chaîne de caractères indiquant un message libre success est le booléen renvoyé par XMLToolkit.isXMLValid Page 7/9

3.3. Récupération de données via XPath Il s agit ici de permettre au client de récupérer les données suivantes : La liste des id des tâches pour un owner donné via une URL du type /user/ownership?username=<owner> Le owner affecté à un id de tâche donnée via une URL du type /task/ownership?taskid=<id> Il faut alors : Compléter le web.xml et la servlet OwnershipServlet pour réagir à ces 2 URLs Pour que le résultat soit bien interprété en texte, la Servlet devra contenir le code suivant pour ces 2 URLs : response.setheader("content-type", "text/plain"); Utiliser des requêtes XPath en se basant sur Le flux des tâches, récupéré via XMLMediator.getTasks() Les paramètres passés dans l URL Renvoyer la chaîne de caractères issue de la méthode sortandformat de StringFormatUtil qui prend en paramètre la liste de String renvoyée par XMLToolkit.getXPathValues 3.4. Formatage des données en CSV Il s agit ici d offrir au client la possibilité d obtenir des données formatées en CSV (avec le caractère «;» pour séparer les données). La méthode utilisée sera de passer par une transformation XSL qui, à partir d un flux XML, renverra du «texte» au format CSV. Afin que le moteur XSL n insère pas de balise XML dans le flux résultat, la feuille XSL devra contenir l instruction suivante après la balise xsl:stylesheet : <xsl:output method="text" omit-xml-declaration="yes"/> De même, la Servlet (qui traite la demande du client) devra indiquer au client (le navigateur) que le flux de données correspond à du texte ; cela s effectue via l instruction suivante : response.setheader("content-type", "text/plain"); <xsl:text> </xsl:text> Afin de pouvoir créer un retour à la ligne (nécessaire en fin de chaque ligne), l instruction suivante pourra être utilisée : Pour information, les espaces et les tabulations sont ignorés lors des comparaisons avec le résultat attendu lors du passage des tests automatiques. Page 8/9

taskid;owner id1;owner1 id2;owner2 Pour cet exercice, il faut alors : Compléter le fichier web.xml et la servlet OwnershipServlet pour réagir à l URL /task/ownership/csv et renvoyer le flux CSV en se basant sur une transformation XSL Créer un nouveau fichier XSL qui, à partir du flux des tâches (obtenu via la méthode gettasks() de XMLMediator) formate les données comme suit : Où la 1 ère ligne correspond aux intitulés des colonnes (texte en dur) Où chaque ligne indique les informations suivantes (dans l ordre et en séparant chaque donnée d un point virgule) relatives à une tâche Son id Son owner La liste doit être triée selon les ids des tâches Page 9/9