Approche Contract First



Documents pareils
Introduction à Eclipse

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

TP Blender n 2 : Importation d un modèle SketchUp et animation

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

TD/TP 1 Introduction au SDK d Android

BIRT (Business Intelligence and Reporting Tools)

Créer et partager des fichiers

TP1 : Initiation à Java et Eclipse

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

4. SERVICES WEB REST 46

Création et Gestion des tables

Samsung Auto Backup Guide de démarrage rapide

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

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

< Atelier 1 /> Démarrer une application web

Economies d énergie par GPO

Ecran principal à l ouverture du logiciel

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

Eclipse atelier Java

EXA1415 : Annotations

Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat)

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

ECLIPSE ET PDT (Php development tools)

Le langage C. Séance n 4

Groupe Eyrolles, 2003, ISBN : X

Velo-city Nantes France Mode d emploi pour soumettre votre contribution en ligne. Guide des contributeurs

Construire des plug-ins pour SAS Management Console SAS 9.1

Création d un service web avec NetBeans 5.5 et SJAS 9

vcenter Server 1. Interface Lancez le vsphere Client et connectez vous à vcenter Server. Voici la page d accueil de vcenter Server.

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

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

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

WebSpy Analyzer Giga 2.1 Guide de démarrage

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

INTRODUCTION AU CMS MODX

Modélisation et Gestion des bases de données avec mysql workbench

Publication sur serveur distant

2. Cliquez Contact Directory of Public Administration. 5. Tapez le mot de passe - Hello (pour OFPA). Changez le mot de passe en cas de

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Programmation Web Avancée Introduction aux services Web

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Guide pour les chercheurs. Version 1.0

Atelier Le gestionnaire de fichier

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Installation et utilisation de Cobian Backup 8

Développement d une application Android pour l Association des Paralysés de France

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Tutoriel d installation de Hibernate avec Eclipse

Installation et prise en main

Édu-groupe - Version 4.3

TP1. Outils Java Eléments de correction

ACTIVITÉ DE PROGRAMMATION

Introduction aux concepts d ez Publish

Configuration de Outlook Express 6 pour utilisation avec belgacom.net

Manuel de l utilisateur

SPECIFICATIONS TECHNIQUES : Gestion des Médicaments et des commandes de médicaments

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

Installation et compilation de gnurbs sous Windows

Présentation Alfresco

Connexion à SQL server

Bases Java - Eclipse / Netbeans

Introduction à la présentation graphique avec xmgrace

D E S C R I P T I O N D E S É L É M E N T S C L E F S D ' U I M A

Didacticiel Études de cas. Description succincte de Pentaho Data Integration Community Edition (Kettle).

Plateforme PAYZEN. Définition de Web-services

Etude de cas : PGE JEE V2

VAMT 2.0. Activation de Windows 7 en collège

Module BD et sites WEB

OCLOUD BACKUP GUIDE DE REFERENCE POUR ANDROID

Introduction aux «Services Web»

Utilisation d objets : String et ArrayList

Alfstore workflow framework Spécification technique

Mise en place d un cluster. De basculement. Et DHCP Failover. Installation. Préparation. Vérification

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

2) Téléchargement de l'application pour contrôler vos caméras :

Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

Manuel du logiciel PrestaTest.

Import d'écritures d'isagri vers COMPTABILITEEXPERT. I - Créer le dossier dans ComptabilitéExpert. II - Import comptabilité générale exercice N-1

Découverte des applications de la suite

Module d anonymisation

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

2X ThinClientServer Guide d utilisation

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : et un masque

données en connaissance et en actions?

Procédure d installation Smart Map 3

MISE AU POINT FINANCIÈRE GUIDE DE L UTILISATEUR. Le logiciel MISE AU POINT FINANCIÈRE est offert sous licence par EquiSoft.

Module «Pilotage de Projet» - Module GPRO-0

Séance 0 : Linux + Octave : le compromis idéal

Installation de GFI MailEssentials

1 Démarrage de Marionnet

Vérifier la qualité de vos applications logicielle de manière continue

Modification d une feuille de style

Taxe Produit Assurance (TPA) au Québec

Transcription:

Exemple HelpDesk

Approche Contract First Développement d un premier web service en utilisant l approche contract first (ou WSDL First) Écriture du wsdl avant d écrire le code java Autre possibilité implementation first Ecriture du code java avant la mise au point du wsdl

Exemple : helpdesk Simulation d un helpdesk par un service Web : Recherche d une question à partir de son id Créer une question : retourne un id de question (objet complexe en entrée, un format date, une énumération, un enter compris entre 0 et 4 pour qualifier l urgence) Récupérer une liste de questions avec une énumération en entrée (liste d objet en sortie et énumération)

Définition du WSDL 3 étapes : Définition des types de données Définition des messages entrant et sortant Définition des opérations Types de données : Simple : La données n est composée que d une valeur (entier, chaine, énumération, date ) Possible de définir des contraintes (mini, maxi, taille ) Complexe : La donnée est composée d plusieurs valeurs Un élément Java composé de plusieurs valeurs est un élément de type complexe Définition via XML Schéma

Définition du WSDL Eléments simples : Numéro de question : chaîne de caractères de 9 chiffres Urgence : Entier compris entre 0 et 4 Elément complexe : La question : Numéro Date de soumission Choix du produit (énumération dynamique) Type de question (énumération finie) Valeurs : dysfonctionnement en production, dysfonctionnement développement, question, configuration, bug) Urgence : entier Description longue intitulé

Création du projet Eclipse : WebContractHelpdesk Créer le projet Sélectionner menu new/project

Créer un répertoire META-INF WebContractHelpdesk META-INF

WebContractHelpdesk fichier wsdl Créer le fichier WebContractHelpdesk.wsdl A partir du répertoire META-INF Sélectionner new/other, puis web services/wsdl

WebContractHelpdesk fichier wsdl Target namespace (la machine) WebContractHelpdesk.wsdl

WebContractHelpdesk fichier wsdl Design : Source :

Schéma wsdl Sélectionner le wsdl, dans la partie outline déployer le nœud types Click droit sur le wsdl, sélection de open schema

Schéma wsdl Schéma du wsdl (éditeur des types et éléments) Un élément est le message entrant ou sortant qui est utilisé par une opération Un type est la définition d un type simple ou complexe qui sera partagé par plusieurs messages ou types.

Schéma wsdl Création d un type simple Click droit sur le titre types du schéma

Schéma wsdl Création d un type simple Créer le type simple QuestionID : Type string contraintes : minimum length : 9, maximum length : 9 Contraintes spécifiques

Schéma wsdl Contrainte spécifique 1. Sélectionner le type de contrainte spécifique 2. Ajouter 3. Sélectionner le contenu 4. Spécifier les occurences 5. Générer l expression

Schéma wsdl Contrainte spécifique Créer le type simple Urgency (type entier / int) Valeurs comprises entre 0 et 4 (inclues)

Schéma wsdl Création d un type complexe Click droit sur le titre types du schéma, sélectionner Add Complex Type Créer le type complexe Question Après la création doubleclick sur Question

Schéma wsdl Création d un type complexe Création d une propriété à partir d un type existant

Schéma wsdl Création d un type complexe Création d une propriété à partir d un type existant Sélectionner Browse pour aller chercher le type existant Sélectionner le type concerné (QuestionID)

Schéma wsdl Création d un type complexe Création d une propriété de type Date (SubmitDate)

Schéma wsdl Création d un type complexe Création d une propriété de type String, composée de 2 caractères (Product)

Schéma wsdl Création d un type complexe Création d une propriété utilisant une énumération (Type), type String Contrainte spécifique pour l énumération

Schéma wsdl Création d un type complexe Création d une propriété de type entier compris entre 0 et 4 (Priority de type Urgency)

Schéma wsdl Création d un type complexe Création d une propriété de type String (Description)

Schéma wsdl Création d un type complexe Création d une propriété de type String (Title), de longueur maximale de 250 caractères

Schéma wsdl Création d un type complexe Schéma définitif :

Schéma wsdl Création des opérations L opération est composée d une entrée et d une sortie. C est dans cette partie que l on définit les messages : on commence par créer l opération. Le wizard crée alors automatiquement les deux messages (entrant et sortant). Il suffit ensuite de les définir. Cet approche correspond à ce qui s appelle le Wrapped Document Literal : Le message SOAP contient les paramètres utiles du message (c est le sens du Document Literal). Les paramètres sont encapsulés dans un paramètre complexe qui porte le nom de l opération (c est le sens du wrapped). Le document literal wrapped est à ce jour (mai 2007) le mécanisme qui est considéré comme le plus portable (il s agit du mécanisme préféré de.net et d Axis2).

Schéma wsdl Création des opérations Le wizard Eclipse permet donc de créer automatiquement lors de la création d une opération les deux paramètres encapsulant le message entrant et le message sortant. Il suffit ensuite de définir chacun des messages. Nous allons créer les opérations suivantes : recherche d une question à partir de son ID créer une question : retourne un ID de question

Schéma wsdl Création des opérations Fermer l onglet Inline Schema en enregistrant les modifications Sélectionner l onglet WebContractHelpdesk.wsdl Renommer Newoperation en NewQuestion Automatiquement les Input et output passe à NewQuestion et NewQuestionResponse

Schéma wsdl Création de l opération NewQuestion Sélectionner la flèche NewQuestion

Schéma wsdl Création de l opération NewQuestion On voit un objet NewQuestion et un objet NewQuestionType. 1. Renommer newquestiontypes, in => on renomme en Question 2. Sélection du type de l entrée : type Question 3. Sauvegarder et fermer l onglet «Inline Schema of WebContractHelpdesk.wsdl»

Schéma wsdl Création de l opération NewQuestionReponse Sélectionner la flèche NewQuestionReponse

Schéma wsdl Création de l opération NewQuestionReponse On voit un objet NewQuestionReponse et un objet NewQuestionReponseType. 1. Renommer newquestionreponsetype, out => on renomme en id 2. Sélection du type de l entrée : type QuestionID 3. Sauvegarder et fermer l onglet «Inline Schema of WebContractHelpdesk.wsdl»

Schéma wsdl Création de l opération getquestionwithid Création d une nouvelle opération : récupération d une question en fonction de son id 1. Sélectionner Add Operation 2. Renommer l opération en getquestionwithid

Schéma wsdl Création de l opération getquestionwithid Sélectionner la flèche getquestionwithid

Schéma wsdl Création de l opération getquestionwithld 1. Renommer getquestionwithidtype, in => on renomme en id 2. Sélection du type de l entrée : type QuestionID 3. Sauvegarder et fermer l onglet «Inline Schema of WebContractHelpdesk.wsdl»

Schéma wsdl Création de l opération getquestionwithld Sélectionner la flèche getquestionwithidresponse

Schéma wsdl Création de l opération getquestionwithld 1. Renommer getquestionwithidresponsetype, out => on renomme en question 2. Sélection du type de la sortie : type Question 3. Sauvegarder et fermer l onglet «Inline Schema of WebContractHelpdesk.wsdl»

Schéma final du wsdl : Schéma wsdl

Génération du binding Le binding est la définition pour une opération des protocoles qui sont disponibles pour l appeler. Suite à l ajout d une opération ou à la modification de son nom, il faut mettre à jour les bindings disponibles. 1. Sélectionner Binding 2. Generate Binding Contents

Génération du binding Laissez ces options par défaut : document literal. Cliquez sur Finish

Schéma wsdl Vérifier et éventuellement modifier l adresse du WebContractHelpDesk Enregistrer le wsdl

Schéma wsdl - Conclusion Création d un wsdl à la norme 1.1 Avec binding SOAP 1.1 Wsdl complet, il prend en compte : Un type complexe : la question Il définit des contrôles de saisie sur des types simples Les restrictions et l ensemble du wsdl est complètement indépendant d un quelconque langage